git clone http://git.code.sf.net/p/nuttx/git nuttx

cd tools/

./configure.sh 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

 

Advertisements

crosstool-ng

./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 :
http://www.minimyth.org/forum/viewtopic.php?t=2594&f=5
http://linuxpmi.org/trac/wiki/Testing

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 : http://embeddedprogrammer.blogspot.fr/2012/08/f4dev-open-source-development-board-for.html and here : https://github.com/JorgeAparicio/F4Dev

lead us here : https://code.launchpad.net/~kicad-lib-committers/kicad/library, 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

http://comments.gmane.org/gmane.comp.lib.uclibc.buildroot/42970

http://tr.opensuse.org/MicroSUSE_System_Builder’s_Guide

Configuration (board_name) for U-Boot is : versatileqemu

as described here : http://comments.gmane.org/gmane.comp.boot-loaders.u-boot/101980. (For info, QEMU places the beginning of the U-Boot binary at 0x10000 : http://balau82.wordpress.com/2010/03/10/u-boot-for-arm-on-qemu/)

Running a QEMU Linux guest

 

(http://sourceforge.net/apps/mediawiki/tipc/index.php?title=QEMU_Quick_Start_Guide)

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