社区
非技术区
帖子详情
keil5下预定义STM32F10X_MD出问题
众星之主
2018-01-27 10:11:17
按照一般的教程来做的,使用stm32f105的mcu的板子上,预定义STM32F10X_MD出现问题.上网查阅资料说是keil5在选择芯片时已经将容量确定了,所以不需要再预定义STM32F10X_MD了.
但是我现在有个工程里面均是靠STM32F10X_MD去区分包含的(如下图)
所以现在就想问问如何才能预定义这个STM32F10X_MD,先谢谢各位大佬了!!
...全文
771
1
打赏
收藏
keil5下预定义STM32F10X_MD出问题
按照一般的教程来做的,使用stm32f105的mcu的板子上,预定义STM32F10X_MD出现问题.上网查阅资料说是keil5在选择芯片时已经将容量确定了,所以不需要再预定义STM32F10X_MD了. 但是我现在有个工程里面均是靠STM32F10X_MD去区分包含的(如下图) 所以现在就想问问如何才能预定义这个STM32F10X_MD,先谢谢各位大佬了!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
STM32
工程在keil下怎么移植到IAR环境(
stm32
f103c8).docx
从
STM32
的keil开发环境移植到IAR开发环境,分为六步走。 首先安装IAR编译环境,这个自行安装。 第一步 新建文件夹 新建一个文件夹命名“LED_CTRL”,在这个文件夹下再建立三个文件夹, CMSISI:放系统启动相关文件 ,FWLIB:放库文件 USER.:放用户自己写的文件 如下图: 第二步 拷贝文件 在keil下其实也有相对应的文件,我么们考过来就可以了。 下图是keil工程下的文件: 下面我们开始拷贝: 1. 拷贝CMSIS文件 2. 拷贝FWLIB文件 3. 拷贝USER文件 4. 拷贝剩余的其他用户自己写的程序(其实这些文件放哪都可以,根据自己的习惯吧) 拷贝完成如下图: 第三步 新建工程 打开软件 新建工程 点击OK 命名led_temp保存到LED_CTRL下 然后就会得到下面的界面。 第四步 添加分组及文件 开始往工程中添加文件 1. 新建分组:add group 好了,分组完成。 2.添加文件 a.往CMSIS添加文件:system_
stm32
f10x
.c、startup_
stm32
f10x
_
md
.s CMSIS->add->add files 路径如下: b.往FWLIB添加文件:"
stm32
f10x
_gpio.c" "
stm32
f10x
_rcc.c" "
stm32
f10x
_spi.c" "
stm32
f10x
_usart.c",(这里是因为工程中使用到了一部分的外围,所以需要自己根据工程需求添加) c.往USER中添加: "
stm32
f10x
_it.c" "main.c",另外还有其他的用户自己写的文件led.c、nrf24l01.c、uart.c 。 到此,文件添加完成。 第五步 配置工程 同样选中“led_temp”然后右键,选择Options.就会
出
现配置界面,如下图 。 a. 选择工程使用的芯片型号,
stm32
f103c8t6,这里自己根据自己设置哦。 b.Library Configuration的Library要设置为Full,这样才能使用printf(); b. 进入C/C++Compiler,添加文件路径和所需的宏定
义
。 到此路径添加完成,下面添加宏定
义
。 不记得的,可以打开芯片的头文件查找即可。 到此,宏定
义
添加完成。 c. 进入Linker配置链接文件,点击进入,在IAR环境中已经存在,你选择和自己芯片匹配的就好了。 d. 进入Debugger配置,选择自己程序的下载方式。 选择下载到flash 到此,工程配置完成。 第六步 编译工程 同样选中”led_temp”右键-》Rebuild all 弹
出
文件名设置 同样设置为“led_temp”点击保存。 第六步 解决编译错误
问题
弹
出
好多的错误: 解决办法: 1.core_cm3.h重命名为core_cm3.h.old 再次编译:
出
现错误: 解决办法:继续进入工程配置,General Options->Library Configuration:Library 选FULL,右下角选择Use CMSIS 我们会看到,错误已经没有了,但是有很多的警告,如下图 解决办法:startup_
stm32
f10x
_
md
.s文件中的”SECTION .text:CODE:REORDER”都要改为“SECTION .text:CODE: NOROOT:REORDER” 方法很简单,用Notepad++打开然进行替换即可。 首先,要去掉文件的只读模式,然后在修改。 好了,全部修改完成。保存,并恢复为只读模式,然后再编译工程。 工程编译结果无错误,无警告,移植到此结束,完美。 。
使用Keil4新建ST32工程
使用Keil4新建ST32工程:main.c中的头文件需要引用。定
义
STM32
F10X
_HD,是因为我们用的芯片是大容量的。添加了
STM32
F10X
_
MD
这个宏以后,库文件里面为大容量芯片定
义
的寄存器,我们都可以使用了。芯片是小容量,或者,中容量时,宏要换成,
STM32
F10X
_LD或者
STM32
F10X
_HD。
Keil5
STM32
f10x
_
MD
在Preprosessor Symbols 可以不写
在keil4中preprocessor symbols需要写USE_STDPERIPH_DRIVER,
STM32
f10x
_
MD
,如果不写就会报错。在
keil5
中,不写
STM32
f10x
_
MD
,也是可以编译成功。如果用
MD
K RTE环境生成库函数,
stm32
f10x
.h会多下面的几行代码,且会生成一个RTE Component.h文件,通过下面的代码,会自定
义
USE_STDPERIPH_DRIVER,这样在preprocessor symbols中USE_STDPERIPH_DRIVER也不用写。
STM32
keil设置中的宏定
义
STM32
F10X
_
MD
,USE_STDPERIPH_DRIVER作用以及用VS Code编写
stm32
代码配置
问题
在创建
STM32
标准库工程模板时,要在keil的C/C++设置中添加下面的宏定
义
,注意中间是英文逗号隔开在
stm32
f10x
.h文件中有这样预处理代码# if!!(# if!)# if!& if!!(# if!)# if!& if!!(# if!)# if!& if!!(# if!)# if!& if!!(# if!)# if!& if!!defined。...
关于
STM32
MD
K中USE_STDPERIPH_DRIVER
问题
及
STM32
F10X
_LD
STM32
F10X
_
MD
STM32
F10X
_HD
STM32
F10X
_CL宏定
义
的选择
一.关于
STM32
MD
K中USE_STDPERIPH_DRIVER
问题
初学
STM32
,在RealView
MD
K 环境中使用
STM32
固件库建立工程时,初学者可能会遇到编译不通过的
问题
。
出
现如下警告或错误提示: warning: #223-D: function "assert_param" declared implicitly;assert_param(IS_GPIO_
非技术区
1,068
社区成员
6,263
社区内容
发帖
与我相关
我的任务
非技术区
硬件/嵌入开发 非技术区
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章