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.

ABOUT OMAPL137 start mode

Other Parts Discussed in Thread: OMAP-L137, CCSTUDIO

i have a OMAPL137 EVM with REV E. It can select the start mode by the SW2 . eg, start from the spi flash or emulation mode.

now i want to design my own EVM,i want to know if i need the SW2 if i wish i can start from the spi flash and emulation. i use XDS560 emulator.

because somebody say it doesn't need to set any pin when i use emulator. so i have the question to ask.

 

I have another question: i only use the 6747 be my float coprocessor. which document can give me some help about how to control or CALL the dsp from ARM.

  • Le,

    le li said:
    ,i want to know if i need the SW2 if i wish i can start from the spi flash and emulation.

    Switch 2 just sets the BOOTMODE pins on the OMAP-L137 to either a Logic 0 or Logic 1, the switch is incorporated into the EVM to give user's the option to configure the boot mode when they are prototyping on the EVM.

    When you create your board, you can hard tie the BOOTMODE to either logic 0 or logic 1 depending on your application. Emulation works through JTAG interface, which is seperate from the BOOTMODE.

     

    le li said:
    I have another question: i only use the 6747 be my float coprocessor. which document can give me some help about how to control or CALL the dsp from ARM.

    The C6747 is another device, however I believe you wish to use the C674x DSP within the OMAP-L137. If you are using DSP/BIOS, you can utilize the software package called DSP/BIOS Link which creates an API for coprocessor communication. If you are not using DSP/BIOS, you will need to wake up the ARM9 core using the Power and Sleep Controller and write some code to pass communication between the C674x DSP/ARM.

     

  • Drew:

     

    1 On the GETTING STARTED, it  write when 7210=1111(SW2),I can enter the emulation state and 7210=0101(SW2), I can enter the SPI start state. so i  have such question.

    When I start from SPI flash with loaded boot.bin, if i want to use EMULATOR the time, what I need to do?   before I use like this,must  I  build the dsplink succesfully ?

    2 I want to know if i use  the DSP/BIOS link ,what is the shortcoming  compared with writing some code to pass communication between the C674x DSP/ARM.?

     

  • le li said:
    When I start from SPI flash with loaded boot.bin, if i want to use EMULATOR the time, what I need to do?   before I use like this,must  I  build the dsplink succesfully ?

    I don't understand your question. Are you trying to use the emulator to debug your program? Could you please provide more feedback.

     

    le li said:
    I want to know if i use  the DSP/BIOS link ,what is the shortcoming  compared with writing some code to pass communication between the C674x DSP/ARM.?

    I'm not familiar with BIOS/LINK, but the only short comming that I can think of is that your applications will need to be structured around the BIOS/Link API and the flow between the ARM core and the C674x DSP Megamodule.

  • Table 6. Boot Mode Selection
    SPI1_CLK SPI0_CLK SPI0_SIMO[0] SPI0_SOMI[0] nSPI0_ENA Multiplexed Pins
    BOOT[7] BOOT[2] BOOT[1] BOOT[0] BOOT[3] Boot Mode AIS
    0 0 0 1 X NOR Yes (1)
    0 0 1 0 X HPI No
    0 1 0 1 X SPI0 Flash Yes
    0 1 1 0 X SPI1 Flash Yes
    0 1 1 1 X NAND 8 Yes
    1 0 0 0 0 NAND 16 (2) Yes
    0 0 0 0 0 I2C0 Master Yes
    0 0 0 0 1 I2C0 Slave Yes
    0 0 1 1 0 I2C1 Master Yes
    0 0 1 1 1 I2C1 Slave Yes
    0 1 0 0 0 SPI0 EEPROM Yes
    0 1 0 0 1 SPI1 EEPROM Yes
    1 0 0 1 0 SPI0 Slave Yes
    1 0 0 1 1 SPI1 Slave Yes
    1 0 1 1 0 UART0 Yes
    1 0 1 1 1 UART1 Yes
    1 0 1 0 0 UART2 Yes
    1 1 1 1 0 Emulation Debug N/A

     

    ON BOOTMODE datasheet, The table shows starting from the SPI flash and Emulation debug needs to set  the BOOTMODE pin. If I design my board.mustn't I set the pin?I want to start from SPI FLASH and i want to debug using the JTAG emulation.

    e.g , I need to use Emulator to download AIS image and u-boot.bin and so on. if i don't set the pins, what means I can use to download the files?can I download the files on the  bootmode of starting from SPI FLASH?

     

    on the <Debugging the DSP side of a DSPLink application on OMAP-L137 using CCS> http://processors.wiki.ti.com/index.php/Debugging_the_DSP_side_of_a_DSPLink_application_on_OMAP-L137_using_CCS

    when I start from SPI0 flash,enter the LINUX system. I go to the step 9 and run ./loopgpp loop.out .it shows:

    =============== Sample Application : LOOP ==========
    ==== Executing sample for DSP processor Id 0 ====
    Entered LOOP_Create ()
    PROC_setup failed. Status =  [0x80008008]
    Leaving LOOP_Create ()
    Entered LOOP_Delete ()
    CHNL_freeBuffer () failed (output). Status = [0x80008002]
    CHNL_delete () failed (input). Status = [0x80008002]
    CHNL_delete () failed (output). Status = [0x80008002]
    Leaving LOOP_Delete ()
    ====================================================

    why i can't run successfully.I have compiled the kernel and modules.

    when i go to the step 10, connect the EVM using CCS, but i can't connect DSP succesfully.the error information is as below:

    ==========================================

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

    I/O Port = 510

    Board Name: EVMOMAP_L137
    Cpu Name: TMS320C674XP_0

    Abort:  Close Code Composer Studio.
    Retry:  Try to connect to the target again.
    Cancel:  Remain disconnected from the target
    Diagnostic: Run diagnostic utility.

    ===========================================

    I find some documents, somebody think  the reason is I don't free the DSP. Is it true?

     

  • Le,

    le li said:
    ON BOOTMODE datasheet, The table shows starting from the SPI flash and Emulation debug needs to set  the BOOTMODE pin. If I design my board.mustn't I set the pin?I want to start from SPI FLASH and i want to debug using the JTAG emulation.

     

    Thanks for the clarification. I now understand your question. You are correct that the boot mode pins need to be set in your final application. The value of the BOOT pins are latched upon a power on reset, but then are configurable once the application is started.

     The Emulation debug BOOT mode selection simply waits in an infinite loop after a POR and waits for the user to download code to the device via JTAG and the emulation. Typically you debug your project using the emulation first, tie up all the loose ends and then convert your program to an AIS.bin for download to SPI Flash. Is there a reason you want to debug the project by booting from SPI flash first?

     

    le li said:
    I find some documents, somebody think  the reason is I don't free the DSP. Is it true?

    On the OMAP-L137 the DSP bootloader will boot the image to the device, however the ARM core is (by default) help in reset. Does your application make provisions to wake up the ARM CPU?

  • HI 

    I had a somewhat similar problem so thought to post on the forum

    I am using Spectrum Digital EVM board . I want to configure the OMAPL137 such that it can boot up and execute a code when powered on without a JTAG connection and I referred to lots of info on TI wiki and even support documents available along with some test codes

     

    I am trying to program the Winbond flash available on the  EVM board through a small project available as DSP SPI flash writer 

    I used the AISgen utility to convert one of simple project to blink the LEDs to ais.bin file which I used to write in the flash

    I even arranged the switch SW2 as 0101x as mentioned on the wiki as the option for selecting SPI0 flash but still when I disconnect the JTAG and turn on the switch I do not see the system boot up or in another words blinking leds which was happening in debug mode using the same project file for led blinking.

     

    Do I need to do anything else and do I need to use u-boot and armubl also or ais.gen is the one of three options available and enough

    How do I detect whether system is booting up or not through the flash as I have tested the code for which i created an ais.bin file (through AISgen) and that code blinks the leds when used with CCS through JTAG??

    Am I missing any step in this procedure to program the flash and trying to get any program running on power on without connecting the JTAG

     

     

    Regards

    NIKHIL RAJPAL

  • Drew,

    1, I want to know on the bootmode of starting from SPI FLASH, can I go into the CCS and connect with DSP and ARM by emulator to debug my program?

    2,the same to the one, when i starting from SPI FLASH with burned u-boot.bin and boot kernel and go into linux system, at the same time I can't connect DSP in CCS by the emulator,I want to debug DSP-SIDE program under the linux OS of EVM . the error information is as below:

    ==========================================

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

     

    ===========================================

     

    I want to know the reason.

    I/O Port = 510

    Board Name: EVMOMAP_L137
    Cpu Name: TMS320C674XP_0

    Abort:  Close Code Composer Studio.
    Retry:  Try to connect to the target again.
    Cancel:  Remain disconnected from the target
    Diagnostic: Run diagnostic utility.

  • You can check the status of the boot process using the Debug GEL File. This will let you know if there were any errors in your boot and the current value of the PC. You can paste the output here if you are not sure.

    I assume your code is compiled to run on the DSP correct? You can debug by using CCS, but make sure there are no other GEL files loaded, as they may be performing some initialization that does not occur when you run the code from the SPI flash.

    Jeff

  • 1) Yes, in all the boot modes, the emulation is still enabled and you should be able to connect to the ARM and DSP if they are out of reset. You do not need to set any boot pins in order to connect in CCS.

    2) Since Linux is running on the ARM, the DSP was probably put to sleep during the boot process. You can connect instead to the ARM and use a GEL file to wake up the DSP. After that you should be able to connect to the DSP.

    Jeff

  • Jeff,

     

    I have a code that writes into the flash. I could execute it and see a message on the console as "successfully programmed and verifying....files matched"

    About the gel file I have one if the evmomapl137_dsp.gel as the initialization script in the subpath for the dsp. 1) Do you think I should remove this? if yes how would the omap initialize?

    Secondly you suggested to use the gel files to debug the boot process. I followed the link there and got one debug gel file as OMAPL1x_debug.gel file .

    How to use this file ?Do I simply replace the evmomapl137_dsp.gel file to debug . I did his and got an msg on console when I connect the target along with some device info msgs

     

    C674X_0: Output: ---------------------------------------------

    C674X_0: Output: |               BOOTROM Info                |

    C674X_0: Output: ---------------------------------------------

    C674X_0: Output: ROM ID: d800k001 

    C674X_0: Output: Silicon Revision 1.0

    C674X_0: Output: Boot Mode: SPI0 Flash

    C674X_0: Output: 

    ROM Status Code: 0x00000000 

    Description:C674X_0: Output: No error

    C674X_0: Output: 

    Program Counter (PC) = 0xC000C604

     

     

    But I cannot execute the code with this gel file replacing the evmomapl137 one . Suggestions ??

     

    Secondly  I want to debug the boot process in the spi0 flash boot mode with" JTAG disconnected" . Can this be done with the help of debug gel file ? As probably this one gives msg on console but once I disconnect JTAG ( boot up from SPI0 flash ) how do I debug boot up 

    I do not see data exchange on the SPI pins when I reset the board but I can see data streaming on the SPI pins while programming the flash through the code

     

    Any suggestions

    . Also if there's any link to know how to use the gel files to debug if its different from what I described or if you can describe that would be great 

     

     

    Regards

    NIKHIL RAJPAL

  • Nikhil, you will need to start a new thread with your questions, since it is starting to get too complex. Thanks

    Jeff

  • Jeff,

     

    I started a new thread and posted the questions on http://e2e.ti.com/support/dsp/omap_applications_processors/f/42/p/98637/345010.aspx#345010 with the title as

    "

    programming the flash on the EVM board to make it work as standalone"

     

    Suggestions welcomed !!

  • 1) your means is that the emulator has nothing to do with bootmode? it can be used at any bootmode?that is to say that I can download AISgen,UBL,u-boot.bin and run my program by the CCS at SPI starting mode?

    2) what GEL file I should use and how to operate?

  • 1) Yes you can connect  to any processor in any boot mode, given that the core is powered and out of reset.

    2) You can use the one that came with the EVM CCS package, for example C:\CCStudio_v3.3\boards\evmomapl137\gel\evmomapl137_dsp.gel. Choose the "Enable_ARM" function from the GEL menu to wake it up.

    Jeff