Version 3 (modified by 16 years ago) ( diff ) | ,
---|
Development Environment
SB3 is used for CM2 firware code development. In addition to all the necessary software, SB3 console has USB based JTAG programmer attached.
Firmware Programming
JTAG Programmer Hardware
We are using Olimex ARM-USB-OCD USB based JTAG debugger that is attached to the JTAG port on the CM2 board (JXX).
JTAG Programmer Software
Software used for debugging and internal flash programming is OpenOCD (standard Debian package - apt-get isntall openocd
).
The file openocd.cfg, included in the source repository, has an appropriate configuration for programming the CM2 hardware, although you can experiment with different scripts to automate erasing the flash, verifying the image, and so forth.
The daemon is started with:
openocd -f openocd.cfg
It is listening for gdb connections on default port 3333.
Cross-compiler
Software development environment is based on GNU Toolchain for ARM Processor. Downloaded tarball is installed in /usr/{bin,lib,libexec,arm-none-linux-gnueabi}. The toolcahin was compiled with the arm-none-linux-gnueabi prefix so that (for example) compiler can be invoked with:
arm-none-linux-gnueabi-gcc program.c -o program
You can also get the latest version of gcc, binutils, and newlib, and compile these as configure --target=arm-elf
. Both the Makefile and the loader know (at least in theory) how to deal with ELF format CM2 images. In this case tools are prefixed with "arm-elf", so for example an appropriate value for CC
in the Makefile
would be CC=/usr/local/arm-elf-gcc
Debugger
Use gdb initialization file to set it up to work with JTAG debugger; then, once you start the gdb session issu
load main.elf