注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
limei151314的个人空间 https://home.eeworld.com.cn/space-uid-406493.html [收藏] [复制] [分享] [RSS]
日志

基于STM32固件库V3.5.0建立IAR工程模版

已有 2998 次阅读2012-9-25 11:37

最近自己动手新建了个STM32程序的工程模版,基于固件库V3.5.0,编译环境是IAR5.5。
用J-LINK作为下载器,工程的建立和配置过程如下:
一、建立一个STM32工程的过程:
1.层次文件的建立
1)创建一个存储本工程所有文件的总文件夹命名为TEMPLETE。
2)在这个总文件夹下创建三个文件夹,分别为Project、Libraries和Utilities。
3)Project文件夹用来存储后面要建立的工程、主程序及与单片机相关的系统配置文件。
4)library用来存储工程的需要的单片机内核文件及固件库自带的源文件和头文件.
因此需要在此文件夹下创建两个文件夹CMSIS文件夹和STM32F10x_StdPeriph_Driver文件夹,这两个文件夹的内容是不允许用户更改的。
CMSIS文件夹存储单片机内核文件,STM32F10x_StdPeriph_Driver存储单片机的外围固件库文件。
外围固件库文件包括源文件与每个源文件对应的头文件,因此需要在此文件夹下创建两个文件夹inc源文件文件夹和src头文件文件夹。
5)Utilities文件夹用来存储用户自己编写的程序文件,这些程序文件大部分跟用户使用的硬件或软件算法相关。
2.创建工程
1)依次选择file->New->Workspace新建工作区;
2)依次选择Project->Creat New Project新建一个project工程。
命名为TEMPLETE,将它存储在二级文件夹Project文件夹下。
3.在工程上点右键选择Add->Add Group依次添加几个group:CMSIS、FunctionFile、StartUp、StdPeriph_Driver、User等
StartUp下添加IAR下STM32对应的启动文件startup_stm32f10x_hd.s,其余型号的单片机启动文件解析见下文的note部分。
其余的group将对应文件夹下的源文件添加进去。
4.在FunctionFile文件夹下,也可根据个人需要创建文件夹来分类保存个人的文件。

二、设置option的过程:点击project->options
1.General Options:target->Core选择Cortex-M3,Device选择ST STM32F10xxC;
2.1)c/c++:preprocessor---添加头文件路径;
$PROJ_DIR$\\         ---这是工程的绝对路径
$PROJ_DIR$
$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$\\..\\Utilities\\FunctionFile
2)Defined symbols:
USE_STDPERIPH_DRIVER
STM32F10X_HD;//ST STM32F10xxC
3.linker:config---E:\\software\\SHS-3000\\Project\\stm32f10x_flash.icf
4.配置下载器设置
1)Debugger:setup->Driver:RDI
2)RDI:Manufacter RDI Driver->D:\\Program Files\\JLinkARM_V412\\JLinkRDI.dll
3)Debugger:setup->Driver:J-link/J-Trace;
三、note
-
startup_stm32f10x_ld_vl.s
Low-density Value line devices are STM32F100xx microcontrollers where the
   Flash memory density ranges between 16 and 32 Kbytes.
startup_stm32f10x_ld.s
- Low-density devices are STM32F101xx, STM32F102xx and STM32F103xx
   microcontrollers where the Flash memory density ranges between 16 and 32 Kbytes.

startup_stm32f10x_md_vl.s
- Medium-density Value line devices are STM32F100xx microcontrollers where the
   Flash memory density ranges between 32 and 128 Kbytes.
startup_stm32f10x_md.s
- Medium-density devices are STM32F101xx, STM32F102xx and STM32F103xx
   microcontrollers where the Flash memory density ranges between 32 and 128 Kbytes.
startup_stm32f10x_hd_vl.s
- High-density Value line devices are STM32F100xx microcontrollers where the
   Flash memory density ranges between 256 and 512 Kbytes.
startup_stm32f10x_hd.s
- High-density devices are STM32F101xx and STM32F103xx microcontrollers where
   the Flash memory density ranges between 256 and 512 Kbytes.

startup_stm32f10x_xl.s      
- XL-density devices are STM32F101xx and STM32F103xx microcontrollers where
   the Flash memory density ranges between 512 and 1024 Kbytes.

startup_stm32f10x_cl.s
- Connectivity line devices are STM32F105xx and STM32F107xx microcontrollers.
发表评论 评论 (2 个评论)
回复 回首郑板桥 2012-11-28 10:58
找了那么多教程,还是这个实用
回复 limei151314 2013-1-17 14:53
回首郑板桥: 找了那么多教程,还是这个实用

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章