Hi,
I’m currently attempting to setup tools to enable me to debug a Linux kernel module on an imx513 based target. Has anyone successfully achieved this using either a jtag based hardware solution or by using KGDB? I am aware there is an issue with KGDB and the lack of poll routines in the imx serial code but have as yet been unable to resolve this problem using the patch posted on imxdev.org. Ideally I would prefer to connect to the jtag hardware from an x86 Linux host running an Eclipse IDE via the GDB mechanism. Would anyone care to share their experiences?
Many thanks,
Richard
Richard,
Signum JTAG probes are great. Glad you got a working solution.
-Maciej
Maciej,
Certainly when I originally posted the Segger probe wasn't compatible with the imx51 (regardless of what third party resellers were saying) and I had this confirmed by one of the Engineers at Segger. In the end we went for the probe from Sigum as they were able to actually demonstrate their product working on the imx51 EVK.
Hope that helps,
Richard
Richard,
Which Segger probe did you look at? They do have one that works with Cortex-A8 chips. I believe Digi international is using it for their Wi-i.MX51 ConnectCore modules.
Do you have any other JTAG probes in-house?
-Maciej
Hi Richard,
Does the patch provided on imxdev.org need some change?
I tried kgdb, but the host repeatedly showed timeout error. I am trying to debug an imx51 based target.
Regards,
Sunder
Thanks for that Stanley.
Unfortuately we don't have the ARM RVD but it's nice to know it's possible!
I've been doing a little more digging and have managed to something *almost* working with KGDB. This involved successfully modifying the imx serial code as described on imxdev.org (http://www.imxdev.org/wiki/index.php?title=Mxuart_patch) and building in the appropriate bits into the kernel. Unfortunately I can't actually set breakpoints but can connect to KGDB using GDB.
I turned my attention to Segger to see if their hardware debugger would be suitable but at this stage (18/1/11) it doesn't quite work with the imx51.
Stanley Lee said:
Hi Richard,
Hope this info helps:
And don't hesitate to mail to me (Xingyu.li@freescale.com) if you have any suggestion regarding how to run this forum better.
The following steps are required to establish a connection between RVD and the MX51:
Make sure to update the RVD firmware to support Cortex-A8 (ARM-RVI-3.1.0-754-base.rvi, ARM-RVI-3.1.3-776-patch.rvi)
Install RVD v3.1
Connect RVICE to MX51 board using short JTAG parallel cable. LVDS probe cannot be used.
Create a new connection using the following configuration
Select RVICE connected to MX51
Configure the scan chain with the following connections (TDI => Unknown => Unknown => ARMCS-DP => Cortex-A8)
Add Device..Custom Device..UNKNOWN..IR Length = 5
Add Device..Custom Device..UNKNOWN..IR Length = 4
Add Device..Registered Device..CoreSight..ARMCS-DP
Add Device..Registered Device..Cortex..Cortex-A8
Update the CoreSight base address as follows:
Right Click on Cortex-A8 Device
Select Configuration
Set CoreSight base address = 0xE0008000
Save the configuration
Using the connection you just created, disable vector catching and semihosting as follows:
Properties..Connection=RVI..Advanced_Information..Default..ARM_config..Vector catch = FALSE
Properties..Connection=RVI..Advanced_Information..Default..ARM_config..Semihosting..Enabled = FALSE
You should now be able to connect and debug MX51 using RVD.
Best Regards,
Stanley
Hi Richard,
Hope this info helps:
And don't hesitate to mail to me (Xingyu.li@freescale.com) if you have any suggestion regarding how to run this forum better.
The following steps are required to establish a connection between RVD and the MX51:
Make sure to update the RVD firmware to support Cortex-A8 (ARM-RVI-3.1.0-754-base.rvi, ARM-RVI-3.1.3-776-patch.rvi)
Install RVD v3.1
Connect RVICE to MX51 board using short JTAG parallel cable. LVDS probe cannot be used.
Create a new connection using the following configuration
Select RVICE connected to MX51
Configure the scan chain with the following connections (TDI => Unknown => Unknown => ARMCS-DP => Cortex-A8)
Add Device..Custom Device..UNKNOWN..IR Length = 5
Add Device..Custom Device..UNKNOWN..IR Length = 4
Add Device..Registered Device..CoreSight..ARMCS-DP
Add Device..Registered Device..Cortex..Cortex-A8
Update the CoreSight base address as follows:
Right Click on Cortex-A8 Device
Select Configuration
Set CoreSight base address = 0xE0008000
Save the configuration
Using the connection you just created, disable vector catching and semihosting as follows:
Properties..Connection=RVI..Advanced_Information..Default..ARM_config..Vector catch = FALSE
Properties..Connection=RVI..Advanced_Information..Default..ARM_config..Semihosting..Enabled = FALSE
You should now be able to connect and debug MX51 using RVD.
Best Regards,
Stanley