尘起风扬的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中 
         
        |  
  
 |