arm9260 linux编译,关于linux9260烧写软件和gdb调试器的使用

9260的烧写软件SAM-BA有自己的linux版本,大家可以到网站上去下载,这里作一个烧录笔记,由于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之后再调试多线程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值