Other Parts Discussed in Thread: TMS320F28335
I have a system running SYS/BIOS on the TMS320F28335. I made a bootloader for this which resides in Sector A while the main code is allocated to sectors B to H. All seems to work fine until I start a sequence that triggers a series of interrupt. When I do this the watchdog is triggered and the system resets. This does not happen when I run without the bootloader.
My process for loading the code is as follows:
1) Compile software to get .out file
2) Use the Hex2000 utility to convert the file to hex
3) Use custom utility to convert the hex file to a mirror image of the flash, stripping out what is not in sectors B to H. In this case this is just the reset vector which is already set to run the bootloader. The bootloader will run the _C_INT00 when it want to start the main code.
4) Bootloader loads the code into some external RAM and then erases sectors B to H and copy the data to the program flash (using the TI API function).
My first though was that the interrupt vectors where not be copied correctly, but I checked them with and without the bootloader and they are all the same. Plus I think have a bad vector table would cause major issue with SYS/BIOS running.
Kind of stumped at this point, what have I missed?