Chinaunix首页 | 论坛 | 博客
  • 博客访问: 493227
  • 博文数量: 118
  • 博客积分: 5003
  • 博客等级: 大校
  • 技术积分: 1213
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-07 20:29
文章存档

2011年(8)

2010年(4)

2009年(12)

2008年(85)

2007年(9)

我的朋友

分类: LINUX

2008-09-12 15:54:01

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之后再调试多线程。



阅读(1694) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~