Reprogramming CHR-6d IMU

Discussions about custom firmware development for the CHR-6d.

Reprogramming CHR-6d IMU

Postby voiceafx » Thu Dec 17, 2009 3:58 pm

The ARM Cortex processor on the CHR-6d has a built-in serial bootloader that makes it relatively straightforward to reprogram the device. The steps below should help you get started.

1. Download the Flash Loader Demonstrator from ST:
http://www.st.com/mcu/familiesdocs-110.html

There is a lot of content on the above page, so you might want to search for "Flash Loader" to find the software quickly.

2. Make sure that your computer has a free serial (RS232) port

3. Connect the TX and RX lines of the CHR-6d to a level shifter of some sort.
The CHR-6d communicates at TTL (3.3V) logic level. If you attach the RS-232 lines from your computer directly to the CHR-6d, you will ruin the IMU. Make sure you feed the TX and RX lines through a level shifter before you connect them to your computer. If you have the CHR-6d development kit, this is already done for you. If you don't, then you can get a good level shifter from Sparkfun:
http://www.sparkfun.com/commerce/product_info.php?products_id=449

4. Pull the "boot0" pin on the IMU high, and then cycle the power
When the "boot0" pin is pulled high (3.3V) on startup, the serial bootloader on the ARM Cortex processor is activated. The device is ready to be programmed.

5. Open the Flash Loader Demonstrator and reprogram the device
With the IMU connected to your computer, and with the serial bootloader activated, you are ready to program the device. Open the Flash Loader Demonstrator and follow the given steps to reprogram the device.
voiceafx
Site Admin
 
Posts: 63
Joined: Sun Nov 08, 2009 10:11 am

Re: Reprogramming CHR-6d IMU

Postby lucasw » Tue Aug 17, 2010 2:38 pm

The pgrm.bin file from CHR6d.zip didn't work right, it prints out some characters diagonally across my terminal but not the standard 'snp' packets.

CHR6d.hex from the zip file works fine, and I was able to create a .bin file from it using objcopy ( arm-none-eabi-objcopy -I ihex -O binary CHR6d.hex CHR6d.bin ) that I could program from Linux using stm32loader.py ( http://www.micromouseonline.com/blog/20 ... bootloader ), and it prints out correctly formatted packets.
lucasw
 
Posts: 1
Joined: Tue Aug 17, 2010 2:00 pm


Return to Custom Firmware Development

Who is online

Users browsing this forum: No registered users and 1 guest

cron