STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

从STM32的keil开发环境移植到IAR开发环境,分为六步走。

首先安装IAR编译环境,这个自行安装。

第一步  新建文件夹

新建一个文件夹命名“LED_CTRL”,在这个文件夹下再建立三个文件夹,

CMSISI:放系统启动相关文件

,FWLIB:放库文件

USER.:放用户自己写的文件

如下图:

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

第二步 拷贝文件

在keil下其实也有相对应的文件,我么们考过来就可以了。

下图是keil工程下的文件:

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

下面我们开始拷贝:

  1. 拷贝CMSIS文件

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

  1. 拷贝FWLIB文件

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

  1. 拷贝USER文件

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

  1. 拷贝剩余的其他用户自己写的程序(其实这些文件放哪都可以,根据自己的习惯吧)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

拷贝完成如下图:

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

第三步  新建工程

打开软件

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

新建工程

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

点击OK

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

命名led_temp保存到LED_CTRL下

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

然后就会得到下面的界面。

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

 

第四步 添加分组及文件

开始往工程中添加文件

  1. 新建分组:add group

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

好了,分组完成。

2.添加文件

a.往CMSIS添加文件:system_stm32f10x.c、startup_stm32f10x_md.s

CMSIS->add->add files

路径如下:

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

b.往FWLIB添加文件:"stm32f10x_gpio.c" "stm32f10x_rcc.c" "stm32f10x_spi.c" "stm32f10x_usart.c",(这里是因为工程中使用到了一部分的外围,所以需要自己根据工程需求添加)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

 

c.往USER中添加: "stm32f10x_it.c" "main.c",另外还有其他的用户自己写的文件led.c、nrf24l01.c、uart.c

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

到此,文件添加完成。

 

第五步 配置工程

同样选中“led_temp”然后右键,选择Options.就会出现配置界面,如下图

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

  1. 选择工程使用的芯片型号,stm32f103c8t6,这里自己根据自己设置哦。

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

b.Library Configuration的Library要设置为Full,这样才能使用printf();

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

  1. 进入C/C++Compiler,添加文件路径和所需的宏定义。

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

到此路径添加完成,下面添加宏定义。

不记得的,可以打开芯片的头文件查找即可。

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

到此,宏定义添加完成。

  1. 进入Linker配置链接文件,点击进入,在IAR环境中已经存在,你选择和自己芯片匹配的就好了。

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

  1. 进入Debugger配置,选择自己程序的下载方式。

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

选择下载到flash

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

到此,工程配置完成。

第六步

编译工程

同样选中”led_temp”右键-》Rebuild all

弹出文件名设置

同样设置为“led_temp”点击保存。

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

第六步 解决编译错误问题

弹出好多的错误:

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

解决办法:

1.core_cm3.h重命名为core_cm3.h.old

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

再次编译:

出现错误:

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

解决办法:继续进入工程配置,General Options->Library Configuration:Library 选FULL,右下角选择Use CMSIS

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

 

我们会看到,错误已经没有了,但是有很多的警告,如下图STM32工程在keil下怎么移植到IAR环境(stm32f103c8)解决办法:startup_stm32f10x_md.s文件中的”SECTION .text:CODE:REORDER”都要改为“SECTION .text:CODE: NOROOT:REORDER”

方法很简单,用Notepad++打开然进行替换即可。

首先,要去掉文件的只读模式,然后在修改。STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

好了,全部修改完成。保存,并恢复为只读模式,然后再编译工程。

STM32工程在keil下怎么移植到IAR环境(stm32f103c8)

工程编译结果无错误,无警告,移植到此结束,完美。