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.

TMS320VC5402: TMS320VC5402 : ”Standard serial port boot” issue

Part Number: TMS320VC5402

Hi,

My customer has one issue for "Standard serial port boot" with C5402.

Customer's board works fine for "Serial EEPROM boot". But "Standard serial port boot" does not work now.

Customer would like to use "Standard serial port boot" for future memory expansion.

I already asked this issue to the below E2E thread. 

https://e2e.ti.com/support/processors/f/791/t/770476 

According to the customer information, the first bit of address bus is never changed when NG situation of "Standard serial port boot". So customer believe Parallel Boot sequence was passed, and the boot sequence is failed in next sequence (Initialize Serial Ports). Is this judgement correct?

Also, for Standard serial port boot, are some clock or input signals except for main clock needed?

Please advise me.

I appreciate quick reply.


Best regards

Michi

  • Hi Michi,

    See the other post at e2e.ti.com/.../2863312

    Yes, in Standard serial port boot the BCLKR and BFSR appear must be provided externally.

    See 2.2.4 Standard Serial Boot Mode in SPRA618B: "The serial port receive clock (BCLKR) is supplied externally and cannot exceed the frequency of the C5402 CPU clock."

    Regards,
    Mark
  • Hi, Mark-san,

    Thank you for your quick reply.

    It is very helpful for me.

    I would like to confirm one thing.

     > Yes, in Standard serial port boot the BCLKR and BFSR appear must be provided externally. 

    Should the both signals BCLKR and BFSR be provided before "Initialize Serial Ports" internal action of C5402? Or may the both signals be provided after XF pin becomes low?

    Please advise me again.

    Best regards,

    Michi 

  • Hi Michi,

    From 2.2.4 in SPRA618B:
    "The bootloader also sets the XF pin low to indicate that the serial port is ready to receive data. The DSP then polls the IFR to determine which serial port has data input (BRINT0, or BRINT2). When the desired serial port has been identified, the bootloader continues to read the same port to load the entire boot table."

    My understanding is that the bootloader expects the host processor to monitor XF and wait until it goes low before driving the McBSP BCLKR and BFSR signals.

    But I don't expect much issue if the clocks are driven before XF goes low as long as the data is not transmitted until after XF goes low. But I wonder if there could be a synchronization issue if XF goes low in the middle of a McBSP frame. This might prevent the valid keyword from being received by the McBSP, leading it to move to the IO boot then HPI boot before re-attempting to boot from McBSP. There appears to be on indication when the Standard Serial Port Boot is re-attempted, but the application could use a GPIO or some signal to inform the host processor that the DSP has booted after completing the transfer.

    The McBSP software initialization has a requirement to wait for two bit clocks before releasing XRST and/or RRST to enable the serial port. This is to ensure proper synchronization internally. I cannot confirm with the bootloader source code if this requirement is satisfied, but I assume the bootloader waits some time after XF before releasing RRST to satisfy this requirement... It should then latch the first word based on the BFSR changing state.

    Further restrictions:
    The serial port receive clock (BCLKR) is supplied externally and cannot exceed half the frequency of the C5402 CPU clock.

    A minimum delay time of 40 CPU clocks should be provided between the transmission of each word. This can be achieved by either slowing the receive clock frequency, or providing additional clocks between transmitted words.

    Regards,
    Mark