尘起风扬的STM32学习笔记之 在IAR中使用ST官方3.5的库建立工程
准备目录
1 建立工程文件夹 STM32_IAR并建立子目录 user、cmsis、lib、startup、iar
2 将\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver 目录下的 \inc 、\src 文件夹复制到STM32_IAR\lib 目录下
3 将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport 目录下的 core_cm3.c、core_cm3.h 及\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x目录下的stm32f10x.h 、 system_stm32f10x.c 、 system_stm32f10x.h拷贝至STM32_IAR/cmsis 目录下
5 将STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template下的 main.c stm32f10x_conf.h stm32f10x_it.c stm32f10x_it.h system_stm32f10x.c 复制到user 目录下
6 将\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\ CMSIS\CM3\DeviceSupport\ST\ STM32F10x\startup\iar 目录下的所有文件复制到 startup文件夹中
将\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\EWARM 下的stm32f10x_flash.icf、stm32f10x_flash_extsram.icf、stm32f10x_ram.icf、 stm32f10x_nor.icf 四个文件拷贝至 STM32_IAR/iar 目录下
(二)建立工程
1 打开EWARM 建立新工程 ,保存工程到user 文件夹
给工程添加文件组 cmsis lib startup user
2 添加 cmsis 文件夹下的所有目录到 cmsis 组中
3 添加lib/src 下相应模块的文件到lib组中 ,注意stm32f10x_rcc.c 为时钟所需的文件,必须添加
4 添加 startup /startup_stm32f10x_hd.s 到startup 组中
startup_stm32f10x_hd.s纪委大容量器件对应的启动文件中小容量的器件分别为xx_md.s,xx_ld.d 后面带VL的 为互联型器件,如F105 F107系列的
5 添加 user 目录下的main.c stm32f10x_conf.h stm32f10x_it.c stm32f10x_it.h 到user 组中
添加好文件组及 文件后的目录如下图所示
12 选中 工程 右键 option 在general option --target 下选择 device -ST- ST stm32f10x xe
由于本次所选的器件为STM32F103ZET6,故选择STM32F10xxE
在c/c++ compiler -preprocessor 选项additional include directories 中添加相应的 头文件目录
$PROJ_DIR$/../user
$PROJ_DIR$/../lib/inc
$PROJ_DIR$/../CMSIS
在下方的defined symbols 中输入
USE_STDPERIPH_DRIVER
STM32F10X_HD 每行一个宏
此处选择的stm32f103zet6 为大容量器件 所以为
STM32F10X_HD 其它STM32F10X_LD、STM32F10X_MD分别对应小容量、中等容量器件
在linker中作如下设置
stm32f10x_flash.icf 对应生成的代码放在内部flash 中运行
stm32f10x_flash_extsram.icf 对应生成的代码运行在外部flash 中
stm32f10x_nor.icf 对应生成的代码保存在nor flash 中
stm32f10x_ram.icf 对应生成的代码保存在内部ram中
|
|