This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

piccolo sciboot second bootloader issue

Other Parts Discussed in Thread: CONTROLSUITE

Hi all,

We are developing a secondary bootloader for the Piccolo device, TMS32F28023.  It is intended to be use as a FLASH programmer

1) the DSP is first entered in SCIBOOT mode by pulling TDO (GPIO37) low

2) Transfer the secondary bootloader to the RAM by using the bootrom in SCI boot mode

3) Transfer the application code & burn into DSP flash, by using the secondary boot loader.

The secondary bootloader is very similar to the CFKA module in http://www.ti.com/lit/an/spraaq2/spraaq2.pdf ; and it will be used in a production line for fresh DSP, which are not programmed at all.

My issues with the secondary bootloader is that it does NOT boot up after step 2) above.   The Sciboot bootrom in the DSP accepts & echoes back every bytes that sent through the console via serial, but it seems to be stuck after secondary boot loader data transferred -- Doesn't seem to be able to branch to the secondary bootloader just transferred.  If I use JTAG immediately without power off, I can see  the contents in the RAM is the same as the transferred file; and if I set the PC  (porgram counter) to 0 , which is the entry point of the secondary bootloader and hit run, then the secondary bootloader runs as expected...  This makes me to think that although the secondary boot is transferred correctly via serial, the SCIBOOT bootrom stucks somewhere after file tansfer...

I've been reading a few notes on Piccolo bootloader, but most of them are flash based ... This RAM based secondray bootloader is quite rare.

Regards,
XIng

  • More info...  I used the C2Prog to program the DSP via serial port, and it works fine.   So I believe that the hardware setup is working OK.  But in the production environment, we prefer not to use the PC - so we would like to have a RAM based secondary bootloader as described in the previous post.   Could anyone provide an example on how to develop such a bootloader?

    Thanks,

    Xing

  • Xing,

    2802x bootROM sources are available in controlSuite, you can load symbols and put breakpoints in SCI_Boot function to see why it is not branching after the data is copied. Most likely ROM is stuck in loop without branching to the application entry point because some of the data in the last block is missing. Note that you don;t have to rebuild ROM Sources from controlSuite you just have to load symbols from the COFF/out file.

    When you used C2Prog utility were you using the same hex file to load on device or were you using different hex file? if you are using same hex file then the problem could be with the host program that is sending data to serial port.

    hope it helps.

    Best Regards

    Santosh