Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Debugging assembly program on NEON: (19 Items)
   
Debugging assembly program on NEON  
I have downloaded the BSP for ARM cortex A8, built it and flashed on the Mistral EVM board.

I have written a program using NEON intrinsic and assembly in C, now I want to debug this program on the target board 
using momentics installed on the windows machine or some other method, please let me know what i procedure for the same.
Associations:
post63528:
              Re: RE: Debugging assembly program on NEON - However the same program runs successfully with out any issue(Though the fianl result is not matching with reference code) - Girisha SG
            
RE: Debugging assembly program on NEON  
There is no difference to debug a program written in C or assembly. You compile it with debug option turned on and debug
 it using QConn (IP) launch configuration, or Serial launch if you don't have QConn running over TCP/IP.

If you want to debug IPL or Startup, you can use a JTag device and the "GDB hardware debug" option in IDE.

All can be found in this document http://www.qnx.com/developers/docs/6.4.1/ide_en/user_guide/debug.html

-----Original Message-----
From: Girisha SG [mailto:community-noreply@qnx.com]
Sent: Thu 19/08/2010 7:42 AM
To: general-ide
Subject: Debugging assembly program on NEON
 
I have downloaded the BSP for ARM cortex A8, built it and flashed on the Mistral EVM board.

I have written a program using NEON intrinsic and assembly in C, now I want to debug this program on the target board 
using momentics installed on the windows machine or some other method, please let me know what i procedure for the same.




Attachment: Text winmail.dat 2.87 KB
Re: RE: Debugging assembly program on NEON  
I had tried this using momentics 6.5.0 IDE, it was not of much help as it use to crash abruptly/give error sayin illigal
 instruction etc :( after pressing F5 couple of times. 

Also it is not shawing d/s register contents properly
Associations:
post63506:
              Debugging assembly program on NEON - However the same program runs successfully with out any issue(Though the fianl result is not matching with reference code) - Girisha SG
            
RE: RE: Debugging assembly program on NEON  
You must be careful about pressing F5 to step into the code. You don't
want to step into any system binaries (e.g. libc) otherwise you will get
error from gdb that it can't intercept the memory not owned by your
program.

What do you mean not showing register contents properly? Wrong
registers? Program error?

-----Original Message-----
From: Girisha SG [mailto:community-noreply@qnx.com] 
Sent: Thursday, August 19, 2010 9:17 AM
To: general-ide
Subject: Re: RE: Debugging assembly program on NEON

I had tried this using momentics 6.5.0 IDE, it was not of much help as
it use to crash abruptly/give error sayin illigal instruction etc :(
after pressing F5 couple of times. 

Also it is not shawing d/s register contents properly



_______________________________________________

General
http://community.qnx.com/sf/go/post63528
Re: RE: RE: Debugging assembly program on NEON  
Register contents are wrong and also it is not showing different lanes present in each register(i.e. Each NEON register 
is 64 bit and it can be logically devided into multiple lanes)
Re: Debugging assembly program on NEON  
If it says illegal instruction - it is illegal instruction. Which can be even true if you use assembly.
You cannot really blame IDE for that. Make sure you have same binary on host and target when debugging, and same shared 
libraries (libc versions specifically).

On 19/08/10 09:17 AM, Girisha SG wrote:
> I had tried this using momentics 6.5.0 IDE, it was not of much help as it use to crash abruptly/give error sayin 
illigal instruction etc :( after pressing F5 couple of times. 
> 
> Also it is not shawing d/s register contents properly
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post63528
> 
Re: Debugging assembly program on NEON  
However the same program runs successfully with out any issue(Though the fianl result is not matching with reference 
code)
 
 

Re: Debugging assembly program on NEON  
Than check that binary and libraries are matching, I bet they don't. Do you see any warning about it in debugger console
 in IDE?

On 19/08/10 09:47 AM, Girisha SG wrote:
> However the same program runs successfully with out any issue(Though the fianl result is not matching with reference 
code)
>  
>  
> 
> 
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post63539
> 
Re: Debugging assembly program on NEON  
I am using BSP supplied by QNX and that is version 6.4.1 and host machine is installed with momentics 6.5.0
Re: Debugging assembly program on NEON  
I require 6.5.0 for my development as a must requirement.
Re: Debugging assembly program on NEON  
Does not matter what bsp is for, if it compiles. What target is running? If it is 6.4.1 debugging won't work.
Also debugger does not have support for neon registers I think, you can ask about core tool forum about it.

On 19/08/10 10:03 AM, Girisha SG wrote:
> I am using BSP supplied by QNX and that is version 6.4.1 and host machine is installed with momentics 6.5.0
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post63544
> 
Re: Debugging assembly program on NEON  
It should have support for NEON registers. Check gdb revision (to make
sure you are not picking up wrong gdb).

If you do "info all-registers", what does gdb display?

On Thu, 2010-08-19 at 10:10 -0400, Elena Laskavaia wrote:
> Does not matter what bsp is for, if it compiles. What target is running? If it is 6.4.1 debugging won't work.
> Also debugger does not have support for neon registers I think, you can ask about core tool forum about it.
> 
> On 19/08/10 10:03 AM, Girisha SG wrote:
> > I am using BSP supplied by QNX and that is version 6.4.1 and host machine is installed with momentics 6.5.0
> > 
> > 
> > 
> > _______________________________________________
> > 
> > General
> > http://community.qnx.com/sf/go/post63544
> > 
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post63550
> 

Re: Debugging assembly program on NEON  
It shows all the registers(including S registers) but it does not show different lanes within each register i.e. Each 64
 bit neon register can be devided into multiple lanes depending on the data size, but with IDE it is not showing 
different lanes
Re: Debugging assembly program on NEON  
Could you try "info all-registers" from gdb console?


On Fri, 2010-08-20 at 01:31 -0400, Girisha SG wrote:
> It shows all the registers(including S registers) but it does not show different lanes within each register i.e. Each 
64 bit neon register can be devided into multiple lanes depending on the data size, but with IDE it is not showing 
different lanes
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post63673
> 

Re: Debugging assembly program on NEON  
I could not recompile the BSP released for 6.4.1 as I was getting an error 
"error: operator '==' has no left operand" for the below section of code

/* Leave deprecated sections enabled for right now */
#if !defined(ENABLE_DEPRECATED_SYSPAGE_SECTIONS)
# define ENABLE_DEPRECATED_SYSPAGE_SECTIONS
#elif (ENABLE_DEPRECATED_SYSPAGE_SECTIONS == 0) /* Error for this line */
# undef ENABLE_DEPRECATED_SYSPAGE_SECTIONS
#endif

I had commented the #elif part and I could build the code.

With this image I am not seeing any abrupt behaviour till now !
Re: Debugging assembly program on NEON  
On 10-08-20 01:35 AM, Girisha SG wrote:
> I could not recompile the BSP released for 6.4.1 as I was getting an error
> "error: operator '==' has no left operand" for the below section of code
>
> /* Leave deprecated sections enabled for right now */
> #if !defined(ENABLE_DEPRECATED_SYSPAGE_SECTIONS)
> # define ENABLE_DEPRECATED_SYSPAGE_SECTIONS
> #elif (ENABLE_DEPRECATED_SYSPAGE_SECTIONS == 0) /* Error for this line */
> # undef ENABLE_DEPRECATED_SYSPAGE_SECTIONS
> #endif
>
> I had commented the #elif part and I could build the code.

Remove the copy of syspage.h from the BSP. This is explained on the page 
for building 6.4.x BSPs on 6.5.0 page on the BSP page.

Regards,

Ryan Mansfield
Re: Debugging assembly program on NEON  
I am getting the following warning
warning: Host file C:/QNX650/target/qnx6/armle-v7/usr/lib/ldqnx.so.2 does not match target file /usr/lib/ldqnx.so.2

steps to get away from it ???
RE: Debugging assembly program on NEON  
Is your target running 6.5.0? If not then you have a mismatch since you are using the 6.5.0 version on your host side.

Either update your target to the same release of your host, or re-target your IDE to use the same release of your target
.

For the later, for example, if your target is running 6.4.1, you need to install the 6.4.1 SDP on your host and change 
your IDE to use 6.4.1 from "Preferences -> QNX -> Select Installation" drop down list.


-----Original Message-----
From: Girisha SG [mailto:community-noreply@qnx.com]
Sent: Tue 24/08/2010 7:42 AM
To: general-ide
Subject: Re: Debugging assembly program on NEON
 
I am getting the following warning
warning: Host file C:/QNX650/target/qnx6/armle-v7/usr/lib/ldqnx.so.2 does not match target file /usr/lib/ldqnx.so.2

steps to get away from it ???


Attachment: Text winmail.dat 2.75 KB
Re: RE: Debugging assembly program on NEON  
Yes I am using momentics 6.5.0 on the host side. I have re-built the BSP for OMAP3530 Mistral EVM by QNX(It was released
 for momentics 6.4.1) using 6.5.0 tool chain and usaing the same image on the target but still I am getting the above 
said warning and debugging fails in inadverant ways ...

I would like to go for 6.5.0 on the target as well, please suggest me the steps.