您的位置 首页 硬件

纯Linux下的 ARM裸机调试环境建立(GDB + JLink)

说明:我也是调试u-boot,在win下OK了,基于这里,然后为了完全在linux下便有了下边转载的内容。下文会对照我自己的操作进行结果补充!感觉…

阐明:我也是调试u-boot,在win下OK了,依据这儿,然后为了彻底在linux下便有了下边转载的内容。下文会对照我自己的操作进行成果弥补!感觉弥补的多于转载的就改为原创了,让更多人看到!

一向想脱节windows环境,在纯linux下进行arm裸机开发,可是我们一向不知道JLink如安在linux下运转和装备,一向无法进行下去。曾经都是windows+AXD调试。包含自己用的FL2440开发板和JLink调试器也没有供给在linux调试的文档。前些天我们想研讨下U-BOOT的源代码,不得不在linux下编译,就google到了许多大牛的帖子,且找到了JLink的官方linux版。归纳各位大牛的经历,终究成功的在纯linux环境下调试了U-BOOT和裸机程序。感谢各位长辈的帖子,很惋惜许多我现已找不到原帖地址了。

笔者的装置环境:

飞凌的FL2440开发板

JLink V8调试器

Ubuntu 10.04

建立ARM调试环境的大约过程:

0)串口通讯的装备

1)JLink V8 Linux驱动的装置

2)穿插东西链的装置

3) gdb初始化脚本的编写

4) 发动JLink和gdbServer调试

0)串口通讯的装备

这个网上都有,我不多说了。用于开发板和宿主机通讯。

1)JLink V8 Linux驱动的装置

去官网 http://www.segger.com/cms/jlink-software.html

下面有个Beta software version for Linux版别下载

点击下载,弹出页面要序列号,能够乱输。下到JLink_Linux_V422.tgz压缩包。解压之。

能够参阅压缩包内的README文件进行装备。

装置依靠usb库

apt-get -update

apt-get -install libusb

cp libjlinkarm.so.* /usr/lib

– Place the rule file “45-jlink.rules” provided with this J-Link software package

at /etc/udev/rules.d/

./start 就能够运转JLink了。

衔接JLink和开发板后,能够运用help或?检查协助。loadbin指令加载二进制代码到内存了。

//kangear弥补:

root@kangear:~/JLink_Linux_V462a#apt-get update //没有“-”

root@kangear:~/JLink_Linux_V462a#apt-get install libusb//没有“-” 且没有这个库!
正在读取软件包列表… 完结
正在剖析软件包的依靠联系树
正在读取状况信息… 完结
E: 无法定位软件包 libusb
root@kangear:~/JLink_Linux_V462a# ls

root@kangear:~/JLink_Linux_V462a#./StartJLinkExe.sh //没有start
SEGGER J-Link Commander V4.62a (? for help)
Compiled Feb 6 2013 11:42:45
Updating firmware: J-Link ARM V8 compiled Nov 14 2012 22:34:52 //且运转之后会主动晋级固件(之后就不能用了jlink 解决方法见这儿)
Replacing firmware: J-Link ARM V8 compiled Aug 24 2011 17:23:32
^C
root@kangear:~/JLink_Linux_V462a# ^C

此刻重烧了固件,依据这儿的解决方法,就下载jlink_linux_v422a.tgz(下载地址这儿)这个版别的重新做一遍OK了。打印信息如下:

root@kangear:~/JLink_Linux_V462a/JLink_Linux_V422a# ./start
SEGGER J-Link Commander V4.22 (? for help)
Compiled Apr 5 2011 13:54:55
DLL version V4.22, compiled Apr 5 2011 13:54:52
Firmware: J-Link ARM V8 compiled Jan 31 2011 18:34:52
Hardware: V8.00
S/N: 20100213
Feature(s): RDI,FlashDL,FlashBP,JFlash,GDBFULL
VTarget = 0.000V
J-Link>

//kangear弥补:End

基本上这样就能够完结一些调试工作了,可是要做到源码等级的调试,还要用的GDB了。

详细有点忘了。

可能要重建软衔接能够参阅:http://eminem112.blog.163.com/blog/static/62815953201092513943796/

(以下摘自上面链接)4:修正一些装备

cdJlink
ln -s libjlinkarm.so.0.0 libjlinkarm.so.0
ln -s libjlinkarm.so.0.0 libjlinkarm.so
5:相关库到用户库中
45-jlink.rules到/etc/udev/rules.d/
mv libjlinkarm.so.0.0 /usr/lib/
mv libjlinkarm.so.0 /usr/lib/
mv libjlinkarm.so /usr/lib/
6:碑文./start
假如呈现libreadline.so.5 not found,能够检查/lib/下的有可能有libreadline.so.6 ,能够做一个软链接

ln -s /lib/libreadline.so.6libreadline.so.5

2)穿插东西链的装置

我装置的是U-BOOT官网供给的ELDK4.2

http://www.denx.de/wiki/view/DULG/ELDKAvailability

下到一个IOS文件。挂载,参照官网上ELDK的文档装置之。设置好环境变量。

3)gdb初始化脚本的编写

参阅gdb的文档,JLinkGdbServer的文档。

可知,在调试之前,必须先进行板子的初始化。才干进行之后的调试。

参阅这位牛人的GDB脚本,顺利完结了S3C2440初始化。http://blogold.chinaunix.net/u3/97851/showart_2291292.html

最终感谢这些牛人的无私奉献。自己写文档才发现,真累!

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/265171.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部