win7下不能使用dnw烧写的解决办法——韦东山嵌入式Linux学习笔记05

2019-07-13 09:20发布

本文实验环境:
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