USB通讯入门(一)遇到的第一个问题是Keil编译器出错 Error: failed to execute 'C:\Keil\C51\BIN\C51.EXE'

 因为项目之前采用的是USB转SPI与下位机通信,另外电机控制是采用CANopen协议,对于项目的要求来说,速度还是太慢了;在参考了别人的设计方案之后,所以最近打算把方案更改一下,采用USB通讯的方式,其中所用的芯片是Cypress 68013A。我之前没有接触过USB通讯,所以得从零基础开始学习USB通讯。

在其他基础问题解决了之后,第一步就是学习了解Bulkloop示例,通过这个示例可以大致了解USB通讯的基础原理。但是我用Keil uVision 4打开Bulkloop的工程文件,在重生成的时候,报错了,Error: failed to execute 'C:\Keil\C51\BIN\C51.EXE'。但很奇怪的是,我打开另外一个开发包中的Bulkloop工程,重生成却没有报错。

一开始我以为是Keil版本的问题,因为Bulkloop工程的后缀是.Uv2,而我把工程保存之后,后缀名变为.uvproj。后面发现不是这个原因,Uv2只是Keil4之前的版本工程文件的后缀,而uvproj是Keil4的版本工程文件的后缀。接下来找到一个解决方案是:找到Keil安装目录下的TOOLS.INI文件,把[C51]节下面的PATH="C:\Keil\C51\BIN\C51.EXE"改为当前安装目录,如下图所示。

USB通讯入门(一)遇到的第一个问题是Keil编译器出错 Error: failed to execute 'C:\Keil\C51\BIN\C51.EXE'_第1张图片

但我打开TOOLS.INI文件,[C51]节下的PATH路径已经是正确的安装路径,并不是大家所说的路径错误;

接下来继续找问题,发现Components,Environment and Books对话框中有一个Folders/Extensions选项卡,其中在Development Tool Folders中,我没有勾选Use Settings from TOOLS.INI, 所以导致前面的TOOLS.INI文件虽然正确,但没有被使用。而下面的BIN,INC,LIB等项里面,正是报错的C:\Keil\C51\BIN\ ,C:\Keil\C51\INC, 以及 C:\Keil\C51\LIB。把这三个选项都修改成Keil的安装目录,我的是D:\Program Files(x86)\Keil\C51\BIN\, D:\Program Files(x86)\Keil\C51\INC\以及D:\Program Files(x86)\Keil\C51\LIB\后,再重生成工程,就要以正常生成.hex 文件而不报错了。

此外,在INC以及LIB框中,还可以继续添加其他包含目录或者库目录,从而让Keil编译器可以找到想要的头文件以及库文件。

USB通讯入门(一)遇到的第一个问题是Keil编译器出错 Error: failed to execute 'C:\Keil\C51\BIN\C51.EXE'_第2张图片

上面的这个问题对于很多嵌入式领域的人来说是非常简单的问题,而我只是一个刚入门的新手,也算是一点学习吧,望各位大牛们批评指正。

你可能感兴趣的:(USB通讯入门(一)遇到的第一个问题是Keil编译器出错 Error: failed to execute 'C:\Keil\C51\BIN\C51.EXE')