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.

Where is the NEON register in CCS debug perspective?

Other Parts Discussed in Thread: AM3517

Hi,

Even I write some NEON code and it runs in debugger, I cannot see the NEON register contents. The compiler options are:

-mv7A8 --code_state=32 --float_support=VFPv3 --abi=eabi -me -O2 --opt_for_speed=5 --include_path="C:/ti/ccsv5/tools/compiler/arm_5.1.1/include" --include_path="C:/ti/AM335X_StarterWare_02_00_01_01/include" --include_path="C:/ti/AM335X_StarterWare_02_00_01_01/include/hw" --include_path="C:/ti/AM335X_StarterWare_02_00_01_01/include/armv7a/am335x" --include_path="C:/ti/AM335X_StarterWare_02_00_01_01/include/armv7a" --gcc --diag_warning=225 --display_error_number --diag_wrap=off --neon

The StarterWare library has also updated the respective options such as VFPv3, -mv7A8 etc.

From the screen shot, can you see what register group has NEON registers?

Thanks,

  • Robert,

    This forum supports only Linux.

    For Starterware support please ask on the dedicated forum: https://e2e.ti.com/support/embedded/starterware/f/790

    For CCS support please ask on the dedicated forum: https://e2e.ti.com/support/development_tools/code_composer_studio/f/81

  • Nice explanation of the Neon q registers here:

    http://processors.wiki.ti.com/index.php/Cortex_A8#What_does_a_Neon_assembly_instruction_look_like

    Attached (old CCSv5.  Can't remember if AM3517 or AM335x) screenshot shows at least the VFP d registers highlighted in yellow on CCSv5 after running a biquad in Linux.  They should show up in the CPU registers drop down window.  I think I have a screen shot of the dot product in above link somewhere.  Can also dig up the project in Linux.

  • Thanks for your reply. Comparing with your picture, there are too many differences between the two. I cannot set the 'Registers' window to yours, i.e. there is no 'd0' etc. registers in mine project. Second, I notice that in your 'Debug' Window, there is gdb icon, while there is no such in mine.

    I did have one asm function in NEON code. Even there is no NEON code, the NEON registers should still be there to display.

    I have tried for TI CGT compiler in CCS 6 under Linux. The NEON register is still missing.

    BTW, does your project use GCC toolchain or CGT? I don't know whether it matters or not.

  • Sorry, I did this too long ago but will try again next week on newer CCS and HW.

     

    >> Second, I notice that in your 'Debug' Window, there is gdb icon

    Good point.  From memory, I might have only been able to run CCS with gdb (over Ethernet) to see the Neon reigsters back then.   And definitely built/loaded from Linux.

     

    >>BTW, does your project use GCC toolchain or CGT? I don't know whether it matters or not.

    Definitely built with gcc back then especially to get Neon/VFP registers working. Though CGT might work now,  from memory Neon intrinsics did not work in CGT back then.  I'm sure pretty I never got Neon working on Starterware back then (i.e. setting up cache/Neon/VFP was easier in Linux) but this also might have changed recently with Staterware and SYS/BIOS usage.

    Just remembered, pretty sure there still is an option in CCS (with JTAG) under View->"Advanced Features" or something light that (same dialog box as GEL files) that allows you to turn Neon/VFP on/off with a checkbox.  Maybe that matters?

     

  • Not sure how much this helps you, but at quick glance it looks like we did this on an AM3517 EVM using gdb:

    processors.wiki.ti.com/.../Sitara_Linux_SDK_CCS_GDB_Setup

    (And setting up with RSE helped: processors.wiki.ti.com/.../How_to_setup_Remote_System_Explorer_plug-in )

    CCSv6 should work the same (over Ethernet/Linux).  Sorry, haven't had a chance to see if we can do the same with JTAG over CCS (with Starterware or other non-Linux method). 

    >>Just remembered, pretty sure there still is an option in CCS (with JTAG) under View->"Advanced Features"

    Actually in Tools->ARM Advanced Features [Neon Enabled] but still did not see q or d registers.  

    Please see screenshot below that shows the d and q registers and dissassembly with gdb.

  • Just FYI when I was on my Linux laptop for another issue, I noticed the Starterware does have a Neon project:
    processors.wiki.ti.com/.../StarterWare_02.00.01.01_User_Guide

    When I built and ran the gcc project on an AM335x EVM after connecting with JTAG, I saw VFP d registers being used in the disassembly (not using vfplib like with TI CGT). But still never saw the d or q registers in the screenshot above.