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.

SPI0 flash boot mode

Other Parts Discussed in Thread: OMAP-L137, CCSTUDIO, TMS320C6747

Hello,

I have an "OMAP-L137 EVM" and want to run a simple program on it and when it turn off  the program rest on it.

I want to use SPI0 flash. for this I setup sw2(boot switch) to boot from SPI0 Flash(0101x position) and generat a binary AIS file but don't know how store the contents of this file in the SPI flash starting at offset zero.

when I launch CCstudio(parallel Debug Manager) and open TMS320C674XP_0 window, and try to connect to OMAP-L137 EVM this message appear:

 

"Error connecting to the target: Error 0x80000240/-1180 Fatal Error during: Initialization, OCS,  The The target is stuck in Wait-in-Reset mode.  The applied reset must be released before progressing."

would you please help me?

Zahra Mazaheri.

  • I would recommend using the serial flasher tool to put your program in SPI. Information can be found here:

    http://processors.wiki.ti.com/index.php/Serial_Boot_and_Flash_Loading_Utility_for_OMAP-L137

    Looks like you are unable to connect to the DSP. Try setting your boot mode to Emulation and connecting again. You can also try connecting to the ARM instead and let us know your results.

    Jeff

  • Please refer to this document, http://processors.wiki.ti.com/index.php/GSG:_DA8x/OMAP-L1/AM1x_DVEVM_Additional_Procedures#DA830.2FOMAP-L137.  It has step-by-step instructions on how to flash your program into SPI0 flash. 

    As for the CCS error, it is because you are in SPI bootmode and something is keeping the DSP busy.  You'll need to switch back to Emulation bootmode to connect to the DSP. 

    - Christina

  • To avoid confusion on why there are different links, there are two methods to flash your program into SPI flash.  Jeff's link explains how to flash using UART and without CCS.  The link I provided uses CCS.  Therefore, either procedure will work. 

    - Christina

  • Hello ,

    Thanks for your reply.

    I download the "DaVinci-PSP-SDK-03.20.00.12". for obtain the  the pre-built binary shipped (spiflash_writer.out) and the pre-built images of DSP AIS, ARM UBL and U-Boot,is it neccesary to install Linux  on PC? unfortunatly I don't access Linux and I work with windows XP. is there any way to do this project without Linux?

    if I design a c6747 board and want to use it in SPI0 boot mode the way is same? if it is same, as regards the TMS320C6747 has not the ARM core , where I should  load the SPI0 flasher tool?

    Regards,

    Zahra.

  • Hi Jeff,

    I studied  the "Serial Boot and Flash Loading Utility for OMAP-L137" in this link that you sent me : http://processors.wiki.ti.com/index.php/Serial_Boot_and_Flash_Loading_Utility_for_OMAP-L137  and  execute all the steps except "C:\flasher>sfh_OMAP-L137.exe -spiflash_dsp <DSP UBL AIS file> <ARM UBL binary file> <binary application file>"  successfully.( I loaded a simple project for turning on user led from support page of OMAP-L137 EVM and generated a ais.bin file from it  and used that ais.bin file as binary application file in "Flash the SPI with a single application image" step)

    after that, I turned off the EVM and set the Boot pins to SPI0 flash mood, but  the simple program did not  execute and the did not turn on?

    Can you tell me what is the problem?

    thanks.

  • The -spiflash_dsp is for flasing Uboot as the binary application file. Try using the -spiflash_noubl command to flash only your application, at address 0x0. If you still don't see the light blinking, connect in CCS to the DSP (without a gel) and see if your program is running. It is complied for the DSP correct?

    Jeff

  • Hi Jeff,

    I erased the spiflash and flashed my "ais1.bin" file using the -spiflash_noubl command . but I can't see user led's light blinking after turning off the EVM and turning on it again in spi0flash boot pins position.

    then, i opened the "EVMOMAP-L137 CCStudio v3.3" program and opened the TMS320C674XP_0 window in Parallel Debug Manager. in this window i removed  the "evmomapl137_dsp.gel" file and pressed alt+C to connect to the DSP,then saw the HALTED message and when pressed F5 to run, saw RUNNING message but the led was off yet.

    now i don't know what is your meaning from "It is complied for the DSP correct?" because when no project is open "compile file" tab is not active.

    I opened  "OMAPL137 UART Boot Host, Ver. 1.01" window and  browse my "ais1.bin" file and set serial port (com3) & baud (230400).

    After appearing waiting for BOOTME message ,I push the reset bottom, then start.

    I saw these message in "OMAPL137 UART Boot Host, Ver. 1.01" window :

    (File IO): Read 30620 bytes from file C:\ais1.bin.

    (Serial Port): Opening COM3 at 230400 baud...

    (AIS Parse): Read magic word 0x41504954.

    (AIS Parse): Waiting for BOOTME...

    (AIS Parse): Performing Start-Word Sync...

    (AIS Parse): Performing Ping Opcode Sync...

    (AIS Parse): Processing command 0: 0x5853590D.

    (AIS Parse): Performing Opcode Sync...

    (AIS Parse): Executing function...

    (AIS Parse): Processing command 1: 0x58535901.

    (AIS Parse): Performing Opcode Sync...

    (Serial Port): Read error! (The operation has timed out.)

    (AIS Parse): I/O Error in read!

    (Serial Port): Read error! (The operation has timed out.)

    (AIS Parse): I/O Error in read!

    (Serial Port): Read error! (The operation has timed out.)

    (AIS Parse): I/O Error in read!

    (Serial Port): Read error! (The operation has timed out.)

    (AIS Parse): I/O Error in read!

    (Serial Port): Read error! (The operation has timed out.)

    (AIS Parse): I/O Error in read!

    (Serial Port): Read error! (The operation has timed out.)

    (AIS Parse): I/O Error in read!

    (Serial Port): Read error! (The operation has timed out.)

    (AIS Parse): I/O Error in read!

    (Serial Port): Read error! (The operation has timed out.)

    (AIS Parse): I/O Error in read!

    (Serial Port): Read error! (The operation has timed out.)

    (AIS Parse): I/O Error in read!

    (Serial Port): Read error! (The operation has timed out.)

    (AIS Parse): I/O Error in read!

    (Serial Port): Read error! (The operation has timed out.)

    (AIS Parse): I/O Error in read!

    (AIS Parse): Opcode Sync failed after 11 consecutive I/O failures.

    (AIS Parse): Boot aborted.

    (Serial Port): Closing COM3.

    may be this errors the reason of the problem that I described above? is it about my "ais1.bin" file?

  • It looks like you are getting errors in the AIS Parsing section of the flasher. In this case your image never got flashed to the SPI.

    There is a new version of the serial flasher on the wiki page: http://processors.wiki.ti.com/index.php/Serial_Boot_and_Flash_Loading_Utility_for_OMAP-L137

    I would suggest trying this one. First try erasing the SPI flash and see if that works.

    Jeff

  • Dear Jeff,

    you mean there are some problem in generating my "ais1.bin" file?

    it is noteworthy that my bootloader is D800K001 but  i use "AISgen for D800K003". can this be the problem?
  • No, it looks like theres an issue with the UART communication. Maybe you can try running it on a different PC instead.

    Jeff

  • Did you try on a different PC? The times I have seen this error are when the host computers COM port isnt working properly.

    Jeff

  • It seems that the AIS file wasn't created with UART set as boot mode in AISgen. If you plan to boot application using UART host, AIS file must be created with boot mode selected to UART.

    Please change boot mode to UART, re-generate AIS and check if it works with UART host.

  •  

    Jeff,

    I tried on a different pc and saw same error message in UART Boot Host window :



    (File IO): Read 31612 bytes from file C:\aisfiletst\led2.ais.
    (Serial Port): Opening COM4 at 230400 baud...
    (AIS Parse): Read magic word 0x41504954.
    (AIS Parse): Waiting for BOOTME...
    (AIS Parse): Performing Start-Word Sync...
    (AIS Parse): Performing Ping Opcode Sync...
    (AIS Parse): Processing command 0: 0x5853590D.
    (AIS Parse): Performing Opcode Sync...
    (AIS Parse): Executing function...
    (AIS Parse): Processing command 1: 0x58535901.
    (AIS Parse): Performing Opcode Sync...
    (Serial Port): Read error! (The operation has timed out.)
    (AIS Parse): I/O Error in read!
    (Serial Port): Read error! (The operation has timed out.)

      .

      .

      .

    AIS Parse): Opcode Sync failed after 11 consecutive I/O failures.
    (AIS Parse): Boot aborted.
    (Serial Port): Closing COM4.

    I think the host computer's COM port is working correctly because i receive the BOOTME message in hyper terminal .

    also, for being independent from com port , i try to flashing my application ( led2.ais ) on the spi0 flash by using spiflash_writer_dsp.pjt.

    but is doesn't work too .
    am are right that the com port is OK and there is another problem ?( for example my board use D800K001 but i generate the  .ais file by AISgen for D800K003 v0.1.0.0)

  • I set UART2  for boot mode but when i select  "file --> configure for EVM " it set on spi0 flash automatically .

    however i set it on UART2 and didn't select "file --> configure for EVM " and generated the .ais file but not work.

  • See Urmils response and regenerate the AIS file.

    Jeff

  • Dear Jeff,

    thank you a lot for your helps .

    I unchecked  PINMUX & LPSC settings check boxes in AISgen for D800K003 window before making AIS image. and my application worked correctly .