I'm developing on a TMS320C5535 using the XDS110 debugger, the C5000 chip support library, and Code Composer version: 8.3.0.00009. I have a program that uses GPT0 in the C5535 to blink an LED every second indefinitely. When I flash this program using the debugger, not issues occur and the LED happily blinks forever.
However, when I burn the boot image of the program onto a 512kb I2C EEPROM and then have the C5535 boot from it, the C5535 hangs. The LED blinks correctly 3 times, and then it goes solid red. The C5535 successfully starts up after reading the boot image from the EEPROM, so I don't think it's I2C communication issue.
I already used the I2C EEPROM programmer to check that the data in the EEPROM memory and the .bin file matches. They do match, so there's no problem there.
Perhaps the way I formatted the boot image is incorrect?
Here are my specs:
**** Build of configuration Debug for project test_blink_LEDs_interrupt **** "C:\\ti\\ccsv8\\utils\\bin\\gmake" -k -j 12 all -O Building file: "../main.c" Invoking: C5500 Compiler "C:/ti/ccsv8/tools/compiler/c5500_4.4.1/bin/cl55" -v5515 --memory_model=large -g --include_path="C:/ti/c55_lp/c55_csl_3.08/inc" --include_path="C:/Users/Inno Algo/Desktop/puck_workspace/test_blink_LEDs_interrupt" --include_path="C:/ti/ccsv8/tools/compiler/c5500_4.4.1/include" --define=c5535 --display_error_number --diag_warning=225 --ptrdiff_size=16 --preproc_with_compile --preproc_dependency="main.d_raw" "../main.c" Finished building: "../main.c" Building target: "test_blink_LEDs_interrupt.out" Invoking: C5500 Linker "C:/ti/ccsv8/tools/compiler/c5500_4.4.1/bin/cl55" -v5515 --memory_model=large -g --define=c5535 --display_error_number --diag_warning=225 --ptrdiff_size=16 -z -m"test_blink_LEDs_interrupt.map" --stack_size=0x200 --heap_size=0x400 -i"C:/ti/ccsv8/tools/compiler/c5500_4.4.1/lib" -i"C:/ti/ccsv8/tools/compiler/c5500_4.4.1/include" -i"C:/Users/Inno Algo/Desktop/puck_workspace/C55XXCSL_LP" --reread_libs --display_error_number --warn_sections --xml_link_info="test_blink_LEDs_interrupt_linkInfo.xml" --rom_model --sys_stacksize=0x200 -o "test_blink_LEDs_interrupt.out" "./main.obj" "../C5535.cmd" -l"C:/ti/c55_lp/c55_csl_3.08/ccs_v6.x_examples/C55XXCSL_LP/Debug/C55XXCSL_LP.lib" -llibc.a <Linking> Finished building target: "test_blink_LEDs_interrupt.out" Building files: "test_blink_LEDs_interrupt.out" Invoking: C5500 Hex Utility "C:/ti/ccsv8/tools/compiler/c5500_4.4.1/bin/hex55" --boot --mcbsp8 --silicon_version=5505 --binary -o "test_blink_LEDs_interrupt.bin" "test_blink_LEDs_interrupt.out" Translating to Binary format... "test_blink_LEDs_interrupt.out" ==> .cinit (BOOT LOAD) "test_blink_LEDs_interrupt.out" ==> vectors (BOOT LOAD) "test_blink_LEDs_interrupt.out" ==> .text (BOOT LOAD) "test_blink_LEDs_interrupt.out" ==> .switch (BOOT LOAD) Finished building: "test_blink_LEDs_interrupt.out" **** Build Finished ****
Here are the .bin, .map., and .cmd files of the program I'm booting from: test_blink_LEDs_interrupt.zip
Any help or guidance would be greatly appreciated!
Best,
Eddie