Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19485
  • 博文数量: 1
  • 博客积分: 250
  • 博客等级: 入伍新兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-09 09:13
文章分类
文章存档

2010年(1)

最近访客

分类:

2010-08-15 13:09:19

本人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目录
 
# cp dnw /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)。

阅读(4475) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~