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.

Problem with HPI16 boot process

Other Parts Discussed in Thread: TMS320C6418, MSP430F1481

Hello,

we do have a problem with setting up our TMS320C6418 device using the HPI 16 boot process.

 

I'm trying to make it short so if you need additional information on how we setup up things, don't hesitate to ask.

 

The DSP HPI pins are all connected to GPIO pins on a MSP430F1481. HAS is tied high. HDS2 is tied high as well while HDS1 is low so that HCS alone should trigger HSTROBE. HCS is initially high so that HSTROBE is high too.

The MSP then sets all HPI inputs (data and controls) to their corresponding values and clears HCS. On the falling edge of HSTROBE the DSP should latch the control signals. We wait for HRDY low (which probably doesnt make much sense since the MSP is pretty slow compared to the DSP). Then we set HCS again so that the DSP latches the data on the rising edge of HSTROBE.

Is the procedure correct in this way?

Might it be a problem that the JTAG emulator (Signum JTAGjet) is connected to the DSP device? (the CC debugger is disconnected during the process though)

 

Kind regards,

Fabion et Fronk

  • Hello,

    we tried two things later on yesterday:

    First of all we read that HCS "serves as the enable input for HPI and must be low during access" (spru578c section 3.7). So now we use HDS1 for switching HSTROBE, while HCS stays low during the whole transfer of the two half-words. HDS2 is tied high.

    We also tried switching GPIO[7:0] direction and output registers while JTAG was unconnected.

    Both did not solve our problem.

     

    Kind regards

    Fabion et Fronk

     

  • Hello,

     

    the problem has been solved!

    It was a rather stupid programming bug. Sorry for any inconvinience.

    For those who experience problems with HPI16, we want to say that the later described procedure does work.

    So clear HCS to initiate data transfer and keep it low during the whole transfer of those two half-words. HDS2 (and HAS) is tied high, while HDS1 triggering HSTROBE (after HCS clear) for the control and data latches. Set HCS again after the whole word has been transferred.

    Make sure to clear HD5 during the reset of the DSP to select HPI16 boot mode (input pins are high state on the dsp so it would choose HPI32 instead).

    And also check HWOB in HPIC for the half-word order.

    Kind regards

    Fabion et Fronk