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

本文实验环境:
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:\Windows\System32\drivers\secbulk.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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值