软件环境:IAR Embedded Workbench for ARM v7.4 + ST官方库 v3.5
硬件环境:STM32F103C8开发板
仿真器 :ST-Link
这里以LED流水灯为例。
一、准备本地目录。
1. 在本地硬盘建立LED文件夹,在LED文件夹中建立CMSIS、FWlib和Project三个子文件夹,在CMSIS文件夹下再建立startup子文件夹,在Project文件夹下再建立EWRAM子文件夹,如图1所示(请先注意红圈中的内容,其他暂时忽略)。之所以这样,是受ST官方例程影响。
图1
2. 将ST官方库里面\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver目录下的两个文件夹inc和src复制到FWlib文件夹中,如图1所示。
这些都是官方的芯片外设驱动相关的源码,其中头文件在inc中。
3.将ST官方库里面\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar目录中的文件复制到CMSIS下的startup文件夹中。
启动文件所在目录,主要用于初始化SP、PC及设置中断向量表。
4. 1)将ST官方库里面\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport目录下的core_cm3.c和core_cm3.h文件复制到CMSIS文件夹中。
2)将ST官方库里面\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x目录下stm32f10x.h、system_stm32f10x.c和system_stm32f10x.h文件复制到CMSIS文件夹中。
3)将IAR安装目录下(默认为C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.2)\arm\CMSIS\Include中core_cmFunc.h和core_cmInstr.h文件复制到CMSIS文件夹中。
这些都是ARM公司的与芯片生产厂商无关的Cortex-M内核相关的硬件抽象层文件。
5.将ST官方库里面\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template中的main.c、stm32f10x_conf.h、stm32f10x_it.c和stm32f10x_it.h复制到Project文件夹中。
项目的主文件、中断处理文件等。
二、设置IAR
1.启动IAR(EWRAM),新建workspace,如图2
图2
2.新建项目,点击project菜单->Creat New Project,弹出如图3所示对话框,选择空项目(Empty Project),OK.
生成的项目文件保存在前文所述的Project文件夹中。
图3
3.在左侧的项目结构中,通过Add Group的方式添加FWlib、Startup、SystemFile和User四个Group. 因为本例程是以LED为例,在FWlib中添加FWlib文件夹中的stm32f10x_gpio.c和stm32f10x_rcc.c;因为硬件是STM32F103C8,属于中密度芯片,所以在startup中添加\CMSIS\startup文件夹中的startup_stm32f10x_md.s;在SystemFile中添加CMSIS文件夹中的core_cm3.c和system_stm32f10x.c;在User中添加main.c和stm32f10x_it.c,因为本例程中没有使用中断,所以stm32f10x_it.c也可以不用包含进来,当然,考虑到以后使用这个例程作为模板,所以还是将该文件包含在里面。
4. 在project->option或通过Alt+F7,打开本项目的设置选项。
1)在General里面,选择芯片(本例程是STM32F103C8),如图4所示。
图4
2)在C/C++ Complier中的Preprocessor中,添加头文件的目录,即前文所述的\FWlib\inc、CMSIS和Project文件夹。另外,还要在Define Sysbols中添加如下两行:
USE_STDPERIPH_DRIVER
STM32F10X_MD
图5
3)在Output Converter中进行如图6设置。
图6
4)在Debugger中将仿真器设置为ST-Link,如图7所示;另外在Download中勾选flash选项目,如图8所示。
图7
图8
三、新建LED.h和LED.c文件,并添加到User中。编写相关代码,最后进行Rebuild All,如图9所示。
图9
如果程序编写没有问题,最后提示是没有错误的。
四、连接好硬件,点击图10所示的下载按钮,下载程序到芯片中。
图10
本例程中在附件中,供参考。
文章评论(0条评论)
登录后参与讨论