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.

AMIC110: How to check the NEON register

Part Number: AMIC110

Hi,

 My customer has a question about Neon debugging.

Could you tell them how to check the value in the NEON register q8(d16,d17) by using ICE emulator (XDS200) ?

For example, they want to know the memory address which the Neon register q8 was assigned to or how to check it by CCS.

 They’re using CCS Ver8.3.0.00009

 

Regards,

Hideaki

  • Hideaki,

    I am not sure of the background on this but it looks like the NEON registers are defined as hidden in CCS.  This means that the debugger is aware of them but you do not see them in the register view.

    Here is what their definition looks like (inside a group that has hidden="true"):

    <register id="D0_NEON_L" acronym="D0_NEON_L" width="32" description=""/>
    <register id="D0_NEON_H" acronym="D0_NEON_H" width="32" description=""/>
    <register id="D1_NEON_L" acronym="D1_NEON_L" width="32" description=""/>
    <register id="D1_NEON_H" acronym="D1_NEON_H" width="32" description=""/>
    <register id="D2_NEON_L" acronym="D2_NEON_L" width="32" description=""/>
    <register id="D2_NEON_H" acronym="D2_NEON_H" width="32" description=""/>
    <register id="D3_NEON_L" acronym="D3_NEON_L" width="32" description=""/>
    <register id="D3_NEON_H" acronym="D3_NEON_H" width="32" description=""/>
    <register id="D4_NEON_L" acronym="D4_NEON_L" width="32" description=""/>
    <register id="D4_NEON_H" acronym="D4_NEON_H" width="32" description=""/>
    <register id="D5_NEON_L" acronym="D5_NEON_L" width="32" description=""/>
    <register id="D5_NEON_H" acronym="D5_NEON_H" width="32" description=""/>
    <register id="D6_NEON_L" acronym="D6_NEON_L" width="32" description=""/>
    <register id="D6_NEON_H" acronym="D6_NEON_H" width="32" description=""/>
    <register id="D7_NEON_L" acronym="D7_NEON_L" width="32" description=""/>
    <register id="D7_NEON_H" acronym="D7_NEON_H" width="32" description=""/>
    <register id="D8_NEON_L" acronym="D8_NEON_L" width="32" description=""/>
    <register id="D8_NEON_H" acronym="D8_NEON_H" width="32" description=""/>
    <register id="D9_NEON_L" acronym="D9_NEON_L" width="32" description=""/>
    <register id="D9_NEON_H" acronym="D9_NEON_H" width="32" description=""/>
    <register id="D10_NEON_L" acronym="D10_NEON_L" width="32" description=""/>
    <register id="D10_NEON_H" acronym="D10_NEON_H" width="32" description=""/>
    <register id="D11_NEON_L" acronym="D11_NEON_L" width="32" description=""/>
    <register id="D11_NEON_H" acronym="D11_NEON_H" width="32" description=""/>
    <register id="D12_NEON_L" acronym="D12_NEON_L" width="32" description=""/>
    <register id="D12_NEON_H" acronym="D12_NEON_H" width="32" description=""/>
    <register id="D13_NEON_L" acronym="D13_NEON_L" width="32" description=""/>
    <register id="D13_NEON_H" acronym="D13_NEON_H" width="32" description=""/>
    <register id="D14_NEON_L" acronym="D14_NEON_L" width="32" description=""/>
    <register id="D14_NEON_H" acronym="D14_NEON_H" width="32" description=""/>
    <register id="D15_NEON_L" acronym="D15_NEON_L" width="32" description=""/>
    <register id="D15_NEON_H" acronym="D15_NEON_H" width="32" description=""/>
    <register id="D16_NEON_L" acronym="D16_NEON_L" width="32" description=""/>
    <register id="D16_NEON_H" acronym="D16_NEON_H" width="32" description=""/>
    <register id="D17_NEON_L" acronym="D17_NEON_L" width="32" description=""/>
    <register id="D17_NEON_H" acronym="D17_NEON_H" width="32" description=""/>
    <register id="D18_NEON_L" acronym="D18_NEON_L" width="32" description=""/>
    <register id="D18_NEON_H" acronym="D18_NEON_H" width="32" description=""/>
    <register id="D19_NEON_L" acronym="D19_NEON_L" width="32" description=""/>
    <register id="D19_NEON_H" acronym="D19_NEON_H" width="32" description=""/>
    <register id="D20_NEON_L" acronym="D20_NEON_L" width="32" description=""/>
    <register id="D20_NEON_H" acronym="D20_NEON_H" width="32" description=""/>
    <register id="D21_NEON_L" acronym="D21_NEON_L" width="32" description=""/>
    <register id="D21_NEON_H" acronym="D21_NEON_H" width="32" description=""/>
    <register id="D22_NEON_L" acronym="D22_NEON_L" width="32" description=""/>
    <register id="D22_NEON_H" acronym="D22_NEON_H" width="32" description=""/>
    <register id="D23_NEON_L" acronym="D23_NEON_L" width="32" description=""/>
    <register id="D23_NEON_H" acronym="D23_NEON_H" width="32" description=""/>
    <register id="D24_NEON_L" acronym="D24_NEON_L" width="32" description=""/>
    <register id="D24_NEON_H" acronym="D24_NEON_H" width="32" description=""/>
    <register id="D25_NEON_L" acronym="D25_NEON_L" width="32" description=""/>
    <register id="D25_NEON_H" acronym="D25_NEON_H" width="32" description=""/>
    <register id="D26_NEON_L" acronym="D26_NEON_L" width="32" description=""/>
    <register id="D26_NEON_H" acronym="D26_NEON_H" width="32" description=""/>
    <register id="D27_NEON_L" acronym="D27_NEON_L" width="32" description=""/>
    <register id="D27_NEON_H" acronym="D27_NEON_H" width="32" description=""/>
    <register id="D28_NEON_L" acronym="D28_NEON_L" width="32" description=""/>
    <register id="D28_NEON_H" acronym="D28_NEON_H" width="32" description=""/>
    <register id="D29_NEON_L" acronym="D29_NEON_L" width="32" description=""/>
    <register id="D29_NEON_H" acronym="D29_NEON_H" width="32" description=""/>
    <register id="D30_NEON_L" acronym="D30_NEON_L" width="32" description=""/>
    <register id="D30_NEON_H" acronym="D30_NEON_H" width="32" description=""/>
    <register id="D31_NEON_L" acronym="D31_NEON_L" width="32" description=""/>
    <register id="D31_NEON_H" acronym="D31_NEON_H" width="32" description=""/>

    If I look at the register ID file for Cortex A8 I see the following for D16:

    <register_id id="D16_NEON_L" value="0x20003b80" address="0" page="0" />
    <register_id id="D16_NEON_H" value="0x20203b80" address="0" page="0" />
    So the debugger knows the address for each of them.  Thus if your customer wants to view D16 they could add D16_NEON_L and D16_NEON_H to the expressions view.  I don't have an AMIC110 (or AM335x) to try this on myself.
    Regards,
    John