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/66AK2E05: Import arm example project for 66AK2E05

Part Number: 66AK2E05
Other Parts Discussed in Thread: EVMK2EX

Tool/software: Code Composer Studio

I want to import the example project into CCS 7.0:

On next step i must select a platform:

Which platform should I choose for ARM core 66AK2E05 ?

  • Hi,

    I've notified the sw team. Feedback will be posted here.

    Best Regards,
    Yordan
  • I create platform:

    Load GEL file and coonect to  target. Initialization is correct.

    Test DDR (GEL script) is correct:

    arm_A15_0: GEL Output: Memory Test Read Core: 0, Mem Start: 0x80000000, Mem Stop: 0x80007FFC ...
    arm_A15_0: GEL Output: Memory Test Done, no errors found.
    arm_A15_0: GEL Output: All Memory Test Completed on core: 0 with 0 errors.

    But when trying to download a .out file, an error occurs:

    arm_A15_0: File Loader: Verification failed: Values at address 0x800050D8 do not match Please verify target memory and memory map.
    arm_A15_0: GEL: File: C:\ti\Test_k2e\hello_66AK2E05_CortexA\Debug\hello_66AK2E05_CortexA.out: a data verification error occurred, file load failed.
    arm_A15_0: Unable to terminate memory download: NULL buffer pointer at 0x3aa4

    Memory Map:

    MEMERY Section in linker.cmd:

    MEMORY
    {
    DDR3 (RWX) : org = 0x80000000, len = 0x40000000
    }

    File linker.cmd: linker.zip

    Where was I wrong?

    P.S. I use custom board with 1GB DDR3 based on EVMK2EX board.

  • This seems to be an issue with CCS integration of TI RTOS projects for K2E platforms. I tried this and was able to build and run the hello world test using the platform "ti.platforms.evmC66AK2E" . Even if it doesn`t show in the drop down options, you can program that value in the template projects as the platform does exist under bios_6.46.x.x\packages\ti\platform\evmC66AK2E folder.

    you don`t need to generate your own platform. Please give this a try.

    When you created your own platform since you didn`t import an existing A15 platform into the tool, I am not certain that it pulls in all the core initialization required to setup the interrupt vectors and cache and MMU that are required by the platform. Please try using the exisiting platform and let us know if this issue still persists.

    Regards,
    Rahul

    PS: Please note that you need to add Semihosting support and librdimon in the project for it to print the hello world to the CCS console as described here:

    http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Examples#ARM_Cortex-A15

  • Rahul, 

    Thanks for the answer!


    I imported the project using c:\ti\bios_6_46_04_53\packages\ti\platforms\evmC66AK2E\

    but but the error remained:

    arm_A15_0: File Loader: Verification failed: Values at address 0x800050E8 do not match Please verify target memory and memory map.
    arm_A15_0: GEL: File: C:\ti\Test_k2e\hello_66AK2E05_CortexA\Debug\hello_66AK2E05_CortexA.out: a data verification error occurred, file load failed.
    arm_A15_0: Unable to terminate memory download: NULL buffer pointer at 0x3aa4

    MEMORY section in linker.cmd:

    MEMORY
    {
    DDR3 : org = 0x80000000, len = 0x80000000
    }

    Physically on my board 1GB DDR.

    Memory Map at load time:

    But I do not understand how this address for arm core 0 (In Target Configuration) affects:

  • I am moving this to the CCS forums to see if they can provide help with the CCS Loader issue.
  • Hi,

    The error shown is very common and described in detail at:
    processors.wiki.ti.com/.../Troubleshooting_CCS_-_Data_Verification_Errors

    Your screenshots show that your target configuration has a GEL file that initializes the external DDR3, therefore ruling out any issues with non-initialized memory. Therefore carefully check the steps shown in the page above, specifically regarding MMU and ARM modes.

    The linker.cmd file must match the hardware - i.e., length of 0x40000000 for 1GB of DDR3.

    The address shown in your last screenshot should not be changed as it is related only to the address where JTAG internal registers are used.

    Hope this helps,
    Rafael