STM32
登录
直播中
半导体开发
9年用户
848经验值
擅长:可编程逻辑
私信
关注
[问答]
请问STM32工程在keil下怎么移植到IAR环境?
开启该帖子的消息推送
STM32
请问
STM32
工程在keil下怎么移植到IAR环境?
回帖
(1)
刘倩
2021-12-17 14:29:51
从STM32的keil开发环境移植到IAR开发环境,分为六步走。
首先安装IAR编译环境,这个自行安装。
第一步
新建文件夹
新建一个文件夹命名“LED_CTRL”,在这个文件夹下再建立三个文件夹,
CMSISI:放系统启动相关文件
,FWLIB:放库文件
USER.:放用户自己写的文件
如下图:
第二步
拷贝文件
在keil下其实也有相对应的文件,我么们考过来就可以了。
下图是keil工程下的文件:
下面我们开始拷贝:
拷贝CMSIS文件
拷贝FWLIB文件
拷贝USER文件
拷贝剩余的其他用户自己写的程序(其实这些文件放哪都可以,根据自己的习惯吧)
拷贝完成如下图:
第三步
新建工程
打开软件
新建工程
点击OK
命名led_temp保存到LED_CTRL下
然后就会得到下面的界面。
第四步
添加分组及文件
开始往工程中添加文件
新建分组:add group
好了,分组完成。
2.添加文件
a.往CMSIS添加文件:system_stm32f10x.c、startup_stm32f10x_md.s
CMSIS->add->add files
路径如下:
b.往FWLIB添加文件:"stm32f10x_gpio.c" "stm32f10x_rcc.c" "stm32f10x_spi.c" "stm32f10x_usart.c",(这里是因为工程中使用到了一部分的外围,所以需要自己根据工程需求添加)
c.往USER中添加: "stm32f10x_it.c" "main.c",另外还有其他的用户自己写的文件led.c、nrf24l01.c、uart.c
。
到此,文件添加完成。
第五步
配置工程
同样选中“led_temp”然后右键,选择Options.就会出现配置界面,如下图
。
选择工程使用的芯片型号,stm32f103c8t6,这里自己根据自己设置哦。
b.Library Configuration的Library要设置为Full,这样才能使用printf();
进入C/C++Compiler,添加文件路径和所需的宏定义。
到此路径添加完成,下面添加宏定义。
不记得的,可以打开芯片的头文件查找即可。
到此,宏定义添加完成。
进入Linker配置链接文件,点击进入,在IAR环境中已经存在,你选择和自己芯片匹配的就好了。
进入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_stm32f10x_md.s文件中的”SECTION .text:CODE:REORDER”都要改为“SECTION .text:CODE: NOROOT:REORDER”
方法很简单,用Notepad++打开然进行替换即可。
首先,要去掉文件的只读模式,然后在修改。
好了,全部修改完成。保存,并恢复为只读模式,然后再编译工程。
工程编译结果无错误,无警告,移植到此结束,完美。
。
从STM32的keil开发环境移植到IAR开发环境,分为六步走。
首先安装IAR编译环境,这个自行安装。
第一步
新建文件夹
新建一个文件夹命名“LED_CTRL”,在这个文件夹下再建立三个文件夹,
CMSISI:放系统启动相关文件
,FWLIB:放库文件
USER.:放用户自己写的文件
如下图:
第二步
拷贝文件
在keil下其实也有相对应的文件,我么们考过来就可以了。
下图是keil工程下的文件:
下面我们开始拷贝:
拷贝CMSIS文件
拷贝FWLIB文件
拷贝USER文件
拷贝剩余的其他用户自己写的程序(其实这些文件放哪都可以,根据自己的习惯吧)
拷贝完成如下图:
第三步
新建工程
打开软件
新建工程
点击OK
命名led_temp保存到LED_CTRL下
然后就会得到下面的界面。
第四步
添加分组及文件
开始往工程中添加文件
新建分组:add group
好了,分组完成。
2.添加文件
a.往CMSIS添加文件:system_stm32f10x.c、startup_stm32f10x_md.s
CMSIS->add->add files
路径如下:
b.往FWLIB添加文件:"stm32f10x_gpio.c" "stm32f10x_rcc.c" "stm32f10x_spi.c" "stm32f10x_usart.c",(这里是因为工程中使用到了一部分的外围,所以需要自己根据工程需求添加)
c.往USER中添加: "stm32f10x_it.c" "main.c",另外还有其他的用户自己写的文件led.c、nrf24l01.c、uart.c
。
到此,文件添加完成。
第五步
配置工程
同样选中“led_temp”然后右键,选择Options.就会出现配置界面,如下图
。
选择工程使用的芯片型号,stm32f103c8t6,这里自己根据自己设置哦。
b.Library Configuration的Library要设置为Full,这样才能使用printf();
进入C/C++Compiler,添加文件路径和所需的宏定义。
到此路径添加完成,下面添加宏定义。
不记得的,可以打开芯片的头文件查找即可。
到此,宏定义添加完成。
进入Linker配置链接文件,点击进入,在IAR环境中已经存在,你选择和自己芯片匹配的就好了。
进入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_stm32f10x_md.s文件中的”SECTION .text:CODE:REORDER”都要改为“SECTION .text:CODE: NOROOT:REORDER”
方法很简单,用Notepad++打开然进行替换即可。
首先,要去掉文件的只读模式,然后在修改。
好了,全部修改完成。保存,并恢复为只读模式,然后再编译工程。
工程编译结果无错误,无警告,移植到此结束,完美。
。
举报
更多回帖
rotate(-90deg);
回复
相关问答
STM32
IAR
的
工程
怎么
移植
到
keil
?
2023-09-21
212
IAR
移植
到
KEIL
时钟不对
2019-06-21
1707
如何入门
STM32
之
环境
配置、
工程
创建与
工程
移植
2021-10-13
571
keil
环境
中怎么替代#pragra?
2023-10-18
242
Keil
μVision的iNEMO 2.x项目
移植
到
KEIL
?
2018-10-10
1386
怎样去
移植
IAR
工程
呢
2021-10-15
1100
如何
移植
基于
在
Keil
MDK
环境
下
的ThreadX操作系统
2021-10-13
762
stm32
程序从
IAR
平台
移植
到
kell平台不能用
2019-01-28
1868
ADUC7024的
KEIL
4
工程
2019-10-09
1004
怎样去搭建一种
IAR
或
KEIL
的集成开发
环境
呢
2021-12-21
1292
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分