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.

Bootloader Issue (ROM type) for TMS320C6748 on OMAP-L-138 EVM from Logic PD

Other Parts Discussed in Thread: TMS320C6748, CCSTUDIO

Hello,

I am trying to load one of the flash devices on the OMAP L-138 EVM kit from Logic PD that is using the C6748 SOM. Logic PD provides a program called "nandwriter" that seems to possibly allow you to load various AIS images and/or binaries through the CCS3.3 interface. Assuming that I would need the AIS generator I downloaded the reference document spraat2c.pdf. In the introduction the suggest that you examine address

0x11700000

to determine what type of flash you are using. It indicates that the character strings of  d800k006, d800k002 or d800k004 should appear, and that if nothing appears then the document does not apply. Unfortunately for me there are only zeros in that memory location. However I see no other document that would apply to this device (TMS320C6748) for this evaluation board. Logic PD was unable to help, and I have not heard back from TI support so you guys are my only hope!

I should mention that I am not using the XDS100 USB-cable emulator that comes with the board. We have an XDS510PP-plus which I employed to make things run faster. All of the test programs provided by Logic PD that tests the writes and reads to flash (test_nand, test_nor)seem to work correctly, so I don;t have a concern about that portion.

Please help!

 

Thanks in advance.

 

  • Dan, the debug gel file below will print out the version of the ROM you have:

    http://processors.wiki.ti.com/index.php/OMAP-L1x_Debug_Gel_Files

    Let me know if this works for you. Thanks

    Jeff

  • Hi Jeff,

     

    It looks very useful. Thank you.

     I will try it as soon as I figure out why the target is no longer responding to a reset from the emulator!

    One of those days!

    Dan...

  • Hi Jeff,

    Well after making use of my soldering iron and an exacto-knife I am back up and running again. It turns out the GEL file you reccommended indeed show the ID and silicon revision. Thank you!

    Here was the result for boot switches:

    I don't know if I should be concern about the errors/warnings: Invalid AIS keyword, Peripheral Open Failed?

    In SPI mode:

    ROM ID: d800k002
    Silicon Revision 1.0
    Boot Mode: SPI1 Flash

    ROM Status Code: 0x00000009
    Description: Invalid AIS keyword

    Program Counter (PC) = 0x00712120

    In NAND mode:

    ROM ID: d800k002
    Silicon Revision 1.0
    Boot Mode: NAND 8

    ROM Status Code: 0x00000005
    Description: Peripheral Open Failed

    Program Counter (PC) = 0x00712120

    And in NOR:

    ROM ID: d800k002
    Silicon Revision 1.0
    Boot Mode: NOR

    ROM Status Code: 0x00000005
    Description: Peripheral Open Failed

    Program Counter (PC) = 0x00712120

    Thanks again. Now to figure out the bootloading part!

  • For NAND and NOR boot modes, you need to have the UI card attached with the flash medium in the socket. For SPI, it is on the SOM so you could just flash that with the serial flashing tools, which puts a valid AIS keyword at the start of the SPI.

     

    Jeff

  • Hi Jeff,

    Thanks for the info on the SPI flash. I will ultimately need to use either the NAND or NOR flash (whichever is lower power) in the end (since I will need the avilable SPI for the project) so I may as well get it sorted out now. Even with the UI board attached I get those "Peripheral Open Failed" errors. I have run the test_nand and test_nor programs provided from Logic PD successfully, so I believe they are functioning. Should I still be concerned with those errors?

     

    Dan.

  • I would be concerned with those errors unless you are able to flash images to them and boot successfully.

    Jeff

  • Fair enough. If it isn't hardware, then what else might cause that error to occur?

  • Have you tried flashing the NAND or NOR yet? I would suggest trying the CCS flashing tools and seeing if they are able to open the peripheral. Those are included in the latest SDK.

    Jeff

  • Hi Jeff,

    I took the LCD display test program .out file thatc comes with the EVM software and used the AISgen program selecting d800k002 with the rest as defaults. I have run this program (.out file) in debug through the emulator successfully. I tried to use the UARTHost program to try to load the BIN file to the NOR flash. As soon as I push start, the program fails with an ambiguous error:

    (File IO): Read 39604 bytes from file C:\Dan\LCD_gooper.bin.

    (Serial Port): Opening COM1 at 115200 baud...

    (AIS Parse): Boot aborted.

    (Serial Port): Closing COM1.

    I can only guess that it fails to open the COM port? I have run Hyperterminal and successfully on the same COM port and seen the "BOOTME" prompt from the processor when powered-on, so that part is OK.

    I also tried using the NOR_Writer program provided by Logic under the OMAP L138 flash and boot utilities. The bin file is read, loaded and verified successfully, but the program does not run when the power is cycled (with correct boot switch settings for NOR).

    Any thoughts?

    Dan.

  • Hi Jeff,

     

    I also tried an SPI configuration on AISgen for the same LCD test prgogram (even though this is not the final goal). When running the UARTHost I got a bit more information before it died this time:

    (File IO): Read 39584 bytes from file C:\CCStudio_v3.3\MyProjects\AIS files\LCD_gooper_SPI.bin.

    (Serial Port): Opening COM1 at 115200 baud...

    (AIS Parse): Waiting for BOOTME... (power on or reset target now)

    (Serial Port): Read error! (The I/O operation has been aborted because of either a thread exit or an application request.

    )

    (AIS Parse): Read invalid BOOTME string.

    (AIS Parse): Boot aborted.

    (System): Unhandled exception (The I/O operation has been aborted because of either a thread exit or an application request.

    )

    So either way there seems to be some issues with the UARTHost program. I noticed they provide a C# file. I could try to recompile this under MSVS 2008 and see if that fixes anything?

     

  • This error is caused because the AIS file you gave as an input is not in a correct format.

    I recommend you start with this wiki page, which will walk you through booting through the various boot modes. It provides pre-made AIS files for each boot mode, as well as instructions on how to create them from scratch. Hope this helps.

    http://processors.wiki.ti.com/index.php/Boot_Images_for_OMAP-L138

    Jeff

  • Hi Jeff,

    Well I have finally got single image files to load and run successfully on the NOR flash. Some trip-ups were making sure all of the support files were C6748-based as opposed to OMAP and ensuring that the NO_GEL file definition was set to true in the main C files, but it works. One follow-up question I have is:

    If we are using the DSP/BIOS as part of the calls we make (i.e. threading etc.) is all of that included in the .out file that we convert to .bin or is there something else that I would need to load to the flash?

     

    Thanks in advance for your help.

     

    Dan.

     

     

  • No that should all be in the .out file that you convert to AIS and flash.

    Jeff

  • Fantastic. That is one less thing to spend time on.

    Now for porting that multi-threaded Windows PC Console application (with lots of malloc() )to the world of TI...

    I recall lots of fun with memory-mapping in the past so I anticipate an uphill battle....

    Thanks again for your help.

    Dan.

  • Hi Jeff,

     

    While this did utlimately lead me to solve the original problem, I should mention that the error:

    (Serial Port): Read error! (The I/O operation has been aborted because of either a thread exit or an application request.

    )

    still occurs on the command-line version of the UARTHost progam, although it does not usually prevent the program from completing.

    I believe it was stated on the website, but I also needed to instal .NET support for version 4 on Windows. In addition, the web information is directed primarily for the OMAP processor and you have to dig a little further to find the C6748 versions of things.

    Thanks for all your help.

     

    Dan.