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.

CCS/TMS570LS1224: How to Get Basic Program Working on TMS57012 Launchpad Board?

Part Number: TMS570LS1224
Other Parts Discussed in Thread: HALCOGEN, LAUNCHXL2-TMS57012

Tool/software: Code Composer Studio

I'm puzzled. How do you get a simple program to load and run on the TMS57012 Launchpad board?

Here's what I tried. I created a new project in CCS 7 and selected TMS570LS1224 as the Target, the TI v16.9.4.LTS compiler, and the "Hello World" project under "Basic Examples. This claims to "create an empty project fully initialized for the selected device."

I made a few simple changes to main (see below) and built the project. It built without errors. I then clicked on the bug icon in the toolbar to download and execute the program on the board, which also happens without error. The processor never gets to main(), and when I pause it, the PC is at 0x00000004. Disassembling memory starting at 0x00000000 I see  .word 0xFFFFFFFF for the first eight words of memory. I'm not an expert on the Cortex-R4 by any means (I'm more of a Cortex-M guy), but isn't the vector table supposed to be located starting at 0x00000000 and contain instructions like "ldr pc,=reset_handler"? 

Why hasn't the project created a vector table at 0x00000000? I do see valid assembly instructions starting at 0x00000020 that look like a mem copy routine.

Looking at the map file I see that it creates only one memory area called RAM starting at 0x00000020 and 4GB in size. There're no FLASH areas at all. I also don't see any section starting at 0x000000 (which is typically called something like _vectors on other development systems I used.

Why doesn't creating a project using the "Basic Examples" create a project with a sensible memory layout for the target processor and create a valid vector table so the processor can start up properly?

int main(void)
{

    volatile int loops = 0;

    while(1)
        loops++;

	return 0;
}

  • Hello Jerry,

    CCS is a generic tool and not all of the examples are going be setup specifically for the Cortex-R4 structure. Specifically, it seems as though the 'hello world' project you are referring to doesn't implement the asm files for the interrupt table.

    For a guide to use as a jump start, I would recommend going through the 1 day training slides located on the Hercules Wiki page. Specifically, there are some basic labs and examples with step by step walk through in setting up a project, compiling, programming and executing it. This includes the steps to create the HAL drivers using the HalCoGen tools. The training slides target a specific part number but you can perform the steps with the device and development board that you have already keeping in mind that some of the connections to LEDs etc may be different than the Launchpad that is used in the training materials. There are also examples included with the Halcogen tool which are located in a subdirectory to your installation of the tool for example: C:\ti\Hercules\HALCoGen\v04.06.01\examples

    The training can be found on the RM4x Wiki located at this link: processors.wiki.ti.com/.../Category:TMS570

    In addition, there are some initial projects associated with the Launchpad for getting started. These projects along with some guidance are located on the LAUNCHXL2-TMS57012 wiki at this link: processors.wiki.ti.com/.../LAUNCHXL2-TMS57012