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.

making combined AIS file from ARM and DSP *.out files

Other Parts Discussed in Thread: OMAP-L138, OMAPL138

Hello,

I am trying to use AISgen_d800k008 to combine an ARM and a DSP .out file into a single AIS file to flash onto the NAND of an OMAP-L138 LCDK board.

I got the ARM .out file from the LED example project here: http://processors.wiki.ti.com/index.php/Boot_Images_for_OMAP-L138.  I have confirmed that it can succesfully wake up the DSP as it is designed to do.

I made the DSP .out file with CCS v6. It successfully runs over the emulator in CCS and blinks an LED.

I am following the instructions here http://processors.wiki.ti.com/index.php/Boot_Images_for_OMAP-L138 to make the AIS file, but when I flash it onto the board and reset, nothing happens.  The instructions say "the linker command file for the DSP application should specifically force the entry point to also be aligned to a 1KB boundary. For this example, a memory region named "entry_point" was created at address 0x80010000, and the section ".text:_c_int00" was assigned to that memory region."  I can't figure out how to do that in CCS v6, so maybe that is what is wrong.  If someone could point me to a resource that says how to do this, and has any other tips about making and running the combined AIS file, that would be great.

thanks.

 

  • Hi Mathew,

    Please refer to the following link and follow the instructions which will help you.

    processors.wiki.ti.com/.../OMAPL138_StarterWare_Booting_And_Flashing

    --
  • Thankyou, that looks like some good information there.  Which section do you suggest I follow?

    Should I follow the "3 - Booting an ARM+DSP System" section, or the "4.1 - How to flash and boot the sample DSP starterware app on OMAPL138 LCDK board" section?

    I think section 4.1 is the one I want, because I am using OMAPL138 LCDK, and my goal is to be able to load and run a DSP program from NAND.  I don't need to run an ARM application, I just need the ARM to wake up the DSP.  I have tried this method (section 4.1) but it is not working yet (the starterware bootloader gets stuck after printing "StarterWare OMAPL138 Boot Loader" to Tera Term, nothing happens after that).  Before I spend too much time trouble-shooting this, can you tell me if section 4.1 is the right instructions to follow?

    Thank you.

  • Hello, just an update to my last post.

    I have been following the instructions at: "processors.wiki.ti.com/.../OMAPL138_StarterWare_Booting_And_Flashing"  -  section 4.1,

    With no success. 

    There is something very strange, which I will describe below:

    On my first attempt, when I follow all steps to make the two files and load them with the boot utility, and reset the board, I get this output from the board to Tera Term: "StarterWare OMAPL138 Boot Loader"

    Later, I saw that the DSP application entrypoint must be aligned to 1024 bytes, so in the linker cmd file, I changed:

    .text > SHRAM

    to

    .text:_c_int00: align=1024 > SHRAM

    I think this was incorrect, and I should have added that line to the cmd file, instead of replacing ".text > SHRAM" because it made my DSP program stop working correctly in CCS.  However, I repeated all steps in section 4.1 with this new .out file, and when I reset the board, now, strangly, the starterware bootloader actually seemed to get a little further, because it wrote more stuff to Tera Term, as follows:

    StarterWare OMAPL138 Boot Loader
    Jumping to StarterWare Application...

    Running DSP Application...

    However, nothing happened after that - my DSP program showed no signs of running.

    Next, I corrected the linker cmd file for my DPS program to include both

    ".text > SHRAM"

    AND

    ".text:_c_int00: align=1024 > SHRAM",

    and then it worked again in CSS.  However, when I flashed onto the NAND and reset the board, now the starterware bootloader was back to only outputting "StarterWare OMAPL138 Boot Loader".  It's almost like the starterware bootloader gets further along only when the DSP program is broken.

    Can anyone give me some insight into what is wrong?

    thanks,

    - Matt.

  • Hi Mathew,

    Just the gel file of OMAPL138 is more than enough to wake up the ARM core first and then the DSP core. Follow these steps to load and run the DSP program.

    In the steps, instead of raster example, consider your example.

    How to flash and boot the sample DSP starterware app on OMAPL138 LCDK board
    ------------------------------------------------------------------------------------------------------

    It is assumed that you already installed "OMAPL138_StarterWare_1_10_03_03". For example, Consider you want to flash and boot the Raster example given at path "..\ti\OMAPL138_StarterWare_1_10_03_03\examples\lcdkOMAPL138\raster"

    1 First, import the raster display project given at "..\ti\OMAPL138_StarterWare_1_10_03_03\build\c674x\cgt_ccs\omapl138\lcdkOMAPL138\raster" into CCS, build and generate the rasterDisplay.out.

    2 Using CCS, Open up the linker file, "raster_c674x_omapl138_lcdkOMAPL138.map" and notice the entry point "ENTRY POINT SYMBOL: "_c_int00" address: c009d000".

    3 Import the ARM starterware bootloader project given at "..\ti\OMAPL138_StarterWare_1_10_03_03\build\armv5\cgt_ccs\omapl138\lcdkOMAPL138\bootloader" and import it into CCS.

    4 Before building the bootloader project, in bl_main.c, assign the DSP entry point address( Please note that this is the address noticed in the raster_c674x_omapl138_lcdkOMAPL138.map linker file of raster display project) as 0xc009d000(i.e., unsigned int DspEntryPoint = 0xc028cc00;)
    Buid the project and generate the boot.out file.
    5 Using AIS gen tool, load the appropriate configuration file and convert the boot.out into boot.ais
    6 Using out2rprc, convert the rasterDisplay.out into rasterDisplay.bin
    On OMAPl138 LCDK board,set the boot switches for UART mode(1:4 = 0101 on OMAPL138 LCDK). Open serial terminals like teraterm and make sure you get the "BOOTME" message.
    7 By sfh utility, flash the two images, boot.ais and rasterDisplay.bin using the below command.

    $>sfh_OMAP-L138.exe -flash boot.ais rasterDisplay.bin -targetType OMAPL138_LCDK -flashType NAND -p COM3

    Where 3 is the COM port number. After flashing successfully, Change the boot switches for NAND boot (1:4 = 0111 on OMAPL138 LCDK) and power on or reset the LCDK board. You will Observe the starterware messages from both the sample projects, bootloader and Rasterdisplay.


    ------------------------------------------