没有合适的资源?快使用搜索试试~ 我知道了~
在Keil MDK 环境下使用STM32 V3.4 库
4星 · 超过85%的资源 需积分: 10 63 下载量 196 浏览量
2011-02-12
15:55:11
上传
评论
收藏 536KB PDF 举报
温馨提示
试读
12页
在Keil MDK 环境下使用STM32 V3.4 库 图文教程,十分详细。
资源推荐
资源详情
资源评论
在 环境下使用 库“小”教程Keil MDK STM32 V3.4
- 1 -
在 KeilMDK 环境下使用 STM32V3.4 库“小”教程
简介
写这篇“小”教程主要是和大家分享使用 STM32 的基本方法。在一年以前,我开始接触并开始使用
STM32。STM32 价格便宜,外设丰富,开发和仿真环境使用方便,一下子便爱上了它。我当时使用了 IAR
编译环境,固件库也是以前的 V2 版本。由于 ST 公司更新了 STM32 的固件库,所以想试着使用新固件库。
刚开始使用新库时也遇到了一些问题,但是慢慢熟悉不但觉得不难不烦,反而觉得 V3 比 V2 更好用。在这
里我和大家分享一下使用 V3.4 库的方法,希望大家喜欢,如有错误请指出,在下不慎感激。
这篇“小”教程分以下四步来说,第一步,获得库文件,并进行适当的整理;第二步,建立工程,并
建立条理清晰的 GROUP;第三步,修改工程的 Option 属性;第四步:使用 JLINK 仿真调试。下面就分这
四大步来逐个说明。
在 环境下使用 库“小”教程Keil MDK STM32 V3.4
第一步获得库文件,并进行适当的整理
第一步非常的简单,访问 ST 的官网上就可以获得最新的固件库,在我写“小”教程的时候最新的固
件库是 V3.4。除了获得固件库之外还可以获得和固件库相关的说明文档。在以前的官网上可以下载到一
篇名为《如何从STM32F10xxx 固件库V2.0.3升级为STM32F10xxx 标准外设库V3.0.0》的应用手册,
但是在现在的 ST 官网上却找不到这篇十分有用的应用文档,不过却可以在百度文库中找到,这篇文档详
细说明了新固件库的文件结构,在 Keil 工程建立之前,值得一看。
图 1CMSIS 文件夹包含内容
图 1 是新固件库改动比较大的部分,ST 称为 CMSIS。在这个文件夹下面出现了一些新的源文件、头
文件和启动代码,新的源文件如 core_cm.c system_stm32f10x.c ,也有新的启动代码如
start_stm32f10x_h/m/ld.s。在第二部分会详细介绍这些文件到底有什么作用,以及和 V2 版本的区别。
在这里我也补充一句,V3.4 还是和 V3.0 有点区别,V3.4 又比 V3.0 多出了几个启动代码。
我个人觉得这些文件“埋”的太深,使用起来有点不方便,所以我一般对这些文件进行一些整理,把
相关文件放在一起,并取上一个标准化的名字,这些文件夹的名字一般和原始固件库文件夹的名字相同,
只是把需要的文件放在一起。例如我把启动代码(startup)放在一个文件夹下面,而在这个文件下面只
放 KeilMDK 有关的启动代码,把 IAR 和 GCC 的文件全部给去除了,这样做不但使得文件夹内容“清爽”
也可以避免不必要的错误。一般在工程目录下面我会建立以下几个文件夹,如图 2 所示。当然还会建立两
个很有用的文件夹,一个取名为 Listing,另一个取名为 Object。这两个文件夹会保存 Keil 编译连接过
程中产生的一些文件,虽然是一个不起眼的细节但是也请大家关注,不然在工程目录下面“邋遢”的很!
- 2 -
在 环境下使用 库“小”教程Keil MDK STM32 V3.4
图 2工程文件夹的结构和相关文件
下面来简单说说这些文件各有什么作用。在下重在应用,对里面的内容也知之甚少。
core_cm3.c/core_cm3.h
该文件是内核访问层的源文件和头文件,查看其中的代码多半是使用汇编语言编写的。在线不甚了解。
stm32f10x.h
该文件是外设访问层的头文件,该文件是最重要的头文件之一。例如定义了 CPU 是哪种容量的 CPU,中断
向量等等。除了这些该头文件还定义了和外设寄存器相关的结构体,例如:
typedefstruct
{
__IOuint32_tCRL;
__IOuint32_tCRH;
__IOuint32_tIDR;
__IOuint32_tODR;
__IOuint32_tBSRR;
__IOuint32_tBRR;
__IOuint32_tLCKR;
}GPIO_TypeDef;
包含了那么多寄存器的定义,那么在应用文件中(例如自己编写的 main 源文件)只需要包含
stm32f10x.h 即可,而不是以前固件库的需要包含 stm32f10x_conf.h 这个头文件。
system_stm32f10x.c/h
该头文件也可以称为外设访问层的头文件和源文件。在该文件中可以定义系统的时钟频率,定义低速时钟
总线和高速时钟总线的频率,其中最关键的函数就是 SystemInit()了,这个后面会详细介绍。总之这两
个文件是新固件库的重点,有了它粮也大大简化了使用 stm32 的初始化工作。
stm32f10x_conf.h
这个文件和 V2 版本的库的内容是一样的,需要使用哪些外设就取消哪些外设的注释。例如需要使用 GPIO
- 3 -
剩余11页未读,继续阅读
资源评论
- youtanqingfeng2012-09-18针对性很强,但还是非常有用的。
wuguoyana
- 粉丝: 30
- 资源: 64
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- DSP开发实战教程-国产DSP替代进口TI DSP的使用技巧 进芯DSP替换文件
- 植被恢复能力估算python代码(KNDVI代码).zip
- 基于java打造的深度学习框架,帮助你快速搭建神经网络,实现模型推理与训练,引擎支持自动求导,多线程与GPU运算
- 界线与不动产测绘智能计算经纬度及标注软件
- CANOPEN使用方法与教程
- 极影毁片圆 · 电脑字体设置.zip
- 同态加密部分算法实现Homomorphic-Encryption-main.zip
- helib同态加密socket通信helibsocket-master.zip
- pll_inst.vhd
- 快速入门同态加密homomorphic-encryption-master.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功