这篇文章仅仅是为了进一步告诉大家如何使用jlink 调试rtems on AT91sam9260系统。

我的系统配置首先对大家说一下,我是在winxp上装了个vmware,vmware里跑得是linux fedora 8, linux 的IP地址是 192.168.18.128,windows的地址是192.168.18.1。将jlink插入计算机,jlink一定是完全版本的,IAR正版软件带的jlink是不带gdb server。无法让 rtems 调试。


在at91sam9260仿真前,要做些什么,想必大家都清楚了,不清楚的童鞋,看上一版,rtems的板级调试。


打开segger下的 j-link gdb server:




注意相关选项的选择。速度选择自适应,根据系统编译选择小端还是大端。

在linux 下编译好 at91sam9260的程序,然后在命令行下键入:

ddd --debugger arm-rtems4.9-gdb

在gdb 下输入相关的命令

file ~/milestone/trunk/rtems_app/controller/o-optimize/betta.exe

target remote 192.168.18.1:2331

load


如果想单步的童鞋,千万注意了,不要选择run或直接step,而是在第二条指令或者在你能接受的地方设置个断点,然后键入c命令回车就好。


系统运行到断点会停下来,你就可以s或者n的单步调试了,很简单。


Enjoy it.



最后,有童鞋问我,怎么调试内部有Flash芯片而非加载到内存的方法。很抱歉,我手头没有相关的实际的单板,没有办法做实验。思路是有的,需要验证。所以在此就保留了,回头等我有一套arm7或者cortex-m3的板子,我做完实验给大家写个攻略。