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.

c6727 SWS HPI boot problem

Greetings.

 

I've an Atmel SAM732SE connected to a c6727 via the HPI. Using JTAG I put a program down to the two processors respectively.

The two processors can happily exchange data - via memory in this mode, i.e. I can read for example the vector table on the DSP via the HPI busmaster interface from the ateml.

 

We will be using the DSP as a boot slave to the host. Reading through spraa69c.pdf - "Using the TMS320C672x Bootloader" - I note the following.

 

2.1

Bootloader HPI Jump Address Register == 0x10000714

Bootloader HPI Trasnfer Done Register == 0x10000718

Bootloader HPI Error Register == 0x10000708

 

However nowhere in the document nor via google can I find mention of the address for exchanging the Start-Word Synchronization (SWS). The PDF mentions

After configuring the CFGHPI register based on the logical states of the above mentioned pins, the

bootloader enables the HPI peripheral by writing a 1 to the ENA bit in the CFGHPI register.

 

Then, it waits for data to be sent through the standard HPI protocol to the DSP.

 

 

The implication I take from that is that I'm suppoed to be writing 0x5853 to some address probably in the range 0x10000700 - 0x10000720  given where the other "registers" are. However - I'm not clear from the document 

a) Which address I'm supposed to write the 16 bit sync 0x5853 to

and

b) Which address I'm supposed to read the response from ?

 

Any help much appreciated !

  • Start-Word Synchronization is a part of the Application Image Script (AIS), but because the UHPI boot does not utilize AIS it does not require a SWS. The UHPI peripheral is unique compared to the other peripherals in that it is a DSP slave peripheral that grants the host access to the entire memory map. The other peripherals, such as EMIF or SPI, do not allow the other device (which may not even be a master) to directly access the memory and AIS is a handy way around that.

    The Master on the UHPI bus should just be able to write the application code/data into the appropriate memory and configure any necessary peripherals such as PLL or EMIF. Basically, once the DSP wakes up it will interrupt the host and spin in a loop until the host finishes booting the device and interrupts the DSP.

  • Ah ha.

    So then, it's safe to directly program the DSP via the UHPI. 

     

    Thanks for the response !

  • Because the UHPI has direct access to the DSP's memory map it is probably one of the more straightforward boot modes. Let us know if you do run into any problems.