Changes between Version 12 and Version 13 of Hardware/jCM/cCM2/bDev
- Timestamp:
- Dec 19, 2011, 7:18:00 PM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Hardware/jCM/cCM2/bDev
v12 v13 1 == Development Environment==1 === Development Environment === 2 2 3 3 SB3 is used for CM2 firware code development. In addition to all the necessary software, SB3 console has USB based JTAG programmer attached. 4 4 [[Image(SB3.jpg)]] 5 5 6 === Prerequisites===6 ==== Prerequisites ==== 7 7 8 8 Prerequisites include SUN JDK but only if you want to use Eclipse for development. … … 12 12 }}} 13 13 14 === Firmware Programming===14 ==== Firmware Programming ==== 15 15 16 16 CM2 build configuration is done by overriding variables from the first few hundred lines of the Makefile on the {{{make}}} command line. 17 17 18 ==== JTAG Programmer Hardware====18 ===== JTAG Programmer Hardware ===== 19 19 20 20 We are using Olimex [http://www.olimex.com/dev/arm-usb-ocd.html ARM-USB-OCD] USB based JTAG debugger that is attached to the JTAG port on the CM2 board (JXX). … … 22 22 [[Image(JTAG.jpg)]] 23 23 24 ==== JTAG Programmer Software====24 ===== JTAG Programmer Software ===== 25 25 26 26 Software used for debugging and internal flash programming is [http://openfacts.berlios.de/index-en.phtml?title=Open_On-Chip_Debugger OpenOCD] (standard Debian package - {{{ apt-get isntall openocd }}} ). … … 42 42 }}} 43 43 44 === Cross-compiler===44 ==== Cross-compiler ==== 45 45 46 46 Software development environment is based on the latest version of gcc, binutils, and newlib. There are two tricks to compiling these tools: one is to use separate build directories, the other is to bootstrap a C compiler against the newlib headers, compile newlib with that compiler, then compile another C compiler with newlib installed. Interwork and Multilib support are necessary. … … 70 70 This build procedure is what makes people balk at building vanilla arm-elf debian packages. Not that it's a lot of commands, but that there's a chicken and egg problem with newlib. 71 71 72 === Debugger===72 ==== Debugger ==== 73 73 74 74 Use [source:CM2/trunk/gdbinit-rom gdb initialization file] to properly interact with the JTAG debugger: