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.

c6748 hpi boot (Cannot Boot Up)

Hi All.

I have used C6713 , and it is working fine.  Now  I am trying to upgrade to c6748 for faster dsp processing. However I cannot  boot the c6748 through hpi (same boot method as C6713 )

Situation:

1. I wrote a simple program (while loop only) 

2. followed spruh79a (technical Reference), sprs590d (datasheet) and spraat2e (Using c6748 boot loader)

- I can use Emulation Debug mode to boot the program.

- in HPI Boot Mode (My connection MCU->FPGA->C6748 (HPI) <Same as C6713 connection>, and hex is gen by hex6x.exe from .out), I can download the hex code successful (I used XDS510Plus to check all Hex code match with Address and Data in CCS Memory Browser)

- But in final step, after "Bootloader acknowledges host by clearing DSPINT bit"  the PC (Program Counter) is still looping address range 0x007Fxxxx and cannot jump to the c_int00, unless I change the PC to 0x118013a0 ( Program main) manually.

-  I have checked no any entry point in address 0x1180 0000 (Data is 0000 0000 - is it the reason why Bootloader cannot branches to the main??? )

If this is right Could anyone please let me know how can I put the entry point into address 0x1180 0000.( I checked the hex code, not any data set in address 0x1180 0000).  

If this is wrong, please let me know how can the DSP boot from the hpi mode

thanks very much

Best Regards.

Sam

 

  • Hi Sam,

    Your understanding on HPI boot is correct. The entry address should be written to the 0x11800000.

    Please refer the below application note link for Creating a DSP Boot Image for Host Boot. 

    http://www.ti.com/general/docs/litabsmultiplefilelist.tsp?literatureNumber=sprab60

    From my understanding this should work for C6748 as well. The sprab60.zip do contain the source code, so you can customize the tool.

    Please refer below threads on C6748 HPI boot issue. This may help you understand more.

    http://e2e.ti.com/support/dsp/tms320c6000_high_performance_dsps/f/115/t/51763.aspx

    http://e2e.ti.com/support/dsp/tms320c6000_high_performance_dsps/f/112/t/177389.aspx

    Hope this helps.

    Thanks.

  • Hi Rajasekaran K,

    Thanks for your reply,

    I have read your suggestion link and documentation,  I find that  sprab60 tool generates the bin file.

    However, due to my current C6713 connection and configuration(MCU->FPGA->C6748(HPI) . I want to simplify the code from c6713 to c6748, so I still want to do the HPI Hex file format.

    Could you please help on how to make the hex file including the entry address in 0x11800000, or other method can modify the 0x11800000 data without manually setting (download Hex file in HPI Boot mode). 

    Thanks 

    Best Regards,

    Sam

  • Hi Sam,

    Please refer the wiki link to create the secondary boot image with entry address. 

    http://processors.wiki.ti.com/index.php/Secondary_Bootloaders_on_OMAP-L1x#Building_the_Secondary_Bootloader_Application

    This can be done using a simple assembly source file: (NOR uses the configuration long word then entry address whereas HPI needs only entry point address)
    .global _c_int00 .sect ".nor_config_word" config_word:
     B _c_int00
     NOP NOP NOP NOP NOP NOP
    
    
    At boot, the bootloader will jump to address 0x11800000 (0x80000000 on ARM), then branch from there to the secondary bootloader's actual entrypoint. Note that this assumes that the standard RTS library entrypoint, _c_int00, is used. To use an alternate entrypoint, the branch (B) instruction argument must be changed.
  • Hi Rajasekaran K,

       thanks for you reply, 

    I have read the detail and tried your link method, although I can convert to bin with entry point address, I am sorry about that i cannot download the bin because of my original program is  to download Intel Hex format (FPGA firmware and MCU firmware).

    So I have tried another way (follow  spru186w (TMS320C6000 Assembly  Language Tools Chapter 11, adding the entry point in hex6x hex conversion utility). However the output intel hex format file has not different with/without adding entry point option.

    could you please teach/help on this issue, is it hex6x utility cannot add the entry point address? or adding some other option on calling hex6x utility, thanks very much

    Best Regards,

    Sam