Compile-without-sercomm » History » Version 8

Version 7 (acassis, 02/19/2016 10:49 PM) → Version 8/12 (acassis, 02/19/2016 10:49 PM)

NuttX compilation was done using CodeSourcery arm-2010.09-51-arm-none-eabi.bin, other toolchain could fail.

Nuttx can be configured differently depending on what we want.
The possible configs are:
* compal_e88/nsh_highram : for the gta02 using the osmocon for the romloader
* compal_e99/nsh_highram : for the c155 using osmocon + loader.compalram.bin as a loader
* compal_e99/nsh_compalram : for the c155 using osmocon to load it

nsh is the nuttx shell(nuttx can also run standalone apps without a shell).

== standalone nuttx ==
if you want a standalone nuttx(without linking to osmocombb for the drivers) do the following:
make clean
make distclean

Remove sercomm directories:
$ rm -rf drivers/sercomm
$ rm -rf include/nuttx/sercomm

Remove sercomm reference at drivers/Makefile:
-include sercomm/Make.defs

Then configure nuttx:
$ cd nuttx/tools
$ ./ compal_e99/nsh_highram

Then apply manually the following pseudo-diff in nuttx/.config :
And then remove the following lines from nuttx/Make.defs:
OSMODIR = $(TOPDIR)/../../osmocom-bb
EXTRA_LIBS = $(OSMODIR)/src/target/firmware/comm/libcomm.a \
$(OSMODIR)/src/shared/libosmocore/build-target/src/.libs/libosmocore.a \
$(OSMODIR)/src/target/firmware/calypso/libcalypso.a \
# ^^^ Stupid hack! Why do I have to put it twice???

Compile NuttX:

$ cd nuttx
$ make

Load nuttx.bin into Motorola C155, because nuttx.bin is bigger than 64k, you should load chainload.compalram.bin together, use this command:
./osmocom-bb/src/host/osmocon/osmocon -p /dev/ttyUSB0 -m c155 /osmocom-bb/src/target/firmware/board/compal_e99/chainload.compalram.bin -c nuttx.bin
And then build as usual.
Add picture from clipboard (Maximum size: 48.8 MB)