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.

Hello World on CCS 5 Using ARM Cortex A8, *NO* Linux

Guru 10685 points


I'm, trying to get a basic "Hello world" application running in the SRAM of the DM8168 (SRAM starts at 0x40000000 on the DM8168).

  • In CCS I do File->New project.
  • Select "CCS Project", type in a name, select "Generic CortexA8 Device", select "Basic examples"->"Hello World" as the project template.Click "Finish".
  • Then I do "Project"->"Build all". This complete successfully.
  • Then I launch my configuration and connect to the ARM CortexA8 chip.Then I run my GEL file to setup clocks etc. This is the standard TI GEL file that normally allows me to execute U-Boot on the target by running it over JTAG.
  • Now if I do "Run"->"Load"->"Load program" a dialog box pops up telling me "Load Program Failed". 

How can running a "Hello world" app be so difficult??!! Here is a screenshot of the error:

I have another program that I can run correctly and it seems my issues are partly due to the .map file that is associated with my project being wrong. Please can someone help me out on this.

Thanks,
Ralph

  • Hi Ralph,

    What happened is that you built the project without a linker command file (*.cmd). Hence the compiler does not know the memory layout of your target and will allocate your code in default locations... which often does not work well on HW. You can create a linker command file for the A8 of the DM8168 and place your .text section (section for you code) in SRAM in the file. But it will probably be easier if you just copy an existing *.cmd file into your project.

    There is a wiki link that has some example *.cmd file which you can try out:

    http://processors.wiki.ti.com/index.php/Linker_CMD_Files_for_CCS#DaVinci

    The option for DM816 seems to be to use the one for C6A816x. But I have a feeling it is for the DSP. But it gives you an idea on how a linker command file works. You can try asking around in the DM81x forums for examples that have a *.cmd file for the A8 or looking through the examples the come with your device/board.

    If you want full details on linker command files, see section 7.5 of:

    http://www.ti.com/lit/ug/spnu118j/spnu118j.pdf

    Thanks

    ki