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/AM5728: Tutorial/Video for system trace? PC trace?

Part Number: AM5728
Other Parts Discussed in Thread: AM5726

Tool/software: Code Composer Studio

Hello,

Is there a tutorial or how to that I can use to get system trace from Blackhawk USB560 v2? I am getting the following error when I am trying to target an application to Cortex A15 of TI AM572x EVM board. 

Could not run analyzer on CortexA15_0. Unable to run gel script function
tpiu_config_board_fast(). Check that the correct gel script is loaded.

  • Hi,

    The specific issue you are seeing is tied to the absence of a Trace GEL file to the device you are using. This GEL file is present in the board configuration file (either AM572x_GPEVM, AM572x_IDK, etc.) but not on the "pure" device files (AM5726, AM5728, etc.)

    In order to make this work properly, open your Target Configuration File, go to the tab "Advanced" and locate the node CS_DAP_DebugSS and populate with the AM572x_dap_startup.gel file as shown in the screenshot below:

    You have to restart the debug session for the changes to take effect.  

    I am considering adding this to the "pure" device configuration, but for now this is the official workaround.

    Hope this helps,

    Rafael

  • Hello Rafael,

    How should I find out the exact revision number for the board/device. I mean, in the following which one should I select? 

    The sticker along the side says that it is A3 revision. In that case, does it fall in AM5728_RevA

    2) Also, when I try to load a program it gives me the "file loader: verification failed" error. The error is shown in the following video. 

    Click here to play this video

  • Hi,

    1) I don't know of a specific correlation table, but one of the experts from the Sitara team provided me with the following information:

    If they can connect to the board, then they can read the *_ID_CODE registers to see the Silicon Revision.  See the following snapshot from AM572x TRM.

     So, RevA is mapped to SR1.x in the table above. 

    2) The issue with the file is a bit strange; the memory region is ok (0x40300000 should be available at all times), but the code seems to have been built for Cortex M4 - at least it uses its linker CMD file. Perhaps it is using options tailored for this target and thus the code fails to be loaded somehow?

    Regards,

    Rafael

  • Hello Rafael,

    The ID_CODE seems to be 0x2B99002F. That means it is AM572x SR2.0 according to the TRM. In that case, is it still Rev A? 

    I am also noticing that the board/device field has 3 other options. As shown in the figure. Which one should be chosen out of them? 

  • solid repellent said:
    That means it is AM572x SR2.0 according to the TRM. In that case, is it still Rev A? 

    The *_RevA versions are for Silicon Revision 1.1.

    solid repellent said:
    I am also noticing that the board/device field has 3 other options. As shown in the figure. Which one should be chosen out of them? 

    The difference between the board/device variants are which, in any, GEL initialization scripts are used for the Cortex-A15 cores. The GEL initialization scripts perform board specific setup, such as configuring the external memory interface for the memory devices used on the board. If GEL initialization scripts are used for the wrong board, then the external memory may not be configured correctly leading to errors when attempting to download a program from the CCS debugger.

    For your case you should select the GPEVM_AM572X which is for the "AM572x General Purpose Evaluation Module with silicon revision 2.x".

  • Thank you Chester. I used those settings. I am getting the following error. 

    CortexA15_0: GEL: Error while executing OnTargetConnect(): Target failed to read 0x4A0025F4
    at (*((unsigned int *) 0x4A0025F4)&0xFFF) [AM572x_startup_common.gel:69]
    at AM57xx_EVM_Initialization(0) [gpevm_am572x.gel:54]
    at OnTargetConnect()

     

    You can see the sequence that I am following in the following video.

     

    Click here to play this video 

     

  • solid repellent said:
    Thank you Chester. I used those settings. I am getting the following error. 

    CortexA15_0: GEL: Error while executing OnTargetConnect(): Target failed to read 0x4A0025F4

    That error is reported on the first attempt in the GEL file to access peripherals. By default the EVM is set to boot Linux from the eMMC, and once Linux has booted the GEL file can get errors attempting to initialize the EVM.

    One of the following should prevent Linux from booting, allowing the GEL file to initialize the EVM:

    1) Set the boot mode order to "OPTION 2 Boot Order - UART boot" as per Boot and emulation setup. That stops Linux from booting after any power-on or reset.

    2) Connect to the Serial Debug Header, and after a power-on or reset press a key at the  "press any key to stop boot" prompt, to stop at the U-boot prompt before Linux is loaded.

  • Hello Chester,

    Do you think it is the issue which is stopping the debugger to "launch the program" and "run to main"? I would like to load the program and perform a system trace for the time being. 

    Also, if the GEL file does the initialisation of the EVM by preventing Linux from booting, what would happen after the initialisation part? I mean, after the initialisation would the GEL file allow the Linux to boot up and load the program and run to main?

    Thank you.