一、什么是HAL库?
HAL:Hardware Abstraction Layer库,是驱动层库,对底层硬件抽象,接口通用,兼容性更高,方便移植。
HAL库效率不如标准库,但是标准库基于硬件平台,移植困难,而HAL库可以结合LL库提高效率。
二、ARM内核
1.ARM内核和STM32芯片关系
个人理解:ARM内核是由ARM公司生产的核心芯片,其他公司在内核的基础上扩展外设,如GPIO口,I2C接口等,像ST公司就是在ARM内核的基础上做出来的具有多重功能的MCU。ARM内核常见的几种类型及其特点如下:
(1)Cortex-M3: 不支持DSP(数字信号处理)和FPU(浮点运算)
(2)Cortex-M4: 支持DSP(数字信号处理)和FPU(浮点运算)
(3)Cortex-M7:包含M4,增加DFP(双精度浮点运算),Cache,TCM()
注:一般外存的工作速度远没有CPU工作速度快,如果要保证内存访问的正常,要不就CPU降频访问,要不就引入缓存机制。如:Cache等。
2.Cortex-M3、Cortex-M4、Cortex-M7差异从以下几个方便可以做比较
(1)指令集:DSP,FPU
(2)是否有缓存cache,TCM(M3, M4无,M7有)
(3)性能
(4)功耗
三、STM32含义
ST:意法半导体芯片公司
M:Microelectronics微电子
32:总线宽度是32bit,即内核与外设是通过32根线连接的
STM32又称为:MCU(微控制器)、单片机、微型计算机系统
四、STM32选型
五、STM32产品命名规则
六、STM32参考手册和数据手册主要内容
开发的时候,参考手册可以给我们很多帮助。
参考手册下载的官方链接:https://www.stmcu.com.cn/
七、单片机最小系统组成部分
八、STM32开发流程
芯片选型——>原理图绘制——>PCB layout——>程序编写