shandian 发表于 2013-4-17 22:30:48

说说64位Windows7/8下如何解决部分开发工具驱动问题

本帖最后由 shandian 于 2013-4-19 17:26 编辑

用了2年时间的64位Win7来做开发了,64位Win8也已经用了快2个多月了。基本上没有遇到开发软件的兼容性问题,老的软件运行在32位模式下倒也是相当稳定。主要还是一些调试或者烧写设备的驱动存在问题。不过,到现在为止,我所使用的设备驱动的问题,全部解决了。我常用的几个设备均可以在Win8下正常使用了。

我所使用的调试器,烧写器,驱动安装遇到过问题的主要如下:
1.TOSHIBA RTE870/C1在线调试器
2.Toshiba Flash Writer烧写器
3.NEC MiniCube2
4.J-Link
5.自己用UUSBD(一款比较老的通用USB库)做的ISP软件驱动

我说说这些设备使用中遇到的问题,及解决方法吧。

首先64位的Win7和Win8在正常模式下是不能安装没有数字签名的驱动的,只有在测试模式下才能安装没有签名的驱动。方法就是用管理员权限运行命令行,输入bcdedit -set testsigning on打开测试模式。
重启后桌面右下角会有水印显示操作系统的版本号什么的。这个对使用没有影响,如果比较介意的话去网上找个去水印软件,运行一下桌面就没水印了。这时安装不带数字签名的驱动还是提示签名有问题的话,重启电脑后进入启动选项菜单,选择禁用驱动程序强制签名选项进入系统,安装完设备后重启电脑,以后正常方式进入系统也能使用该驱动了。

1.TOSHIBA RTE870/C1在线调试器
这个软件提供了64位驱动,但是没有数字签名,按照我上面说的就能成功安装了。

2.Toshiba Flash Writer烧写器
这个只提供了32位驱动。拆开外壳,发现里面就是一片FT232。东芝修改了芯片的PID和VID。于是下载了FT232的64位驱动,在inf文件里面添加了烧写器的PID和VID,成功安装。FT232的官方驱动带签名的,但是签名文件里面没有包含东芝烧写器的PID和VID,因此还是需要按上面说的来安装。

3.NEC MiniCube2
这个瑞萨的官网上一直没有提供64位驱动,我以前一直是在XP虚拟机里面使用的。前段时间发现最新版IAR for 78K里面已经包含了MiniCube2的64位驱动,于是Minicube2也可以在64位系统下使用了。IDE我用的还是PM+6.30,只是借用了IAR for 78K里的驱动后,把IAR给删了。

4.J-Link
这个正常调试什么的都没问题。但是用DB的J-link的都懂,固件容易掉(本人有正版J-link,但是是IAR版的,还是喜欢DB全功能版的{:lol:} )。在重新烧写J-Link固件的时候,正常情况下是需要在32位系统下操作的。不过我刚才下载了新版的sam-ba 2.12,发现里面有64位驱动了,用这个软件可以下载程序。具体见附件:

5.自己用UUSBD(一款比较老的通用USB库)做的ISP软件驱动
UUSBD是一个日本人98年写的一款傻瓜式的USB通用驱动库。我们有一款产品的Flash在线烧写软件中,为了避免USB驱动的开发,使用了这个库。后来换64位系统后就没法用了。网上搜了一下,发现日本有一款产品,叫SKNET_AS11Loader,提供了一款64驱动,inf文件里面竟然有UUSBD几个字。于是也是在inf里面添加了我们自己使用的芯片的VID和PID。果然和猜测的一致,可以通用,成功解决了驱动问题。
(如果说LibUSB使用起来是简单的话,那UUSBD的用法可以说是超级傻瓜型的,适合像我一样没系统学过上位机编程的人。抽几天翻翻C#的书,一个USB的小软件就能完成了。有兴趣的可以去看看UUSBD)

renpeng009 发表于 2013-4-18 00:51:19

UUSBD
楼主给点介绍呗
学习学习

wxws_wxws 发表于 2013-4-18 06:53:01

好贴,我的周立功1016逻辑分析仪,就是没有64位驱动,难受得要死,周立功还不提供,说是老产品,不给更新了。

inkfish321 发表于 2013-4-18 07:39:24

正在为这个苦恼

shandian 发表于 2013-4-18 08:04:56

本帖最后由 shandian 于 2013-4-18 08:14 编辑

renpeng009 发表于 2013-4-18 00:51 static/image/common/back.gif
UUSBD
楼主给点介绍呗
学习学习

给你一个C#的例子,你看一下应该就会用了。
http://www16.ocn.ne.jp/~ham/prog/usb/usb.html
不像USBLIB一样一大堆的API,UUSBD总共才4,5个API。当然,功能上也就稍微弱一点。但是做做一般简单应用还是够了。
作者的网站在这:http://www.otto.to/~kasiwano/newpage17.htm
作者提供的使用C++调用UUSBD从USB设备读取一个字节的例子,简直简单到极点:#include "..\inc\uusbd.h"
void main(void)
{
    HUSB husb;
    HANDLE h;
    char buf;

    // 打开USB设备
    husb = Uusbd_Open();    //UUSBD API

    // 获得设备的Interface0 pipe0的句柄
    h = Uusbd_OpenPipe(husb, 0, 0);   //UUSBD API

    // 从USB设备读取1字节
    ret = ReadFile(h, buf, 1, &size, NULL);
    printf("read data=%02X\n",buf);

    // 关闭USB
    CloseHandle(h);
    Uusbd_Close(husb);   //UUSBD API
}驱动文件的话只要在inf文件中加入你自己设备的VID,PID和设备名称就行了。

hechuan519 发表于 2013-4-18 11:54:20

谢谢楼主分享宝贵经验

xaper 发表于 2013-4-18 22:34:49

楼主是高手,学习

shandian 发表于 2013-4-20 08:35:20

renpeng009 发表于 2013-4-20 01:18 static/image/common/back.gif
晕了,下不到你说的那个64位的驱动

我传上来了。

renpeng009 发表于 2013-4-20 09:13:37

shandian 发表于 2013-4-20 08:35 static/image/common/back.gif
我传上来了。

太感谢了!

tongdayusu 发表于 2013-4-20 09:53:36

支持   !

adce 发表于 2013-5-28 23:22:59

能在Win8下用?如果设备可以插入多个怎么区分....我看不懂日文...

Excellence 发表于 2013-5-29 08:35:20

谢谢楼主。

shandian 发表于 2013-5-29 11:10:23

adce 发表于 2013-5-28 23:22 static/image/common/back.gif
能在Win8下用?如果设备可以插入多个怎么区分....我看不懂日文...

我在Win7和win8 64位下都使用过,没问题。这个是功能最简化的驱动,功能很少,不能同时支持多个设备。

Antony 发表于 2013-5-31 09:57:07

强大, 顶一个!!

BURABURA 发表于 2013-7-3 22:45:59

我也是WIN7也是PM+6.30但是安装后ProgramFiles和ProgramFiles(x86)里都有NEC ELECTRIC TOOL 文件夹,就是被装得分开来了,然后打开工程后就不停地报找不到编译器的DLL

dongfo 发表于 2013-7-3 22:49:13

不错,学习了,以后就不怕了

BURABURA 发表于 2013-7-4 09:43:26

求教于楼主如何"在win7下正常使用PM+"

shandian 发表于 2013-7-4 09:54:35

BURABURA 发表于 2013-7-4 09:43 static/image/common/back.gif
求教于楼主如何"在win7下正常使用PM+"

我现在使用的是64位Win8。原先使用64位Win7的时候也安装过PM+,编译都没问题的。
有一点要注意,安装目录或者存放代码的目录千万别使用中文,请使用全英文的路径。

我目前在Win8下的安装目录(忘了为什么不是在装在x86目录下了):


编译结果:

zwj512 发表于 2013-10-26 12:51:48

楼主佩服啊急需啊

Passion 发表于 2013-11-6 00:49:51

标记下,留着以后用

老瓦 发表于 2014-1-23 15:00:21

准备装64位系统,感谢楼主关于J-Link的经验

知行合一 发表于 2014-7-25 17:27:11

mark                                                         

wangsidongcx 发表于 2014-11-9 00:23:41

学习中,正在用64位win7刷固件,期待解决

jyzx 发表于 2014-11-25 17:27:36

我的win7 64bit也不行啊

言身寸 发表于 2014-11-25 17:42:27

真是宝贵的经验,好好mark下!

wqiling 发表于 2014-11-25 18:06:16

宝贵的经验 学习一下

malsvent 发表于 2014-12-22 08:31:07

atmel是放出了x64版的cdc驱动
但最新的sam-ba 2.14依然无法再win7x64上正常运行

heimareed 发表于 2018-6-28 23:55:50

厉害了。随便关注下楼主说的UUSBD,谢谢分享!

way2888 发表于 2018-6-29 02:51:24

不错,收下了

cd4000 发表于 2018-7-20 09:20:51

学习一下,谢谢!
页: [1]
查看完整版本: 说说64位Windows7/8下如何解决部分开发工具驱动问题