|
本帖最后由 haichang417 于 2010-7-27 19:15 编辑
本人Linux是Fedora 13,也是最近安装的(以前用Ubuntu,因为配置环境太麻烦了,总有意想不到的问题出现)。因为我是非虚拟机安装,又懒的总插拔网线,所以想用USB下载镜像,毕竟不可能每次编译完了,又重启进win去下载吧。。。
在网上找到一个dnw for Linux。共享给大家。。。(源码在附件里)
(secbulk目录下是PC端USB驱动, dnw目录是下载工具)
1.首先解压缩文件:- # tar xvf dnw_for_linux.tar.gz
复制代码 2.然后切换到下面的目录,编译usb驱动模块:- # cd dnw_for_linux/secbulk
- # make -C /lib/modules/2.6.33.6-147.fc13.i686/build/ M=/home/lhc/Desktop/dnw_for_linux/secbulk/ modules
复制代码 注意:相应路径要替换成你机器的路径。/lib/modules/2.6.33.6-147.fc13.i686/build/目录中“2.6.33.6-147.fc13.i686”是当前启动内核版本,如果你是多内核要注意了(不确定可以终端uname -r命令查看内核版本)。
3.编译完成后,会生成secbulk.ko文件:- # ls
- Makefile Module.symvers secbulk.ko secbulk.mod.o
- modules.order secbulk.c secbulk.mod.c secbulk.o
复制代码 4.加载模块到Linux内核:- # insmod ./secbulk.ko (注意要在root权限下)
- # dmesg (查看是否加载成功)
- secbulk:secbulk loaded
- usbcore: registered new interface driver secbulk (看到这样两行就说明成功了)
复制代码 5.下面开始编译dnw工具- # cd ../dnw
- # gcc -o dnw dnw.c
复制代码 (编译完成,会看到dnw可执行文件)
6.将文件copy到/usr/local/bin目录(这样就可以在shell下面直接使用dnw命令了)
使用方法如下:
1.在minicom下,从Nor Flash启动TQ2440,选择3功能:- [3] Download Linux Kernel (zImage.bin) to Nand Flash
复制代码 2.此时,打开另一个终端:- # su
- # dnw work/linux-2.6.30.4/zImage.bin
- file name : work/linux-2.6.30.4/zImage.bin
- file size : 2305544 bytes
- Writing data...
- 100% 2305554 bytes OK (此时就将zImage镜像下载到开发板了)
复制代码 3.再看下minicom的输出信息- Enter your selection: 3
- USB host is connected. Waiting a download.
-
- Now, Downloading [ADDRESS:30000000h,TOTAL:2305554]
- RECEIVED FILE SIZE: 2305554 (562KB/S, 4S)
-
- NAND erase: device 0 offset 0x200000, size 0x300000
- Erasing at 0x4e0000 -- 100% complete.
- OK
-
- NAND write: device 0 offset 0x200000, size 0x232e08
-
- Writing data at 0x432800 -- 100% complete.
- 2305544 bytes written: OK
复制代码 (到此烧写完毕!!!!可以重启验证下)
不过每次开机都要加载一次那个.ko模块,大家可以自己将它写到开机脚本里,省去了每次都要手动加载的麻烦!
(第二次发新帖咯,,,有什么问题希望大家多多交流,THKS Everyone)。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|