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.

OS aware debugging Linux

Other Parts Discussed in Thread: OMAP3530

Hi guys!!

I am working with a OMAP3530, specifically with ARMCortex and an operating system linux running in the device. When the program is builded and linked in CCSv5 , i have doubts about the comunication between operating system Linux and the CCS in order to make the debugging. I have been reading the documentation in this link http://processors.wiki.ti.com/index.php/Linux_Aware_Debug but i have some questions about it: first all, in the options of debugging, do i have to load only the debugging symbols or the program? Then, does the operating system Linux have to run in the beagle board or not yet? Also, the link above discuss about the use of gel files, in principle it is not use but when after i will work with ARM+DSP, so that, will i need this file for this process in the future?

I am very interested in the first two questions so that if anybody can give me any suggestion, it would be great!!!

Thanks in advance!!

Óscar

  • Óscar,

    Oscar Herranz said:

    in the options of debugging, do i have to load only the debugging symbols or the program? Then, does the operating system Linux have to run in the beagle board or not yet?

    Also, the link above discuss about the use of gel files, in principle it is not use but when after i will work with ARM+DSP, so that, will i need this file for this process in the future?

    I strongly suggest that you check the page below. It contains the procedure and some aspects about the process of debugging either applications (Run-mode debug) or the Linux kernel itself (Stop-mode debug).

    http://processors.wiki.ti.com/index.php/Linux_Debug_in_CCSv5

    As general statements:

    • If Linux is already running on the target, loading any program to it will overwrite whatever was placed there by the linux boot sequence (xloader-uboot-uImage), therefore you must load the Symbols only to perform any kind of low-level debugging (kernel, u-boot, etc.).
    • Don't load GEL files if u-boot or Linux are running, as this will overwrite the configuration done by these programs and cause Linux to halt. Only load GEL files if you are developing simple standalone applications that do not require an Operating System.
    • To debug a linux application (i.e., that runs on a linux command prompt) you must have a stable Linux running on the target and follow the procedure Stop-mode debug in the page above. CCS will use the open source debugger (GDB) to control the application that is running inside the server counterpart (GDB server). The GDB server is launched from the linux command prompt on the target board.

    Hope this helps,

    Rafael

  • Hi Rafael!!thanks for you answer!

    Reading your answer, i understand that the unique modo in order to debug complex applications for ARM of OMAP 3530 in CCSv5 is have to running operating system Linux in beagle board and to use the GDB server? Besides, not use gel file. If you can confirm this modo it would be great!!thanks in advance!

    Óscar

  • Óscar,

    Yes, you are correct. If you follow the procedure in the page I sent before you will be able to debug your code directly from CCS with full source-code access.

    Cheers,

    Rafael

  • Hi guys!!

    The mode that told me works ok!! But in the debugging, specifically in the window called console I got the next messages:

    warning: .dynamic section for "/home/user/ServidorNFS/nfs01/opt/codesourcery/arm-none-linux-gnueabi/arm-2010.09/arm-none-linux-gnueabi/libc/lib/libgcc_s.so.1" is not at the expected address (wrong library or version mismatch?)
    warning: .dynamic section for "/home/user/ServidorNFS/nfs01/opt/codesourcery/arm-none-linux-gnueabi/arm-2010.09/arm-none-linux-gnueabi/libc/lib/libc.so.6" is not at the expected address (wrong library or version mismatch?)
    Cannot access memory at address 0x0

    Actually, i can start the debugging of the program putting breakpoints and seeing that happens in it, but, for instance, when the program goes into a loop  it is receive the above errors. I am not using gel file for ARM.

    Any suggestion?

    Thanks in advance!!

    Óscar

  • Óscar,

    Check the section Known issues and limitations of the page I sent. It has a way to solve this. 

    Regards,

    Rafael