查看: 864|回复: 0
打印 上一主题 下一主题

尘起风扬的STM32学习笔记之 在IAR中使用ST官方3.5的库建立工程

[复制链接]
跳转到指定楼层
沙发
发表于 2016-5-7 22:04:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表