免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1402 | 回复: 0
打印 上一主题 下一主题

关于linux9260烧写软件和gdb调试器的使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-12 15:54 |只看该作者 |倒序浏览
9260的烧写软件SAM-BA有自己的linux版本,大家可以到www.linux4sam.org网站上去下载,这里作一个烧录笔记,由于9260的usb设备端口需要一个usbserial的linux驱动,所以我们每次使用之前都要加载一次驱动,linux4sam的网站上告诉你先卸载usbserial是担心你使用了别的usb device设备,所以,如果你没有重新启动电脑的话,你将只需要加载一次而已。多次烧写。
root@yongtao-desktop:~# rmmod usbserial
ERROR: Module usbserial does not exist in /proc/modules
root@yongtao-desktop:~# modprobe usbserial vendor=0x03eb product=0x6124
root@yongtao-desktop:~# lsusb -d 03eb:6124
Bus 004 Device 003: ID 03eb:6124 Atmel Corp. at91sam SAMBA bootloader
dmesg之后输出信息:
[24406.520709] usbcore: registered new interface driver usbserial
[24406.520733] /build/buildd/linux-2.6.24/drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
[24406.520754] usbserial_generic 4-2:1.0: Generic device with no bulk out, not allowed.
[24406.520764] usbserial_generic: probe of 4-2:1.0 failed with error -5
[24406.520772] usbserial_generic 4-2:1.1: generic converter detected
[24406.520938] usb 4-2: generic converter now attached to ttyUSB0
[24406.520948] usbcore: registered new interface driver usbserial_generic
[24406.520951] /build/buildd/linux-2.6.24/drivers/usb/serial/usb-serial.c: USB Serial Driver core
[24539.505150] usb 4-2: USB disconnect, address 3
[24539.505624] generic ttyUSB0: generic converter now disconnected from ttyUSB0
[24539.505646] usbserial_generic 4-2:1.1: device disconnected
说明ttyusb0连接上了!就可以使用你下载下来的SAM-BA软件了
关于gdb的交叉调试,我们系统中既存在多线程,又存在动态库,调试就有点麻烦,注意,所有的执行文件包括动态库在编译的时候都要加上-g,还有你的编译器的库,都不能进行strip的操作,像我这种比较环保的人,一般编译完之后,提笔就会strip一下,那就恭喜,你可能查半天之后才恍然大悟,但是时间已经过去了,时间就是生命阿!还有一点,多线程的调试要有几个库文件:
libpthread-0.10.so
libthread_db_1.0.so
后者就是调试的时候需要使用的!
yongtao@yongtao-desktop:~$ cat /home/yongtao/.gdbinit
set solib-absolute-prefix /opt/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/arm-softfloat-linux-gnu
在你的用户目录下建立一个.gdbinit的文件,添加上面的一行,将路径指向你的交叉编译器的库路径,但是千万后面不能带lib,gdb会自己添加,这个告诉调试器在运行时去查找arm下用的库
你自己编译的动态库最好放在目标板的/lib目录下,虽然可以通过LD_LIBRARY_PATH=/lib:/usr/lib来指定,但是我发现调试的时候你将动态库放到/usr/lib目录下也不好使,这可能和我的板子的一种独特的架构有关,我的板子比较特殊,/usr目录是不存在的,是一个文件夹链接来的。。。不然的话,交叉调试的时候将跳出找不到库的问题。所以你最好先单独调试成功你的库,在你的库OK之后再调试多线程。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/38038/showart_1189999.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP