- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Stm32知识点总结
Stm32知识点总结:
1. stm32模版:
a. CMSIS 标准——stm32结构及库层次关,系解决不同的芯片厂商生产的Cortex微控制器软件的兼容性问题。(内核函数层:其中包含用于访问内核寄存器的名称、地址定义,主要由ARM公司提供。设备外设访问层:提供了片上的核外外设的地址和中断定义,主要由芯片生产商提供。)
b. Libraries文件夹下是驱动库的源代码及启动文件。
c. Project 文件夹下是用驱动库写的例子跟一个工程模板。
d. 还有一个已经编译好的HTML文件,是库帮助文档。内核与外设的库文件分别存放在CMSIS和STM32F10x_StdPeriph_Driver文件夹中。
e. Libraries\CMSIS\CM3文件夹下又分为CoreSupport和DeviceSupport文件夹。在CoreSupport中的是位于CMSIS标准的核内设备函数层 的M3核通用的源文件core_cm3.c 和头文件core_cm3.h。core_cm3.c屏蔽不同编译器的差异。core_cm3.c文件中包含了stdin.h 这个头文件主要作用是提供一些新类型定义,这些新类型定义屏蔽了在不同芯片平台时,出现的诸如int 的大小是16位,还是32 位的差异。
f. 在DeviceSupport文件夹下的是启动文件、外设寄存器定义中断向量定义层 的一些文件,system_stm32f10x.c该文件的功能是设置系统时钟和总线时钟。stm32f10x.h 这个文件非常重要,是一个非常底层的文件。所有处理器厂商都会将对内存的操作封装成一个宏,即我们通常说的寄存器,并且把这些实现封装成一个系统文件,包含在相应的开发环境中。
g. Libraries\CMSIS\Core\CM3\startup\arm文件夹下是由汇编编写的系统启动文件,不同的文件对应不同的芯片型号,在使用时要注意。
cl:互联型产品,stm32f105/107系列
vl:超值型产品,stm32f100系列
xl:超高密度(容量)产品,stm32f101/103系列
ld:低密度产品,FLASH小于64K
md:中等密度产品,FLASH=64 or 128
hd:高密度产品,FLASH大于128
h. Libraries\STM32F10x_StdPeriph_Driver文件夹下有inc(include 的缩写)跟src(source的简写)这两个文件夹,这都属于CMSIS的设备外设函数 部分。src里面是每个设备外设的驱动程序,这些外设是芯片制造商在Cortex-M3核外加进去的。
i. 在库目录的\Project\STM32F10x_StdPeriph_Template目录下,存放了官方的一个库工程模板,我们在用库建立一个完整的工程时,还需要添加这个目录下的stm32f10x_it.c、stm32f10x_it.h、stm32f10x_conf.h这三个文件。
stm32f10x_it.c,是专门用来编写中断服务函数的;
stm32f10x_conf.h,这个文件被包含进stm32f10x.h 文件。是用来配置使用了什么外设的头文件,用这个头文件我们可以很方便地增加或删除上面driver目录下的外设驱动函数库;
stm32f10x_conf.h这个文件还可配置是否使用“断言”编译选项,在开发时使用断言可由编译器检查库函数传入的参数是否正确,软件编写成功后,去掉“断言”编译选项可使程序全速运行。
j. CMSIS核心层关系:
2.SysTi时钟
Bit0: ENABLE
为SysTick timer 的使能位,此位为1的时候使能SysTick timer,此位为0
的时候关闭SysTick timer。
Bit1:TICKINT
为异常触发使能位,此位为1的时候并且STK_VAL计数至0时会触发
SysTick异常,此位被配置为0的时候不触发异常
Bit2:CLKSOURCE
为SysTick的时钟选择位,此位为1的时候SysTick的时钟为AHB时钟,
此位为0的时候SysTick时钟为AHB/8(AHB的八分频)。
Bit16:COUNTFLAG
为计数为0标志位,若STK_VAL计数至0,此标志位会被置1。
与SysTick控制相关的所有寄存器如图 0-2,其中上面没有介绍的
STK_CALIB寄存器是用于校准的,不常用Bit0: ENABLE
原创力文档


文档评论(0)