Embedded software (firmware) for the laser system and components, including configuration files
C++ C Makefile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
config
iotest_board
laser
mbed @ d1b1a93
.gitignore
.gitmodules
CHANGELOG
README.md
iotest-2015-09-16.bin
laoslaser-2012-08-12.bin
laoslaser-2012-09-09.bin
laoslaser-2012-09-14.bin
laoslaser-2012-12-05.bin
laoslaser-2012-12-08.bin
laoslaser-2012-12-29.bin
laoslaser-2013-06-02.bin
laoslaser-2014-01-03.bin
laoslaser-2014-05-14.bin
laoslaser-2014-05-22.bin
laoslaser-2014-08-12.bin
laoslaser-2014-10-26.bin
laoslaser-2014-11-14.bin
laoslaser-2015-02-23.bin
laoslaser-2015-03-18.bin
laoslaser_LPC1768.bin

README.md

Embedded software (firmware) for the laser system and components, including configuration files.

Build setup, using MBED library sources

(No GCC4MBED required)

Get your compiler

Download from: https://launchpad.net/gcc-arm-embedded (or use the one that comes with your distribution: apt-get install gcc-arm-none-eabi ). On Ubuntu 14.04 64 bit, you need to install libc6:i386.

Download LaosLaser source:

git clone --recursive https://github.com/LaosLaser/Firmware.git

Patch mbed libraries:

cd Firmware/mbed/
patch -p1 < ../laser/mbed.patch

Set your GCC path

Set the path to the gcc compiler in a workspace_tools/private_settings.py file. Make sure you end with the bin folder. For example using:

echo 'GCC_ARM_PATH = "home/usr/gcc-arm-none-eabi-4_8-2014q1/bin/"' > workspace_tools/private_settings.py

Build MBED libraries:

python workspace_tools/build.py -m LPC1768 -t GCC_ARM -r -e -u -c

You might need to install the python-colorama package for this to work.

Link LaOSlaser as an mbed example project

cd libraries/tests/net/protocols/
ln -s  ../../../../../laser .
cd ../../../..

Build LaosLaser:

python workspace_tools/make.py -m LPC1768 -t GCC_ARM -n laser

Link IOtest as an mbed exmaple project

cd libraries/tests/net/protocols/
ln -s ../../../../../iotest_board/ iotest
cd ../../../..

Build IOtest:

python workspace_tools/make.py -m LPC1768 -t GCC_ARM -n iotest

Attach debugger for step-by-step debugging

arm-none-eabi-gdb build/test/LPC1768/GCC_ARM/laser/laser.elf --eval-command \
    'target remote | openocd -c "gdb_port pipe" --file /usr/share/openocd/scripts/interface/cmsis-dap.cfg --file /usr/share/openocd/scripts/target/lpc1768.cfg -cinit -chalt'

This starts gdb and lets gdb start openocd to connect to the board. It seems you can only attach after startup. Normally, you can also use -c 'reset halt' to reset the board and start debugging from the start, but since the startup procedure uses "semihost" calls to read config.txt from the flash, this generates dozens of SIGTRAP interrupts, making debugging effectively useless.

Read http://mbed.org/handbook/mbed-tools for more info