We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I found if I set breakpoints in assembly code, the DS-5 debugger is not trapped there on omap3530 beagleboard. In addition, it doesn't step in assembly codes, if assembly codes are in a static/dynamic libs.
>> If assembly code is in application, I can set bp and stop there. But if it is in a static lib, it doesn't stop. <<
That's quite odd; I would expect code in a static lib to behave essentially the same way a application code. Perhaps the static lib code is not actually making it into the link (e.g. duplicate symbols), or perhaps the execution isn't actually reaching the code.
How are you setting the static lib breakpoint? From a source view? From a Disassembly view? Using the Command line?
Can you post the break command from the Commands view and the output of 'info breakpoints' after setting the static lib breakpoint?
>> But no stack frames displays, I can not see who is caller. Any idea of how to solve the issue? << If your assembly code is being assembled by gas then I think the answer may be to use .cfi_* directives to produce appropriate .debug_frame information for your function. Unfortunately, I don't know enough to be sure or to explain in more detail.
If you know the assembly code and can find the saved value of lr (maybe it's still in lr) then you can target a Disassembly view at the saved value and see the caller. If the caller has frame info you could try to see the caller's stack frame by putting the saved value of lr back into pc and restoring sp to what it was in the caller.
I tried arm-angstrom-linux-gnueabi-as -march=armv7-a -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp on new DS-5 there are still no stack frames, no registers, and register and frame commands have no response on command view window.
The top of the stack is determined by the SP register, so the lack of stack frames is probably to do with the lack of registers.
I would recommend that you check the version of gdbserver that you are using. We recommend using version 6.8, and a copy of 6.8 gdbserver binaries is included with the product in the following directory:
<installation_directory>/arm/armv5t/gdbserver
You can try using this gdbserver to see if this solves the lack of registers.
Another suggestion is to quit Eclipse, delete the following directory and restart Eclipse:
%APPDATA%\ARM\DS-5\configdb (on Windows) $HOME/.ds-5/configbd (on Linux)
Finally, a new release of DS-5 was recently made available on Mon 9th Aug which you might like to try. You can download it from:
silver.arm.com/.../DS5TR
Please let us know if any of these help to resolve your register problems.
I tried gdbserver 6.8 and deleted $HOME/.ds-5/configbd. But no joy. I tried to download new release, it doesn't download. Another issue is after I enter assembly codes, step out doesn't work, here is error message.
ERROR(CMD440-CMD354-COR61): ! Stepping failed ! Unable to step out of the current function ! Cannot step out, no stack unwind data to determine return address
The lack of stack unwind data can be fixed by adding -fno-omit-frame-pointer to your gcc compiler options, and then rebuilding your image.
I am sorry, my last reply about -fno-omit-frame-pointer is incorrect. For assembly code it is probably necessary to add additional directives to the code to specify the start and end of functions, but I do not know the correct syntax for this.
For the download problem, I tried the Windows build and it was Ok. When I downloaded the Linux build I found it had what looks like the wrong file extension, which may cause errors when you try to extract it. The Linux build downloaded for me as:
DS5TR-BN-00001-r5p0-03rel0.tgz.tar
And it can be extracted using:
gtar -zxvf DS5TR-BN-00001-r5p0-03rel0.tgz.tar
I have used this option in my compiler
clicked download image, it links to same page. When you move cursor over the download image, you can see the link has no *tar file at the bottom of the browser.
On the download page, you should see two columns. In the left hand side are different categories of product, and you should select:
Software Development Tools -> DS-5 Trial
Then in the right-hand side, you will see up to three downloads:
DS-5 Trial Binary (GPL Sources) DS-5 Trial Binary (Linux) DS-5 Trial Binary (Windows)
Next to each of these is a "Download Now" link to download the files. I have found that the extension for the Linux download differs depending on the web browser you use. I originally used Chrome and the file ends with .tgz.tar. If I use Internet Explorer it ends with .tgz. In both cases, extract it the same way at a Linux shell using the gtar command.
I am not seeing your page, Here is download page I get www.arm.com/.../ds-5.php I use firefox.
I can now reproduce this. I think this is a problem with the website. The solution is to logout using the button in the top-right corner of the page, then log back in again. After this you should reach the download page that I described before.
It's the web browser that adds .tar if it thinks the mime type for the file suggests it is a tar file.
It's a common problem with compressed tar files.
I just tested the new release. It has same issues as before, no register, no stack frames in assembly code and it doesn't step out. Are they tested OK in windows environment?
> Are they tested OK in windows environment?
The DS-5 releases are tested on various versions of Windows and Linux both 32- and 64-bit.
For Linux hosts, the primary platform is Red Hat Linux Enterprise 5 for x86 (32- & 64-bit). They have also been tested some on Ubuntu 9.10 64-bit, but it's not officially supported yet.
I tested DS-5 in Windows Vista, there are still no frame stacks in assembly codes except registers view.