
STM32项目如何在Keil环境中迁移到IAR环境(stm32f103c8)。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
从STM32的Keil开发环境迁移到IAR开发环境,包含六个步骤。首先,需要安装IAR编译环境,这部分安装过程由用户自行完成。随后,第一步是创建项目文件夹结构:在根目录下新建一个文件夹命名“LED_CTRL”,并在该文件夹下再创建三个子文件夹:CMSIS用于存放系统启动相关文件,FWLIB用于存放库文件USER,以及USER文件夹用于存放用户自定义编写的文件,具体结构如图所示。第二步涉及文件的复制操作。在Keil环境中同样存在相应的项目文件,可以将其迁移过来。以下图所示展示了Keil工程下的文件结构:接下来,将文件按照以下步骤进行复制:1. 拷贝CMSIS文件;2. 拷贝FWLIB文件;3. 拷贝USER文件;4. 拷贝其他用户自定义编写的程序(这些文件的存放位置可以根据个人习惯进行调整)。完成复制后,如上图所示。第三步是新建工程并打开软件。首先新建一个工程,点击“OK”,并命名为“led_temp”,保存到“LED_CTRL”目录下,这样就得到了如下界面。第四步是添加分组和文件到工程中。首先创建一个新的分组名为“add group”。分组创建完毕后,开始向工程中添加文件:1. 将CMSIS中的文件system_stm32f10x.c和startup_stm32f10x_md.s添加到CMSIS分组;2. 将FWLIB中的文件stm32f10x_gpio.c、stm32f10x_rcc.c、stm32f10x_spi.c和stm32f10x_usart.c添加到FWLIB分组(由于工程中使用了部分外围模块,因此需要根据实际需求自行添加相关库文件);3. 将USER文件夹中的文件stm32f10x_it.c和main.c以及其他用户自定义编写的文件led.c、nrf24l01.c和uart.c添加到USER分组。至此,文件添加完成。第五步是配置工程设置。首先选中“led_temp”项目,然后右键选择“Options”,即可进入配置界面(如上图所示)。a) 选择合适的芯片型号(例如stm32f103c8t6),根据实际设置进行选择;b) 在Library Configuration选项中设置为Full模式以支持使用printf()函数; c) 进入C/C++Compiler选项卡,添加所需的编译器路径和宏定义(可以通过打开芯片的头文件来查找未知的宏定义);d) 进入Linker配置选项卡,选择与芯片匹配的链接器配置文件;e) 进入Debugger配置选项卡,选择合适的下载方式(例如将程序下载到Flash)。完成以上配置后即可结束工程配置。第六步是编译工程。再次选中“led_temp”项目并右键选择“Rebuild all”,设置文件名同样为“led_temp”,然后点击保存按钮。第七步解决编译错误问题:如果编译过程中出现大量错误提示, 可以尝试以下方法解决:1. 重命名core_cm3.h为core_cm3.h.old, 然后重新编译; 2.继续进入工程配置, 在General Options->Library Configuration:Library 中选择FULL, 并勾选Use CMSIS选项, 此时错误已经消失, 但可能仍存在大量的警告信息 (如上图所示); 3.在startup_stm32f10x_md.s文件中, 将SECTION .text:CODE:REORDER修改为SECTION .text:CODE: NOROOT:REORDER,使用Notepad++进行替换操作; 首先需要移除文件的只读属性, 然后修改文本内容; 最后恢复文件的只读属性, 并重新编译工程 。 工程编译成功后表明移植过程已完成且成功 。
全部评论 (0)


