您的位置:首页 > 运维架构 > Linux

ARM-Linux驱动移植--Linux下烧写工具DNW和USB驱动安装

2013-07-31 09:36 495 查看
mini2440 官方提供的super vivi 可以把开发板模拟成一个USBslave设备,进而通过PC端的USB master设备传输数据。在烧写内核与文件系统的时候也很有用。

光盘中提供了PC端windows的驱动,但是没有linux的驱动,也许vivi 作为USB slae具有通用性,网上的牛人把linux下的PC 端驱动也弄了出来。

下面的经过测试在mini2440 给的vivi ,和tq2440给的u-boot下都能正常使用。

由于内核版本的变动,因此下载的内核模块基本都不能用,还要重新再编译。 在ubuntu 12.04上测试通过。

首先重要的是linux端 PC端 的内核驱动程序:

~/Downloads/dnw_linux/secbulk

Makefile secbulk.c

这个Makefile写的不够完整可以用如下的形式:

ifneq ($(KERNELRELEASE),)

obj-m := secbulk.o

else
KVERS=$(shell uname -r)
KDIR := /lib/modules/$(KVERS)/build

all:
	make -C $(KDIR) M=$(PWD) modules 
clean:
	rm -f *.ko *.o *.mod.o *.mod.c *.symvers *.order
endif


make之后得到secbulk.ko。

insmod之后dev目录下还不会生成 secbulk0设备,等和开发板相链接之后才会有!!

以及用户态程序和源码,用户态的不用再编译了,可直接使用,运行是选择root权限。

$ ls -l dnw
-rwxr-xr-x 1 xushichao xushichao 6743 Feb  3  2009 dnw
$ ls -l dnw.c 
-rw-rw-r-- 1 xushichao xushichao 2036 Feb  3  2009 dnw.c
x$ sudo ./dnw/xxx/dir/Mini2440/images/linux/supervivi-128M 
file name : /dnw/xxx/Mini2440/images/linux/supervivi-128M
file size : 249248 bytes
Writing data...
100%     249258 bytes     OK


使用时启动用户态程序,加上参数即可。。

另外的 内核态程序 不知到是干什么的。 在 ubuntu 14.04 上测试貌似 驱动模块无法正常工作。

上面提到的方式参考链接:
http://www.linuxidc.com/Linux/2012-01/51963.htm http://www.linuxidc.com/Linux/2012-01/51963p2.htm
另外发现在新版本内核上用上面的方式传送错误,可以使用 DNW for Linux的更新版本,不需要secbulk驱动,安装上libusb-dev 即可 。 使用命令:

apt-get install libusb*


相关链接:
http://www.arm9home.net/read.php?tid-217.html http://www.arm9home.net/read.php?tid-1502.html
blog.csdn.net/enjoysarry/article/details/8681820
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐