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.

C6657 direct SPI-NOR boot

Genius 5785 points

Hello,

I have a TMDSEVM6657LS. I'd like to boot C6657 from SPI-NOR directly without using I2C EEPROM. But I think MCSDKv2.01.02.06 provides only an environment for SPI-NOR boot via IBL over I2C EEPROM. What should I refer to? Is there a wiki site or something procedure to realize direct SPI-NOR boot?

Regards,
Kazu

  • Hi Kazu,

    Please find the attached SPI-NOR boot example without IBL and refer readme.txt file for usage.

    SPIboot_ddr.zip

     

  • Hello Rajasekaran,

    Thank you for your information. I was able to download the file by accessing your direct link. How do I get to a web site which links the file? (not direct link)

    The direct SPI-NOR boot is working fine. I can see that the program counter halts by IDLE instruction at 0x80000800 when I connect CCS without GEL. However it does not boot when I remake "spirom_le_swap.dat" based on default "spiboot.out". (not rebuild "spiboot.out"). The difference between default dat file and remaked dat file is only one byte. I seem that the difference is come from "nysh.spi.map". Should I change this file for C6657? Please give me some advice.

    <default dat file>
    1651 1 10000 1 37b
    0x00005000
    0x00003200
    0x02002040
    0x18000100
    0x00000400
    0x00000000
    0x0000e803
    0x0000f401
    0x00000004
    0x00000000

    <remaked dat file>
    1651 1 10000 1 37b
    0x00005000
    0x00003200
    0x02002040
    0x18000100
    0x00000400
    0x00000000
    0x0000e803
    0x5100f401
    0x00000004
    0x00000000

    Regards,
    Kazu

  • Hi Kazu,
    Please share the procedure followed to convert .out to .dat.
  • Hello Rajasekaran,

    Thank you for your reply. I only changed "spiboot.bat" for the IBL_UTIL path and the copy command.

    <spiboot.bat>
    set IBL_UTIL=C:\ti\mcsdk_2_01_02_06\tools\boot_loader\ibl\src\util
    hex6x spiboot.rmd
    b2i2c spiboot.btbl spiboot.btbl.i2c
    %IBL_UTIL%\btoccs\b2ccs spiboot.btbl.i2c spiboot.i2c.ccs
    %IBL_UTIL%\romparse\romparse nysh.spi.map
    copy i2crom.ccs spirom_le.dat
    byteswapccs i2crom.ccs spirom_le_swap.dat
    %IBL_UTIL%\btoccs\ccs2bin   i2crom.ccs     spirom_le.bin
    %IBL_UTIL%\btoccs\ccs2bin -swap i2crom.ccs spirom_le.swap.bin

    I also added a following system environment variable for invoking hex6x.
    C:\ti\ccsv5\tools\compiler\c6000_7.4.4\bin

    Then I type a command below.
    D:WORK\SPIboot_ddr>spiboot.bat

    I found that the default and the remaked "spirom_le.dat" have same data. (not spirom_le_swap.dat). There is 0x51 there.

    Regards,
    Kazu

  • Hello Rajasekaran,

    I checked the "spirom_le_swap.dat".

    0x5100f401 -> 0x0051=81 | 0x01f4=500
    0x00000004 -> 0x0000 | 0x0400=1024

    - 500: The bus_freq_khz is configured by "nysh.spi.map". This is corresponding to the "Bus Freq, kHz" of "SPI Boot Mode Parameter Table" in C6678 Data manual, isn't it?
    - 81: Is this corresponding to the "Read Addr MSW"?
    - 1024: Is this corresponding to the "Read Addr LSW"?

    I seem this msw address parameter is not appropriate. How do I configure these address parameter? Please give me some advice.

    Regards,
    Kazu

  • Hello,

    I found out a document regarding spi boot below. According to Step 7 in Task 5, I understand I have to change 0x51 to 0x00 manually.

    www.google.co.jp/url;rct=j&q=&esrc=s&source=web&cd=2&ved=0CCQQFjAB&url=http%3A%2F%2Fe2e.ti.com%2Fcfs-file%2F__key%2Fcommunityserver-discussions-components-files%2F639%2F6281.LabKeystone_5F00_I_5F00_boot.docx&ei=Na3iVIWVFIrW8gXZ0IKIAw&usg=AFQjCNFhtEr1G3TuJK6AaYysFcHIi1iIaQ&bvm=bv.85970519,d.dGc

    Regards,
    Kazu

  • Kazu,

    Apologize for the delay. Thank you for the post. This document is part of Keystone bootload workshop.

    6036.KeystoneI_bootloader_workshop.zip