本文实验环境:
1. windows 7(64bit)
2. JZ2440
一、 问题的提出——没有驱动
假设板子的 Nor Flash 上已经烧好了 u-boot,那么如何通过 u-boot 的USB下载功能把程序烧写到 Nand Flash 呢?
其实以上功能的实现,可以拆解为以下几个步骤:
(1)PC和板子通过USB相连,程序(.bin文件)通过USB接口下载到板子的内存里
(2)u-boot擦除Nand Flash的某个区域
(3)u-boot把内存中的程序写入Nand Flash
“win7下不能使用dnw烧写”,究其原因不是(2)和(3)的问题,而是(1)的问题。
要想把PC上的文件通过USB传输给板子,需要具备以下条件:
(1)板子和PC通过USB线连接
(2)板子上有USB接收文件的驱动
(3)PC上有USB发送文件的驱动
(4)PC上有一个应用程序,比如
dnw.exe
,这个程序调用USB驱动,把文件发送给板子
进一步讲,“win7下不能使用dnw烧写”是因为缺乏(4)中的驱动。
所以,用USB线连接板子和PC后,设备管理器会提示没有驱动。此时如果安装韦东山老师提供的驱动,会安装失败。我的理解是韦东山老师提供的驱动是针对XP的,对Win7不适用(对64bit肯定不适用,32bit的我不知道)。
所以,我们需要找一个能用的驱动。比如说,友善之臂的USB驱动。
二、下载驱动
下载地址:
http://download.csdn.net/detail/tanhao199406/8671741
下载完成后,尝试安装。安装方法是:
鼠标移动到设备管理器的感叹号处,点击右键,选择【更新驱动程序软件】,再选择【浏览计算机以查找驱动程序软件】,点击【浏览】,选择已下载驱动所在的文件夹,点击【下一步】。
遗憾的是,此番努力后,设备管理器的感叹号并没有消失。
三、解决签名问题
究其原因,此驱动没有微软官方签名,所以只能在Win7 测试模式下使用。为了解决这个问题,我们需要下载一个软件——
DSEO
(Driver Signature Enforcement Overrider)。
下载地址:
http://download.csdn.net/detail/tanhao199406/8671725
下载后启动这个软件,进入主界面,如下图:
(1)选择【Enable Test Mode】,点击【Next】
(2)弹出以下窗口,点击【确定】
(3)选择【Sign a System File】,点击【Next】
(4)输入驱动文件名(包括完整路径),比如
C:WindowsSystem32driverssecbulk.sys
,然后点击【OK】
(5)弹出以下窗口,点击【确定】
(6)选择【Exit】,点击【Next】,退出软件
(7)重启电脑后,再次用USB线连接板子和PC。此时打开设备管理器,可以看到如下图所示,说明驱动问题已经解决。
需要说明的是:因为启动了WIN7的测试模式,所以桌面右下角有一个图标:
四、如何关闭测试模式
当我们不需要用这个驱动的时候,可以关闭测试模式。
如何关闭测试模式?
方法一:用DSEO
软件。
启动
DSEO
软件。
(1)选择【Disable Test Mode】,点击【Next】
(2)弹出一个窗口,点击【确定】
(3)重启电脑
方法二:通过命令行
以管理员身份运行
cmd.exe
(1)输入
bcdedit /set testsigning off
(2)重启电脑
五、再次打开测试模式
方法一:用DSEO
软件。
启动
DSEO
软件。
(1)选择【Enable Test Mode】,点击【Next】
(2)弹出一个窗口,点击【确定】
(3)重启电脑
方法二:通过命令行
以管理员身份运行
cmd.exe
(1)输入
bcdedit /set testsigning on
(2)重启电脑
【参考资料】
[1]
http://blog.csdn.net/tanhao199406/article/details/45560165
[2]
http://blog.sina.com.cn/s/blog_4a033b090100k0c6.html