git clone nuttx

cd tools/

./ stm32f4discovery/usbnsh

Add FPU in SystemType -> FPU_SUPPORT

make CROSSDEV=arm-bare_newlib_cortex_m4-eabi- ARCROSSDEV=arm-bare_newlib_cortex_m4-eabi- -j 4




./ct-ng help
./ct-ng list-samples
./ct-ng show-arm-unknown-linux-gnueabi
./ct-ng menuconfig
./ct-ng build

qemu Buildroot RAMDISK: Image too big!

`ramdisk_size` kernel argument has to be augmented.

Resolution :
drasko@Mali:~/buildroot/output/images$ qemu-system-arm -M versatilepb -m 128M -kernel zImage -initrd rootfs.ext2 -append “ramdisk_size=128000”

References :

Crosstool-NG creates toolchain with “unknown” vendor touple

Removing the word in `ct-ng menuconfig` does not help. It is because the _real_ tuple is a four-part tuple,
so if you give an empty vendor-string, ct-ng will insert ‘unknown’ to ensure the tuple is complete.

To obtain `arm-linux-gnueabi-` toolcahin touple style, use “Tuple’s sed transform”  or “Tuple’s alias” option in menuconfig.
The first is a sed expression that will transform the tuple, so you could enter something like:  `s/-unknown//`, while the second is a hardcoded value (not recommend for use).

Adding KiCAD Library

Info from here : and here :

lead us here :, which gives us instructrion :

bzr branch lp:~kicad-lib-committers/kicad/library

In Schematic, in the top menu open “Preferences -> Library”, and then in the “Component Library Files” press ADD button and add for example “nxp_armmcu.lib”

Now, pressing “a” in the Schematic and writing “lpc” in the search finds a lot of LPC chips.

QEMU for ARM, revisited

Buildroot configuration :

This will chane System -> Port to run getty to ttyAMA0, which is Versatile PB console :  qemu_arm_versatile_defconfig’s_Guide

Configuration (board_name) for U-Boot is : versatileqemu

as described here : (For info, QEMU places the beginning of the U-Boot binary at 0x10000 :

Running a QEMU Linux guest



QEMU provides 2 window buffers when invoked with “-nographic”

  • the QEMU monitor

can use this for various control/debugging operations (see QEMU documentation)

  • the guest’s serial port (typically /dev/ttyS0)

allows you to log in to QEMU guest, and to see console output
NOTE: you won’t be able to log in to your Linux guest unless the guest’s file system has been configured to support this (see below)

Important key sequences to know:

Ctrl-a c
switch between serial port and QEMU monitor window buffers

Ctrl-a x
terminate QEMU
alternate method: enter “quit” in the QEMU monitor window buffer

Ctrl-a s
save disk data back to file (overrides “-snapshot” option)

To enable logins via the guest’s serial port:
ensure the Linux guest’s /etc/inittab file has a line like the following:
T0:23:respawn:/sbin/getty -L ttyS0 38400 vt100
this tells Linux to listen for logins on /dev/ttyS0
there was already a line like this in the filesystem I was using, but it was commented out

To login to a Linux guest
Ubuntu provides default user of “root”, with no password (i.e. just hit enter when prompted)
NOTE: this process can vary, depending on the Linux distribution your guest’s file system has