STM32F0在IAR新建工程
1、到官网下载固件库,类似"STM32F0xx_StdPeriph_Lib_V1.5.0",解压得到文件"_htmresc" "Libraries" "Projects" "Utilities".
①“Libraries\STM32F0xx_StdPeriph_Driver”下的inc与src是底层驱动。
②“Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates\iar”下的.s文件是芯片在IAR编程的启动文件,选错会报大量的“startup”错误。
③ “Libraries\CMSIS\Device\ST\STM32F0xx\Include”下有此芯片的系统配置文件。“system_stm32f0xx.h”和“stm32f0xx.h”
④ “Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates”下有系统时钟配置文件“system_stm32f0xx.c”
⑤“Projects\STM32F0xx_StdPeriph_Templates”下有stm32f0xx_conf.h、stm32f0xx_it.c、stm32f0xx_it.h
⑥“Projects\STM32F0xx_StdPeriph_Templates\EWARM” 下有 stm32f0xx_flash.icf、stm32f0xx_ram.icf (STM32F10系列:stm32f10x_flash.icf、stm32f10x_flash_extsram.icf、stm32f10x_nor.icf 、stm32f10x_ram.icf ).
2、建立工程目录
①Libraries用来存放固件库文件
②Project用来存储 芯片的配置文件和代码,另外新建一个“EWARM”文件夹用来存储工程项目
3、把固件库的文件拷贝到工程目录
①把固件库"Libraries"文件夹内的所有文件拷贝到工程目录的“Libraries”下。
②把固件库"Projects"文件夹内的stm32f0xx_conf.h、stm32f0xx_it.c、stm32f0xx_it.h复制到工程目录"Project"下。
③ 把固件库“Projects\STM32F0xx_StdPeriph_Templates\EWARM”下的stm32f0xx_flash.icf 、stm32f0xx_ram.icf (STM32F10系列:stm32f10x_flash.icf、stm32f10x_flash_extsram.icf、stm32f10x_nor.icf 、stm32f10x_ram.icf ).复制到工程目录"Project\EWARM"下。
4、打开IAR,新建workbench—》新建project。
①建立项目后,就对文件进行分组,以及加载对应文件,以便清晰结构。如下图:
②设置IAR常规设定
5、编译出现常规错误:
①没有定义芯片类型:#error directive: "Please select first the target STM32F0xx device used in your application (in stm32f0xx.h file)" 在 stm32f0xx.h 去掉对应的注释。
或者在 IAR设置的Defined symbols 中填上芯片型号"STM32F030"
②找不到头文件 :Fatal Error[Pe1696]: cannot open source file "stm32f0xx.h" ,inc的工程目录没有设置好。
$PROJ_DIR$\..\ 工程目录的上级目录
$PROJ_DIR$\..\..\ 工程目录的上级目录的上级目录
$PROJ_DIR$\..\..\Libraries\CMSIS\Include\
$PROJ_DIR$\..\..\Libraries\STM32F0xx_StdPeriph_Driver\inc\
本文详细介绍了如何在IAR环境中为STM32F0芯片新建工程,包括从官方下载固件库、创建工程目录、拷贝库文件、配置IAR工程及解决编译错误等步骤。
2961

被折叠的 条评论
为什么被折叠?



