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.

CCSv4.1 Load symbols

Other Parts Discussed in Thread: AM3517

 Hi ,

I was able to debug the AM3517 kernel/drivers on CCSv4(BH-560M) but only with assembler (steping /breakpoints / memory access).

How can I see the AM3517 proccesoer many registers and debug with C code?

Thanks,

Ofer 

  • Assuming you have the kernel source tree and have compiled it with debugging info enabled, you just need to do a "Load symbols ..." for the vmlinux image. If vmlinux is in the default location in the source tree, CCS should automatically be able to locate all the source files.

    You might also want to consider giving the CCSv5 LR release a try. There have been some bug fixes in the symbol area in v5 that are applicable to Linux kernel debugging.

  • Hi Andy,

    Now I can see symbols and stepping in C code.

    But it seems that the memory access is not working for me, that all memory set to  0xBAD0BAD0.

    Also Is there any script that show the AM3517 registers with all the descriptions and values for each module.

    Thanks,

    Ofer

     

  • It is likely the memory you are trying to view is not mapped by the MMU.  What are you trying to view?

    I'm not aware of a script that will print all the regsiters with descriptions and values. There are many, many registers so the list would be very long. You can expand all groups in the register view and then copy the view contents to the clipboard to get the list of registers in a text file. One thing to note though: there is a bug where the register view uses physical addresses of memory mapped registers but it does not bypass the MMU. This will be fixed in the next v5 release.

  • Where can I get the CCSv5 upgrade instructions?

    Thanks,

    Oefr

  • The v5 wiki has the download links for ccsv5. The downloads are temporarily offline as I write this, but shoudl be back very soon.

  • Hi Andy,

    I have managed to work with CCSv5 but still memory access is not visible.

    I attached the configuration file and the GEL file.

    Thanks,

    Ofer

     8054.CCSv5_view.doc

    4857.evm_am3517_gel.txt
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    menuitem "evm_am3517"
    //StartUp()
    //{
    // Do nothing
    //}
    OnTargetConnect()
    {
    Startup_Sequence();
    }
    OnFileLoaded()
    {
    GEL_Reset();
    GEL_Restart();
    }
    OnReset()
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

     

    2541.NewTargetConfiguration_ccxml.txt
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <configurations XML_version="1.2" id="configurations_0">
    <configuration XML_version="1.2" id="Blackhawk USB560-M Emulator, 20-pin JTAG Cable_0">
    <instance XML_version="1.2" desc="Blackhawk USB560-M Emulator, 20-pin JTAG Cable_0" href="connections\BH-USB560m_20pin_Connection.xml" id="Blackhawk USB560-M Emulator, 20-pin JTAG Cable_0" xml="BH-USB560m_20pin_Connection.xml" xmlpath="connections"/>
    <connection XML_version="1.2" id="Blackhawk USB560-M Emulator, 20-pin JTAG Cable_0">
    <instance XML_version="1.2" href="drivers\tixds560icepick_c.xml" id="drivers" xml="tixds560icepick_c.xml" xmlpath="drivers"/>
    <instance XML_version="1.2" href="drivers\tixds560dap_pc.xml" id="drivers" xml="tixds560dap_pc.xml" xmlpath="drivers"/>
    <instance XML_version="1.2" href="drivers\tixds560cortexA.xml" id="drivers" xml="tixds560cortexA.xml" xmlpath="drivers"/>
    <instance XML_version="1.2" href="drivers\tixds560cs_child.xml" id="drivers" xml="tixds560cs_child.xml" xmlpath="drivers"/>
    <platform XML_version="1.2" id="platform_0">
    <instance XML_version="1.2" desc="OMAP3503_0" href="Devices\omap3503.xml" id="OMAP3503_0" xml="omap3503.xml" xmlpath="Devices"/>
    <device HW_revision="1" XML_version="1.2" description="" id="OMAP3503_0" partnum="OMAP3503">
    <router HW_revision="1.0" XML_version="1.2" description="ICEPick_C Router" id="IcePick_C_0" isa="ICEPICK_C">
    <subpath id="Subpath_0">
    <router HW_revision="1.0" XML_version="1.2" description="CS_DAP_PC Router" id="CS_DAP_PC_0" isa="CS_DAP_PC">
    <subpath id="Subpath_1">
    <cpu HW_revision="1.0" XML_version="1.2" description="Cortex_A8 CPU" id="Cortex_A8_0" isa="Cortex_A8">
    <property Type="filepathfield" Value="..\..\..\..\BB_VSM\JTAG\AM35xx\evm_am3517.gel" id="GEL File"/>
    </cpu>
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • I think I may have misunderstood your initial description of the problem. It sounds like you are trying to view groups of memory mapped registers in the memory view, correct? In your attached screenshot, you have 0x48002000 displayed in the memory view (which corresponds to "system control - module").

    If that is the case, there are two things to consider. First, the memory view will normally show the CPU view of the system. If the MMU is on, you will see what is mapped by the MMU. You can manually bypass the MMU by going to the Tools -> ARM Advanced Features view and temporarily disabling the MMU. The cache states may come into play when doing this, so care is required.

    The other thing to consider is whether a memory mapped register of interest can be displayed in the register view. This would usually be the best option. However, a bug was recently found where CCS was not bypassing the MMU when displaying memory mapped registers in the register view. This will be fixed in the next update, but if this is what you need to do I can provide a patch to workaround the problem.

  • Hi Andy,

    I have tried the MMU disable and still not working.

    Please send me the patch for fix the memory access in CCSv5.

    Thanks

    Ofer

  • Ofer,

    I'm still not sure understand the problem you are experiencing. What are you expecting to see in the memory view?