Changes between Version 13 and Version 14 of Hardware/jCM/cCM2/bDev
- Timestamp:
- Jan 11, 2013, 1:25:19 AM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Hardware/jCM/cCM2/bDev
v13 v14 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 5 [[Image(SB3.jpg)]] 5 6 6 ==== Prerequisites====7 ===== Prerequisites ===== 7 8 8 9 Prerequisites include SUN JDK but only if you want to use Eclipse for development. … … 12 13 }}} 13 14 14 ==== Firmware Programming====15 ===== Firmware Programming ===== 15 16 16 17 CM2 build configuration is done by overriding variables from the first few hundred lines of the Makefile on the {{{make}}} command line. 17 18 18 ===== JTAG Programmer Hardware=====19 ====== JTAG Programmer Hardware ====== 19 20 20 21 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 23 [[Image(JTAG.jpg)]] 23 24 24 ===== JTAG Programmer Software=====25 ====== JTAG Programmer Software ====== 25 26 26 27 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 43 }}} 43 44 44 ==== Cross-compiler====45 ===== Cross-compiler ===== 45 46 46 47 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 71 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 72 72 ==== Debugger====73 ===== Debugger ===== 73 74 74 75 Use [source:CM2/trunk/gdbinit-rom gdb initialization file] to properly interact with the JTAG debugger: