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.

SMJ320C6701 intermittent boot failure

Other Parts Discussed in Thread: SMJ320C6701, TMS320C6701

Dear All

We have designed a board based on smj320c6701. The board contains a 32 bit boot flash in 32 bit room boot mode map0. We already had successfully developed a board with Tms320c6701. In its next version, we only changed the DSP from TMS to SMJ. The board fails in booting intermittently, especially if it is powered off for longer periods of time. If we connect the emulator when the board fails to boot, the internal registers and rams are accessible but external rams and flash are inaccessible. The contents of external rams are almost identical (Most of memory locations have same values when seen in CCS 3.0 IDE). We used a scope and observed that the processor was generating the CS1 chip select for flash during boot but some how the data loaded on address 0 is not the correct one.

The data sheet of processor does not suggest power sequencing. More over, the core and IO supply power up almost at the same time.

Kindly advise on this issue.

Thanks

Ahsan Shabbir   

  • Ahsan,

    If you have already checked for any clock rate or voltage level differences between the two devices, then there should be no functionality differences between the two devices. I would recommend comparing the datasheets for the two devices again to double-check those data points for voltage and clocking to be sure.

    How many boards do you have with the SMJ320C6701 on them, and how many with the TMS320C6701?

    After that, you are looking for board-level differences. The first things to look for are power levels, reset, and clocks. There are output clocks on the device, looking at these can help you narrow your search for the board problem.

    Hopefully, your BOOTMODE pins can be adjusted to allow you to select No Boot mode. This will allow emulator access after reset, possibly giving you better emulator control of the device than with the EMIF boot mode you are using now. When the device comes up in a bad state, some of the features cannot be accessed through emulation until the boot process has completed, so the No Boot mode allows you to take control during board bringup when there are problems such as what you have described.

    Regards,
    RandyP
  • Hi,
    In addition to Randy suggestion,
    Able to reproduce the problem ?
    Only able to boot if the board is in powered off for longer periods of time ?

    Have you compared the power up sequence for the both TMS and SMJ devices through DSO (scope) ?
    What is your DSP operating frequency ?
    Any booloader used and any PLL initializations done in application ?

    If power up sequence lines were good then, have one LED indication in startup code (very initial line) while executing the app.

    SMJ320C6701 is qualified for use in Space-based application and its operating temperature is -55 to 115.

    This is the only difference I found.

    Are you using any space based application ?

  • Hi Stalin,

    Thanks for your reply. Following are answers to some of your questions


    Able to reproduce the problem ?

    Only able to boot if the board is in powered off for longer periods of time ?

    Yes, if the DSP is powered off for longer periods of time, it is more probable that the boot fails. 


    Have you compared the power up sequence for the both TMS and SMJ devices through DSO (scope) ?

    Yes. The core voltage and I/O voltage ramp up almost at the same time. The 3.3v and 5V are coming from power rails. The 1.9v for the core are being generated using linear regulator LT1084 from 5V supply.   

    What is your DSP operating frequency ?

    A 25 mhz crystal module is connected to the CLKIN pin of the DSP. A PLL multiplier of 4 is used.


    Any booloader used and any PLL initializations done in application ?

    Boot loader is being used from 32 bit flash. PLL initialization is hardwired through resistors.


    If power up sequence lines were good then, have one LED indication in startup code (very initial line) while executing the app.

    Yes, we are using very small test code.

    thanks

    Ahsan