tag 标签: arm,linux,dnw,2440

相关博文
  • 热度 10
    2012-8-9 22:33
    3019 次阅读|
    0 个评论
    1. 下载Linux下DNW的PC端USB驱动和写入工具 文件名: dnw_linux.zip 下载后把后缀名改成.tgz #或者搜索 linux dnw 2. 编译PC端USB驱动和写入工具 2.1 解压缩 $ tar xzvf /path/to/dnw_linux.tgz dnw_linux/ dnw_linux/secbulk/ dnw_linux/secbulk/Makefile dnw_linux/secbulk/secbulk.c dnw_linux/dnw/ dnw_linux/dnw/dnw.c 其中secbulk.c是PC端USB驱动, dnw.c是写入工具 2.2 编译并加载secbulk.c内核模块 $cd secbulk $make -C /lib/modules/`uname -r`/build M=`pwd` modules 编译成功后在当前目录下可以看到secbulk.ko alex@alex-desktop:~/project3/qq2440/dnw_linux/dnw_linux/secbulk$ ls Makefile Module.symvers  secbulk.c  secbulk.ko  secbulk.mod.c  secbulk.mod.o  secbulk.o 用insmod命令加载模块,这需要root权限 $sudo insmod ./secbulk.ko 加载后用dmesg命令可以看到模块已经成功加载 secbulk:secbulk loaded usbcore: registered new interface driver secbulk 2.3 编译dnw写入工具 $cd dnw $gcc -o dnw dnw.c 编译成功后生成可执行档dnw ========================== 使用dmesg查看是否成功加载驱动很重要,如果没有这步,会提示说"Can not open /dev/secbulk0 " 3 使用DNW下载 3.1 启动开发板,进入Supervivi,并将开发板和PC用USB电缆连接,此时用dmesg命令可以看到secbulk驱动加载: usb 1-1: new full speed USB device using uhci_hcd and address 2 usb 1-1: configuration #1 chosen from 1 choice secbulk:secbulk probing... secbulk:bulk out endpoint found! 3.2 此时可以用supervivi进行USB下载,vivi上步骤请参考用户手册,当出现“USB host is connected. Waiting a download.”时,在PC端Linux上用dnw工具写入要下载的文件 $sudo ./dnw /path/to/what/you/want/download #此处使用命令写入,**面 写入完成后提示成功 100%    xxxxxxx bytes    OK ////////////////////////////////////////////////////////////////////////// 注意几点:1.检查secbulk.c文件的关于usb的PID VID是否和usb一样?         2.注意权限 udo ./dnw                $sudo insmod           3.相关命  (dmesg | grep secbulk  :查看sebulk驱动及状态) dmesg | tail         4.可改动secbulk.c文件中的 BULKOUT_BUFFER_SIZE 数值32为大一些入512,可加快速度