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 with CCS4

I'm trying to test some code before I have a board.  I followed the Hello World tutorial and selected Texas Instruments Simulator and C6745 Device Functional Simulator, Little Endian.  It compiles with no errors but when I run in Debug mode I get the following messages in the console:

TMS320C64X+_0: Warning: C67x: READ access  - 0x569c C67x: READ access  - 0x569c C67x: READ access  - 0x569c C67x: READ access  - 0x567c C67x: READ access  - 0x567c C67x: READ access  - 0x5660 C67x: READ access  - 0x5664 
TMS320C64X+_0: Warning: C67x: READ access  - 0x0 C67x: READ access  - 0x5668 
TMS320C64X+_0: Warning: C67x: READ access  - 0x158 C67x: READ access  - 0x5670 
TMS320C64X+_0: Warning: C67x: WRITE access - 0xac0008 C67x: READ access  - 0x5678 
TMS320C64X+_0: Error: Illegal opcode at pc = 0x00005678 C67x: READ access  - 0x567c 

When I run it, the same messages are printed in the console -- but no "hello world".

What am I missing? Is it possible to run this code in CCS4 without a simulator ? Why do I need a simulator to run hello world?

     sitichon

 

 

  • Hi jamp,

    I think these errors are because there is no device present physically because of which memory accesses fail.  You would need an emulator for that purpose.

    Regards,

    Sid

  • So you're telling me I need an emulator to run a simulator?  That seems presumptuous on the part of the simulator developers.

    No way around this?

     

  • How would I specify both an emulator and simulator?

  • Hi,

    What is the CCS version you are using? I couldn't reproduce this issue in CCSv4.1.3 and CCSv4.2.0 RC1, but I found a reported bug case where a very similar scenario is happening - read errors specifically to the C6745 simulator. The fix to this bug is still being worked, therefore could you try to use the C6747 simulator instead and see if the issue goes away?

    If not, then could you please send me your project so I could try to reproduce it here?

    Hope this helps,

    Rafael

     

  • CCS 4.1.2.00027

    I changed target to C6747 simulator with identical result.

    I've attached my project folder.

    Thanks,

           jamp

    HELLO.zip
  • Hi,

    I see now what is happening; your project does not have a linker command file, therefore the linker starts placing everything starting in address 0x0. The C6745/C6747 Memory map (page 21 of its datasheet) shows this area as reserved for the Programmable Real-Time Unit Subsystem (PRUSS), which has very limited memory space available. 

    Try to use the attached linker command file I created for the C6747. This should solve the issues you have.

    For additional details about memory sections and linker command files, please check section 2.3 of SPRU186Q (for Compiler v.6.1.x)

    Hope this helps,

    Rafael

    C6747.cmd
  • What do I do with the C6747.cmd file?   Where do I put it and how do I tell code composer to use it?

    Is this cmd file something I can generate by the settings in the Build Properties window?

       thanks, jamp

     

  • Hi,

    You need to add the linker command file <C6747.cmd> to your project (right click on the project --> Add files to Project --> browse to the location of the cmd file). This way CCSv4 becomes aware of this file and will use it.

    Historically the linker command files were always created from scratch by the developer, since they reflect each custom design and its arrangement of external memory, peripherals, etc. With the increasing complexity of devices and systems, it was common to delegate the task of creating such files to real-time operating systems like DSP/BIOS, but CCSv4 still includes these files for C2000, Stellaris and MSP430 families.

    In your case I suggest you to use the linker CMD file I sent earlier to help you start learning CCSv4 and follow the Getting Started Guide on the wiki for other options and more advanced topics, including the use of DSP/BIOS. 

    http://processors.wiki.ti.com/index.php/CCSv4_Getting_Started_Guide

    Additional training information and presentations is also available at the link below:

    http://processors.wiki.ti.com/index.php/Training

    Hope this helps,

    Rafael 

     

  • It's working now.  Thankyou very much for your patience and instruction.

        jamp