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