
本帖最后由 qinyunzhen 于 2019-5-9 17:51 编辑 % b* h* K6 o3 I( X# v9 f4 X4 U Keil uVision5建立STM32F030C8T6/ STM32F103RCT6工程项目* h& ?1 D2 ^! g7 D( X i
2、打开Keil uVision5 ->project菜单->new新建: 工程保存到PowerSafe文件夹的USER目录。 ) X0 X& M6 ?/ T& Y9 B! h; R![]() 3、选择芯片型号: 根据具体芯片选择! # f# K4 F: k4 P Z![]() 4、正常成功会弹出如下界面点击“取消”。 * T: E* f8 T3 J' h8 J![]() 5、如果有出错界面。 5 @: h1 {5 ~ b" H5 C" f0 E; U![]() 原因1 N! `4 m8 W; ~# a ; A0 [0 l( B/ _' W9 H5 Y此错误消息意味着MDK-ARM的早期版本无法理解新包中的“消息”功能。7 b% w& p" k# M7 V 为了改进CMSIS标准,新功能始终添加到规范中。“消息”功能是CMSIS-Pack标准版本1.4.9的最新版本。CMSIS PACK版本 5。0。1(2017年2月23日发布)以及后来实施此标准。Keil更新了MDK-ARM版本5.24a(2017年7月5日发布),之后又能够使用“消息”功能。 STM32F4和STM32L4器件系列包(DFP)是第一批利用“消息”功能的产品。7 g/ w4 o* I, C% b' i( C 解析度 可能的解决方案: 更新到MDK-ARM版本5.24a和CMSIS Pack版本 5.0.1或更高版本,以利用最新ST包中使用的序列,查询和其他新的调试访问功能。 将ST设备系列包降级为2017年2月之前发布的包。 6、如果第4步没有出错,会进入如下界面: ![]() 7、工程目录添加文件夹: # s5 y) @; N0 b, J: K) c 添加CORE,STM32f03x_FWLib,OBJ 2 J4 X* g' t! ^8、从ST 的SDK包拷贝相关文件到工程中。 1)F030添加en.stm32cubef0\STM32Cube_FW_F0_V1.10.0\Drivers\STM32F0xx_HAL_Driver ) |1 _- G9 N. `+ t( [7 o 到 STM32f03x_FWLib * y1 t$ _) |& y# D F103添加STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver , Q/ s5 y; B9 I) @到 STM32f10x_FWLib * H- |3 O- k) h i+ p2) F030添加STM32Cube_FW_F0_V1.10.0\Drivers\CMSIS\Include 到 core # [6 o# T9 D3 m& d: e' { F103添加STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport ' X! p& j4 l: N8 z3 A* L到 core 3)添加启动文件: F030添加en.stm32cubef0\STM32Cube_FW_F0_V1.10.0\Drivers\CMSIS\Device\ST\STM32F0xx\Source\Templates\arm\startup_stm32f030x8.s 到core 8 |2 p+ c, a$ A2 H0 d- QF103添加STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\ startup_stm32f10x_hd.s + Y" Q6 H0 ^. r# m; [$ b到core ; ~/ ^7 h+ |0 S. ?) _) f1 I" K! _启动文件一般网上可以找到,如果找不到可以去官网下载: http://my.st.com/content/my_st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32cube-mcu-mpu-packages/stm32cubef0.html ) w- o1 U A' @) ?启动文件是根据编译环境和芯片对应,不能选择错误。 0 Y; P% ]$ u6 Z( R4 K4)添加其他文件文件: F030添加en.stm32cubef0\STM32Cube_FW_F0_V1.10.0\Drivers\CMSIS\Device\ST\STM32F0xx\Include 1 V( F B7 h9 x% gstm32f0xx.h;stm32f030x8.h;system_stm32f0xx.h 2 {1 A L$ _6 O$ X添加到USER目录 F103添加 9 _% A" D3 Z% f7 ] q! ^# g7 hSTM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x的文件,不包含文件夹 stm32f10x.h; system_stm32f10x.c; system_stm32f10x.h 添加到USER目录 F030添加 en.stm32cubef0\STM32Cube_FW_F0_V1.10.0\Projects\STM32F030R8-Nucleo\Templates Inc和Src 0 n y+ V/ {9 rmain.h; stm32f0xx_hal_conf.h;stm32f0xx_it.h system_stm32f0xx.c; stm32f0xx_hal_msp.c; stm32f0xx_it.c; main.c 3 }" @4 q4 u# }! ?& E, U到user目录 F103添加 STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template : y- |1 r, p; r. d9 Zmain.c ; stm32f10x_conf.h;stm32f10x_it.c;stm32f10x_it.h; 到user目录 9、把拷贝的文件添加到 工程中。 * g7 r# O4 m( i/ p; y添加头文件目录: ![]() 设置输入文件目录和打开创建HEX文件选项 9 ~, q" V+ y1 z9 P" t$ S% Y, y6 s![]() 10、编译 编译会出错,可以根据错误信息修改。直到编译成功。 F103编译项目要添加宏定义“STM32F10X_HD,USE_STDPERIPH_DRIVER” ![]() |
谢谢分享 |