mdk工程打开弹出提示框 Update project列设置下拉框 device(s)

应部分网友要求,最新加入固件库以及开发环境使用入门视频教程,同时提供例程模板,个人录制,欢迎指正。下载地址:
2013.3补充在线视频教程
1.1 使用Keil MDK以及标准外设库创建STM32工程
通过上一节对标准外设库的介绍,想必各位读者对标准外设库已经有了基本的认识,然而由于标准外设库中文件众多,很多初学者在开始很长一段时间内甚至都无法完全自己建立一个工程,很多人只是依赖标准外设库或给定的工程模板。本节就介绍怎样利用Keil MDK开发环境和标准外设库来搭建自己的工程。
建立一个基于标准外设库其实并不复杂,网络上也有很多关于怎样在Keil MDK下建立工程的教程,方法也各异,本节所介绍的方法本着少改动、便于使用、方便更换器件等原则,给大家介绍怎样在Keil中创建一个工程,并以一个最简单的例子来说明怎样下载和调试程序。
本节所使用Keil MDK 为目前的最新版V4.21,具体版本信息如图 5-6所示。其他版本差别不大,读者可以根据自己使用的版本进行操作或者从Keil的官网下载新版本。使用的标准外设库为目前最新的V3.5版本。使用的开发调试工具为JLINK-V8,使用的驱动版本为V4.08l。
首先先建立一个用于存放工程的文件夹,此处命名为STM32,在文件夹下分别建立LIB、USER、MDK三个文件夹,分别用于存放标准外设库文件、用户程序文件、工程目录。在MDK文件夹下建立List、Obj两个文件夹,分别用于存放在编译过程中产生的临时文件和输出文件。
接下来拷贝标准外设库和相应的文件到工程目录中,首先拷贝STM32F10x_StdPeriph_Lib_V3.5.0\Libraries文件夹下的两个文件夹CMSIS和STM32F10x_StdPeriph_Driver到刚刚新建的STM32\LIB目录下,接下来拷贝用户编写程序的程序文件,此文件可以从标准外设库自带的例程中拷贝,这里从STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Examples\ADC\3ADCs_DMA目录下拷贝main.c、stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h四个文件,这四个文件是在编程的时候用户往往需要根据实际需求进行修改的。因此拷贝至STM32\USER目录下,system_stm32f10x.c文件定义了系统时钟等参数并完成微控制器的初始化,标准外设库中已经有了,这里可以不拷贝。这样所需要的文件都已经具备了,如图 5-7所示。
首先启动Keil uVision4,点击菜单栏Project-New uVision Project,选择工程的保存位置,保存位置选择在之前建立的MDK文件夹下,如图 5-8所示。
在弹出的界面中选择所使用的芯片信号,笔者使用的芯片型号为STM32F103ZET6,所以选择STM32F103ZE,如图 5-9所示。
芯片选择完成后软件会弹出一条提示,提示是否要拷贝STM32大容量启动代码并添加到工程,由于我们使用新版本标准外设库中提供的启动代码,因此此处选择否。如图 5-10所示。
接下来就出现了一个空的工程窗口,建立了一个新的工程。
在左侧Project一栏中对Target 1两次点击之后可以重命名,这里命名为STM32,然后右击,如所示,单击Manage Comoonents。出现如所图 5-11示界面。
在这个界面里可以更为方便的添加工程的相关文件。也可以在对应的Group上右键Add Group和Add Files to Group只是这种方式更方便集中的添加和管理。按照图 5-12所示,建立四个Group,点击Groups一栏右上角图标,依次新建USER、CMSIS、LIB、StartUp四个组,点击对应的组在点击右下方Add Files添加相应的文件到对应的组中。USER组中添加USER文件夹下的文件,CMSIS组中添加STM32 PJ\STM32\LIB\CMSIS\CM3\CoreSupport文件夹下core_cm3.c文件和STM32\LIB\CMSIS\CM3\DeviceSupport\ST\STM32F10x文件夹下system_stm32f10x.c文件。在LIB组下添加STM32\LIB\STM32F10x_StdPeriph_Driver\src下的所有文件,这个组的文件也可以根据后面的程序功能添加对应的功能文件。StartUp组下添加STM32\LIB\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm文件夹下startup_stm32f10x_hd.s文件,此文件根据芯片的所属类型来选择,STM32F103ZE为大容量器件所以选择hd结尾的启动文件。至此,已经将对应的文件全部加入工程中。
文件添加完成后的工程管理窗口如图 5-13所示。其中CMSIS和LIB组中的文件图标上由个钥匙图案,表示该文件当前为只读属性,工程编译完成后前面会出现一个加号,点击展开可以显示当前文件所调用的文件。
接下来需要对工程进行一些参数设置,在中STM32上右击,选择第一项Options for Target &STM32&,如图 5-14所示。
弹出窗口如图 5-15所示。在这个窗口中共有10个选项卡,第一个选项卡Device用于选择使用的器件,由于在新建工程的时候已经选择这里可以不用在选择,当前的工程如果在后期要更换使用的芯片时可以在这个选项卡中更换芯片,同时还要注意更换对应的启动文件。在Target选项卡中,一般只需要填上使用的晶振频率即可,其他都可以保持默认。
-15 Target
在如图 5-16所示Output选项卡中主要注意两项,一是选择输出文件夹,选择之前工程目录中MDK文件夹下的Obj文件夹,在下面还有一个Create HEX File选项,用于选择是否生成hex文件,如果编译好的程序要写片,或者要提供给别人下载到芯片中而不希望别人知道源码时可以提供HEX文件。
-16 Output
在Listing选项卡下同样可以选择Listing对应的文件夹,这里选择STM32\MDK\List文件夹,下方的复选框可以选择需要生成的调试信息,这里保持默认即可,如图 5-17所示。
-17 Listing
C/C++选项卡中的设置比较重要,如图 5-18所示,选项卡中主要有两个地方需要注意,首先是整个工程的宏定义,在前面标准外设库部分已经有过介绍,标准外设库中很多功能都是通过宏定义来实现的,由于标准外设库针对STM32一系列芯片,因此需要通过宏定义来进行针对性的选择。这种选择有两种方式,有的人是直接改动宏定义部分的库文件,缺点是需要更改一些功能时不是很方便,而且笔者建议在尽量不更改库文件的方式下实现功能的配置和使用,另一种方式就是在工程的设置中添加宏定义,这儿添加了两个宏定义,USE_STDPERIPH_DRIVER表示使用标准外设库进行程序开发, STM32F10X_HD表示使用的是STM32F10X系列大容量器件,本例中中使用的是STM32F103ZET6故填写此项。
需要说明的是在程序开发过程中不光库文件可以通过宏定义的方式进行程序功能配置,用户程序也可以仿照库文件的这种形式,通过相关的宏定义进行一些参数配置。STM32的标准外设库在程序组织性、层次性、规范性等方面都值得我们去学习的。在&Target&的选项卡中进行的宏定义是这对当前&Target&有效的,在每一个&Group&同样可以设置作用于Group的宏定义。
Language/Code Generation 一栏中主要是针对程序语言所所的一些优化和配置,默认情况下保持默认即可。
接下来一个重要的设置就是设置工程所包含的头文件目录,如图 5-19所示,点击Include Paths一栏右侧图标,弹出如所示的对话框。点击对话框右上角图标,添加工程所包括的头文件路径,添加头文件路径的时候要把当前工程目录中包含头文件的路径都添加进去,如所示,添加了以下几个路径:
..\LIB\STM32F10x_StdPeriph_Driver\inc
..\LIB\CMSIS\CM3\CoreSupport
..\LIB\CMSIS\CM3\DeviceSupport\ST\STM32F10x
如果有用户自己编写的头文件也要相应的加上引用路径。仔细观察可以发现在标注外设库中头文件的引用为:#include "stm32f10x.h",在C语言的学习中我们知道双引号表示编译器从用户目录开始搜索,如果未找到才回去系统目录去查找,MDK的安装目录中同样存在对应的库文件,路径为Keil\ARM\INC\ST\STM32F10x,但是由于不同的版本所内含的库文件不同,如目前最新的V4.21版本中则内置了V3.4版本的库文件,而之前的版本中很多内置了V2.0版本的库文件,因此为了保持工程所使用的库文件和引用的头文件的一致性,同时也方便工程文件拷贝到其他电脑上运行,建议大家都按照本书介绍的方式都从自己的目录中引用头文件。
头文件引用路径添加完成后,就可以进行相关的编译工作了,在进行这一步工作之前,我们还要完成有关程序调试和下载的相关设置,有关调试的设置在Debug选项卡中,之前的Asm和Linker选项卡保持默认。Debug选项卡如图 5-20所示。在此选项卡中主要完成程序调试的相关设置,选项卡主要分为两个部分,左侧是使用模拟器进行仿真与调试的方式,点选后软件会进入模拟器调试。右侧是使用仿真器连接硬件开发平台进行调试,首先从右侧选择所使用的仿真器,这里使用的是J-Link仿真器,故在下拉框中选择Cortex-M/R J-LINK/J-Trace,在两侧的下方可以通过勾选对应的复选框来选择是否需要在调试开始时下载程序和运行到主程序,其他部分的设置保持默认即可。
点击右侧图标进入J-Link设置界面,如果此时仿真器和硬件开发平台已经正确连接就会出现如图 5-21所示的界面,同时系统系统任务栏中会自动弹出J-Link的控制软件。从界面中可以读出当前的J-Link SN号以及相应的版本信息,如果没有出现相关信息请检查相关驱动程序是否正确安装,并到系统的设备管理器中通用串行总线控制设备一项检查系统有没有识别出J-Link,右侧则可以读取所连接的设备信息,如果没有出现类似的信息请检查硬件连接。在此选项卡中可以进行J-Link的端口、速度等设置,这里只需要保持默认就可以了。
-21 J-Link
本章之前已经做过介绍,STM32F10X内核集成了串行/JTAG调试接口SWJ-DP(Serial Wire and JTAG)。这是标准的ARM CoreSight调试接口,包括JTAG-DP接口(使用5个引脚)和SW-DP(使用两个引脚)。引脚分配如表 5-9所示。两种方式都可以进行程序的调试和下载,但是SW方式更节省端口,只需要两根线就可以,多余的I/O可以释放用作普通用途,SW方式和JTAG方式在普通程序调试下载与调试过程中并无明显差别,如果想使用SW的方式调试程序只需要在Port的下拉列表中选择SW即可,如图 5-22所示。选择完成后如果硬件连接正确同样能够读取芯片的信息。
表 5-9 &SWJ调试端口引脚
设置好了Debug选项卡中有关选项后还需要设置Flash Download选项卡,如图 5-23所示。本选项卡主要设置烧写Flash时的相关参数,这里主要设置两个部分,一个是设置程序下载的一些配置,这儿选择Erase Sectors表示下载程序的时候擦除对应分区,勾选后面三项,分别表示下载程序,下载后校验,程序下载后复位并运行。家下来需要选择所使用的Flash,点击Add,添加所使用的芯片类型,笔者使用的是STM32F103ZET6,Flash大小是512k,因此选择STM32F10X High-density Flash。至此完成使用J-Link完成程序调试的配置。
最后选择程序下载按钮所对应的工具配置,配置同Debug界面如图 5-24所示,同样选择Cortex-M/R J-LINK/J-Trace这样就可以在后面的使用中一键将程序下载到Flash中。至此已经全部完成了程序调试和下载的必要设置。
阅读(...) 评论()后使用快捷导航没有帐号?
请完成以下验证码
查看: 20712|回复: 13
keil5文件路径的设置问题。
在线时间1520 小时
威望6160分
芯币8675枚
E金币2283枚
TA的帖子TA的资源
五彩晶圆(高级), 积分 6160, 距离下一级还需 3840 积分
五彩晶圆(高级), 积分 6160, 距离下一级还需 3840 积分
之前都用keil4.编译出现,找不到文件,就改路径,在 options for target 里面。把keil4编译通过的工程,复制一个,放到另一个文件夹下。相关的库文件夹也都复制了。但是,编译出现。startup_stm32f0xx.s: error: A1023E: File &..\..\..\..\Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates\arm\startup_stm32f0xx.s& could not be opened: No such file or directory
在 options for target 里添加了路径,具体到startup_stm32f0xx.s所在的文件夹,还是同样的错误。检查半天,找不到原因。mian文件,能找到。我把startup_stm32f0xx.s放在和main相同的文件夹下还是找不到!我把路径清空。同样的提示。我感到,恐怕不是include paths 的问题。我都没有设置路径了。它还是在..\..\..\..\Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates\arm\这个路径搜寻。我试图再添加一个启动文件。看看会发生什么。发现点击add,加不进去。但我似乎有了点想法,启动文件上,右键。 options for file。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
在线时间1520 小时
威望6160分
芯币8675枚
E金币2283枚
TA的帖子TA的资源
五彩晶圆(高级), 积分 6160, 距离下一级还需 3840 积分
五彩晶圆(高级), 积分 6160, 距离下一级还需 3840 积分
豁然开朗啊。之前都没有注意过每个文件自己的选项。每个文件有了自己的路径,就不会再按照include paths的路径去寻找。哎。好吧。
在线时间5218 小时
威望30247分
芯币114983枚
E金币1309枚
TA的帖子TA的资源
谢谢分享,还没有用过keil5,收藏
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
在线时间6 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
遇到同样的问题,原因是你复制到新的文件夹,该文件夹目录包含中文。
可能是类似的结果,但是是不同的原因。同样的路径下,不同文件,就不都能被找到。是单个文件路径的设置问题。&
在线时间1520 小时
威望6160分
芯币8675枚
E金币2283枚
TA的帖子TA的资源
五彩晶圆(高级), 积分 6160, 距离下一级还需 3840 积分
五彩晶圆(高级), 积分 6160, 距离下一级还需 3840 积分
遇到同样的问题,原因是你复制到新的文件夹,该文件夹目录包含中文。
可能是类似的结果,但是是不同的原因。同样的路径下,不同文件,就不都能被找到。是单个文件路径的设置问题。
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
我在这添加了包含头文件的文件夹路径,头文件那个地方还是显示路径错误,他提示的路径里并没有这个头文件
包含头文件,是.h文件还是工程文件夹里的c,s之类的文件。要是后者,就看文件本身的option的路径。对不对,后者删除,重新添加试试。&
在线时间1520 小时
威望6160分
芯币8675枚
E金币2283枚
TA的帖子TA的资源
五彩晶圆(高级), 积分 6160, 距离下一级还需 3840 积分
五彩晶圆(高级), 积分 6160, 距离下一级还需 3840 积分
我在这添加了包含头文件的文件夹路径,头文件那个地方还是显示路径错误,他提示的路径里并没有这个头文件
包含头文件,是.h文件还是工程文件夹里的c,s之类的文件。要是后者,就看文件本身的option的路径。对不对,后者删除,重新添加试试。
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
没看懂,求详细说下怎么设置
第二张图片,工程文件夹目录。找到编译器找不到的文件。在他上面右键,options
for file。。
点击打开,在里面改路径。就行了&
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
ienglgge 发表于
豁然开朗啊。之前都没有注意过每个文件自己的选项。每个文件有了自己的路径,就不会再按照include paths的 ...
没看懂怎么设置啊。。。
在线时间1520 小时
威望6160分
芯币8675枚
E金币2283枚
TA的帖子TA的资源
五彩晶圆(高级), 积分 6160, 距离下一级还需 3840 积分
五彩晶圆(高级), 积分 6160, 距离下一级还需 3840 积分
没看懂,求详细说下怎么设置
第二张图片,工程文件夹目录。找到编译器找不到的文件。在他上面右键,options&&for file。。&&点击打开,在里面改路径。就行了
在线时间5 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
我的Keil5.18版在调试F429DiscoveryKit也出现这个报错信息,我能编辑文件但是编译找不到文件,怀疑是路径隐藏太深,编译器的BUG,后面我把 startup_stm32f429_439xx.s 单独不搞那么深就好了敢玩儿 敢越界
智感一握,耳目一新
敢玩儿 敢越界
全球领先,待您体验马上购买
(C) 2018 宏达国际电子股份有限公司
国家/地区国家/地区
HTC Club创新活动专区网站人才招募全部产品活动专区HTC Club网站人才招募创新KEIL MDK编译工程出错 Error: A9932E: MISSING DEVICE
问题类别:ARM 开发工具 & MDK-ARM
浏览次数:9618
发布日期: 21:38:36
文章来源:米尔科技
回复日期: 14:14:59
原工程在其它机器的mdk上是可以编译的
编译工程出错,信息提示如下:
Build target 'Audio'
assembling board_cstartup_keil.s...
board_cstartup_keil.s: Error: A9932E: MISSING DEVICE (R003: SECURITY KEY NOT FOUND)
Target not created
license ID有问题,没成功安装。出现的提示是:Unknown product..
须重新申请。
| (C) 2017 Myir
深圳总部: 5 | 北京办事处: 010- | 上海办事处: 021-mdk工程打开弹出提示框 Update project device(s)_百度知道
mdk工程打开弹出提示框 Update project device(s)
The Project should be updated to use Device Family Pack Devices! After the update, the project will be stored in .uvprojx format.然后有个确定和取消按钮
这个是干嘛的
我有更好的答案
更新服务,让你更新一下相关的包。具体点开菜单栏里面绿色文件夹按钮,然后找右侧框里的黄色感叹号标志,有标志的都需要更新
采纳率:62%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 mdk device st 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信