1.事情区的建立
新建 IAR 事情空间,首先是菜单 File 里选择 Open 再选择 Workspace
打开后的:

有了事情空间就可以建立工程了。
2.工程建立
点击“Project-Create New Project”
涌现如下小窗口界面:
“Tool Chain:ARM”这里选的是芯片的类型,IAR 有很多其他专用的开拓集成环境,比如 IAR for ARM,IAR for 430,IAR for 8051 等等。这里只安装了 ARM 的编译器,因此此选项只有 ARM。它的下面有个“Project templates”(工程模板),“Project templates”里面有四个选项,第一个是“Empty project”,表示建立一个空缺的工程;第二个是“asm”,表示一个汇编程序开拓的工程;第三个是“C++”,表示建立一个 C++开拓工程;第四个是“C”,表示建立一个C 措辞开拓的工程的,由于我们须要建立 STM32 固件库的开拓环境,因此在这里只需建立一个空缺的工程就可以了。如下:
接着会弹出一个保存的界面:
确定路径(提前自己建立一个文件夹我在桌面上建立的文件夹叫做stm32demo)在起一个名字,就可以点击保存了。保存后界面如下:
末了,我们须要保存事情区,选择“File”->“Save Workspace”保存工程:
保存文件:
STM32 标准固件库的先容
固件库,我们可以近似的把它认知为硬件的系统函数库,它是 ST 官方发布的基于C措辞和汇编代码构成的C库,我们可以直接调用它供应给我们的库函数,进行 STM32 单片机的硬件配置和操作,目前针对 STM32F103 系列的固件库为“STM32F10x_StdPeriph_Lib_V3.5.0”,ST 的官方网站上能下载到,也可以关注我私信“IAR”获取我百度盘分享的IAR安装包、破解工具和固件。
STM32F10x_StdPeriph_Lib_V3.5.0的目录树如下:
各个文件的浸染:
1.“_htmresc”文件夹存放了 STM32 固件库的 LOGO 图片;
2.“Libraries”文件夹是 STM32 固件库的紧张库函数存放地,里面包含了两个文件夹:
“CMSIS”里面包含了一个“CM3”文件夹,“CM3”里面存放了一些和ARM Cortex-M3 有关的启动文件;
“STM32F10x_StdPeriph_Driver”文件夹里面便是 STM32 外设的驱动文件,例如 GPIO,CAN,USART 等等;
3.“Project”文件夹里面包含了两个文件夹,这里面存放的是一些利用标准的固件库建立起来的模板和例程:
“STM32F10x_StdPeriph_Examples”里面存放了 STM32 外设固件的标准例程;
“STM32F10x_StdPeriph_Template”里面存放了各个不同 IDE 的模板。
4.“Utilities”里面包含了用于 STM3210B-EVAL 和 STM3210E-EVAL 评估板的专用驱动。
STM32 固件库模板的建立1.建立根目录文件夹管理代码
在“stm32demo”根文件夹里面建立“USER”,“CMSIS”,“FWLIB”几个文件夹,个中,“USER”文件夹,紧张存放用户运用程序和中断文件,“CMSIS”紧张存放内核和系统干系的代码;“FWLIB”紧张存放STM32 标准外设的驱动代码。如图:
2.复制固件库文件
把“STM32F10x_StdPeriph_Lib_V3.5.0”文件夹里面的干系内容复制到我们建立的模板文件夹里。
下面的步骤是很主要的,一定要看清了。
在模板文件夹里面的CMSIS里面建立文件夹Startup。
将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar\里面的干系内容复制到\CMSIS\Startup中。
将CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.h 和system_stm32f10x.c 和 stm32f10x.h复制到模板文件夹CMSIS里面
将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc文件夹和 src 文件夹
复制到模板FWLIB文件夹里
将STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_conf.h 和 stm32f10x_it.c复制到USER文件夹
STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\EWARM\stm32f10x_flash.icf 和stm32f10x_flash_extsram.icf 和stm32f10x_nor.icf 和 stm32f10x_ram.icf复制到stm32demo文件夹下:
3.IAR 添加管理文件夹
点击“Add”,选择“Add Group...”
在“Group name”里面输入干系的名称,点击“OK”即可以完成相应的步骤
在建立好的文件夹上面右击,然后点击“Add”,选择“Add Group...”,即可以实现阶层文件夹的建立
重复上述所讲的步骤,我们依次建立文件夹,如图:
4.IAR 添加源码
将“stm32demo”里面的文件添加到 IAR 里相应的目录即可。添加办法很大略,只要在想要添加的文件夹上面右击,选择“Add”,然后“Add File”即会弹出相应的对话框供用户选择文件,选择好文件之后,单击“确定”即可以添加进去
依次按照上述办法,并且按照下面中的源和目的,完成源码的添加:
STM32F10X Template\CMSIS\Startup 相应文件--------------CMSIS/startup/
STM32F10X Template\CMSIS\system_stm32f10x.c --------------CMSIS/system/
STM32F10X Template\FWLIB\src\文件夹里的文件 ----------------FWLIB
STM32F10X Template\USER\stm32f10x_it.c -------------------USER
关于 \CMSIS\Startup 文件夹里面文件的选择,须要按照对应芯片的容量来选择:
对付STM32F103RBT6,是128kb的flash,故选择的是:startup_stm32f10x_md.s
再赋一个选择的对照表:
末了,我的全体事情空间如下:
5.IDE 的配置
make一下:
报错了:
右击工程名->选择“Options”:
选择“Category”里面的“C/C++ Compiler”,然后找到“Preprocessor”,然后在“Additional include directories:”输入头文件的包含路径:
$PROJ_DIR$\
$PROJ_DIR$\CMSIS\
$PROJ_DIR$\FWLIB\inc\
$PROJ_DIR$\USER\
$PROJ_DIR$\DRIVER\inc\
如下:
在make一下
连续报错了
还是在“Options”里面,选择 Category”里面的“C/C++compiler”,找到“Preprocessor”,在“Defined Symbol”里面定义所须要的芯片容量,由于我们利用的是中等容量的,因此定义“STM32F10X_MD”
连续设置:
在“Option”->“General”->“Target”里面选择芯片类型
接着在在“Option”->“General”->“Library Configuration”里面勾选“useCMSIS”,点击“OK”
连续编译
这是少一个main函数:
将 main.c 加入进工程之后,须要编写如下代码
连续编译
好了,没有任何报错了,至此,我们配置好了利用IAR来开拓STM32的所有环境。
须要我这个已经配置好了的模板文件的可以私信我。
更多的内容请关注头条号:小5嵌入式