Changes between Version 10 and Version 11 of Hardware/jCM/cCM2/bDev
- Timestamp:
- Jun 12, 2011, 8:24:36 AM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Hardware/jCM/cCM2/bDev
v10 v11 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: