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.

OMAPL138 Bootloading using NOR Flash and AIS

Other Parts Discussed in Thread: OMAPL138, OMAP-L138

Custom_Gel_Settings.rtfdsp-cmd.rtfgel_diagnostics.rtfAIS_Custom_Config.rtfarm-cmd.rtfboot.rtf

Hi,

I have a custom OMAPL138 board and I am trying to bootload ‘blinking LED’ code that works in CCS. I am using AIS tool to generate .bin file. I am following the instructions for booting DSP binaries given in http://processors.wiki.ti.com/index.php/Boot_Images_for_OMAP-L138 . Also I have referred to http://processors.wiki.ti.com/index.php/OMAP-L138_Bootloader#How_do_I_boot_a_DSP_executable.3F

I am using same source files to generate ARM .out file that are given in the example to wake up the DSP and am using my DSP .out file to blink LEDs.

I have generated *.bin using AIS generation tool. I tried giving entry point, but got “can’t specify and entry point without at least one binary file” message. Anyway I could generate *.bin file without it, and the entry point is specified in ARM boot code and DSP linker command file.

I have successfully burnt my NOR flash with this .bin file using NOR flashing utility.

After disconnecting JTAG and after configuring boot pins to NOR boot mode, LEDs don’t blink upon power-up.

I have done the following checks.

  1. Gel file reliance/ Incorrect external memory (DDR2) configuration: Please see AIS configuration and Gel settings files attached.
  2. ARM supervisor mode: I am using boot.asm that is included in the example.
  3. KICK registers unlocking: Though my device revision is 2.1, I do this unlocking.
  4. Incorrect boot mode: have checked boot pins to be at proper voltages by the rising edge of RESET. TRST is externally pulled down. Please see attached Gel diagnostics file. There seems to be some discrepancy when we read data bits on EMIF bus.

Here is the code the scope read out of the flash during cold start (TRST pin pulled low):

Address               Data                       Data read from flash by emulator

--------------|------------------|-------------

00000000             00290029             00000021

00000004             41504954             41504954

00000008             58535905             5853590D

0000000C             00020000             00020000

00000010             00150001             001D0001

00000014             00010402             0000040B

 

The word at 00000000 was read twice, first in four byte-wide reads and then in a pair of 16-bit reads, like the rest of the data.

No hardware problems were observed in bitwise display of data on an analog scope. Addresses were all as described above. Byte addresses were observed on the BA (0:1) pins, although BA (0) is not connected to anything on our development board.

5. Using the bootloader shared memory: I am not using 0x80000000. Please see attached linker .cmd files.

6. I am using ROM auto-initialization model.

Any help regarding this problem is appreciated.

Also, our application has both ARM and DSP applications running and I should be able to boot both after I get this working. Is there anything I should be doing differently to do this?

Many thanks,

Prathibha

  • Hi Prathibha,

    Do you have any TI OMAPL138 LCDK board with you and tried the same ?

    What EVM board you have ?

    DA850 SDI EVM (OMAPL138) or OMAPL138 LogicPD EVM or OMAPL138 LCDK ?

    Please try to boot ARM binary first( it could be bootloader) that should atleast have a LED blinking to ensure the ARM has booted up.

    Also try to use the attached .cfg file for .bin conversion for both ARM app and ARM+DSP app.

    OMAPL138-DSP-LED-NOR.cfg

  • Hi Titus,
    Thank you for your response. As I mentioned in my post, I am using Custom OMAPL138 board similar to OMAPL138LCDK except for NOR Flash. I have LCDK, but I want/have to make bootloading work on our board.
    I have read similar posts on this forum and tried all the tips/suggestions. The file you have mentioned configures EVM. I am using the same source code for ARM boot part. That is why I have attached those files that they ask us to check . Could you please check the files and let me know if you need more information.
    Best regards,
    Prathibha
  • Hi Prathibha,

    Sorry for the delayed response here.
    Able to view and modify the content of NOR flash memory from CCS through memory browser ?
    For that, you have to modify the gel file for CS (chip select) configuration and EMIF setup etc.,

    Mean while I will check your attachments and update you.
    Thanks for your patience.
  • I presume that you have connected CS2 on NOR flash with 16 bit data width.
    Are you using 16bit data width for NOR flash ?

    Please refer to the following TI links.

    http://processors.wiki.ti.com/index.php/Secondary_Bootloaders_on_OMAP-L1x
    http://www.ti.com/lit/an/sprab41e/sprab41e.pdf
  • Hi Titus,
    Thank you for your support. I have been using my custom Gel file for CCS where I configure our PLLs, DDR2, NOR etc. I have tested NOR flash to read, write, erase etc. I am using emulator for my application all along, which works fine. The problem now is bootloading using AIS-NOR flash.
    Yes, I have connected NOR (S29GL032N16-bit) to CS2 which I see the only option AIS Gen tool gives. Actually we have 4 NOR chips cascaded and I am using only one chip for testing bootloading.
    Yesterday I tested ARM application to blink LEDs and it did not work either. Gel diagnostics file read ‘ROM status code=9’ and ‘Invalid AIS keyword’.
    For DSP application to blink LEDs, Gel diagnostics file read ‘ROM status code=A’ and ‘Invalid AIS sync opcode’.
    What do these messages mean? I have hard time finding info. on this.
    I will refer to the links you sent me in the meanwhile. Please help.
    Best regards,
    Prathibha
  • Hi Titus,
    I read the links about secondary bootload procedure. There is a limitation on the code size (16k) in that mode which won’t work for our application. Anyway I wanted to verify our NOR flash loading with ARM blink application.
    1. I could not compile .asm file.
    2. It is not clear in the document how peripheral configurations are done.
    I still want to get NOR-AIS mode working. Waiting for your help.
    Best regards,
    Prathibha
  • Hi Titus,

    I have tried legacy NOR bootloading for both ARM and DSP blinking code. Both failed.

    I am waiting to hear from you on AIS NOR bootload issue.

    Thanks,

    Prathibha

  • Hi Titus,

    Did you get a chance to look at AIS-NOR bootloading issue? I am hoping to hear from you soon.

    I would appreciate it if somebody who has done the same shares his/her experience.

    Thanks,

    Prathibha

  • Hi Prathibha,

    Sorry for the delayed responses on this.

    Actually I don't have a NOR flash on my board and I'm trying to test this in OMAPL137 board.
    You can try to use "NOR flash" writer CCS project to flash the AIS file into NOR flash and also you can check/view the memory of NOR flash after flashing.

    OMAP-L138_FlashAndBootUtils_2_40/OMAP-L138/CCS/NORWriter/

  • Hi Titus,
    Does OMAPL137 board have NOR flash? In my first post I already mentioned that I burnt NOR flash using NOR flash utility tool. I can see same # of bytes i.e. in *.bin file generated by AIS gen tool, in NOR memory region (0x60000000). Only issue I have is with 'LEDs not blinking on power up'. Look forward to your test results.
    Thanks for your support,
    Prathibha