1. 在www.st.com上下载stm32的外设驱动库文件stm32f10x_stdperiph_lib,现在最新的是STM32F10x_StdPeriph_Lib_V3.2.0。
2. 打开stm32f10x_stdperiph_lib/STM32F10x_StdPeriph_Lib_V3.2.0/Project/STM32F10x_StdPeriph_Template文件夹,将EWARMv5文件夹复制到自己的工程文件夹中(这个是IAR下的工程模板,里面的RVMDK是uVision下的模板)。
3. 以ADC例程为例。
打开stm32f10x_stdperiph_lib/STM32F10x_StdPeriph_Lib_V3.2.0/Project/STM32F10x_StdPeriph_Examples文件夹,这里是例程。打开ADC文件夹中的ADC1_DMA,将其中的文件复制到自己建立的IAR工程文件夹中。
4.把stm32f10x_stdperiph_lib/STM32F10x_StdPeriph_Lib_V3.2.0中的Libraries文件夹复制到工程文件中。里面的两个文件夹分别为CORTEX-M3的内核文件和外设的驱动文件。
5. 打开EWARMv5中的工程文件。先编译,发现有很多错误,应该是14个吧。
6. 在workspace处右键工程文件选择options。在general opitons/Target中选中Device, 选择芯片型号;在c/c++compiler/preprocessor,additional include directories:这里是一些主要文件的路径,一定要与工程文件路径对应。其中主要的是inc路径和CM3路径(如下),其他没用到的可以删去。
$PROJ_DIR$/../
$PROJ_DIR$/../Libraries/CMSIS/CM3/CoreSupport
$PROJ_DIR$/../Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x
$PROJ_DIR$/../Libraries/STM32F10x_StdPeriph_Driver/inc
其中$PROJ_DIR$表示IAR工程文件目录,/../表示上一级目录 。
7. 在linker/config下选中override default ,load一个stm32f10x_flash.icf文件(用来指出stm32 rom、ram的执行地址,一般在例程中都有这个文件)。这里已经配置好了:$PROJ_DIR$/stm32f10x_flash.icf。
8. 重新编译工程文件,发现出现“找不到外设文件”和“内核文件”等的错误,把找不到的外设文件等删去,然后在工程文件中从新添加进来,在编译就OK了。
总体来说写的有点乱,我知道给自己提醒的,怕以后又忘了。