ARM和STM32
1》ARM
1.1是一家公司的名字---->专门生产IP核(内核--CPU)---->依靠专利授权盈利
1.2是一系列ARM内核的芯片的代称
2》ARM内核分类
ARM7,ARM9,ARM11
Cortex-A :针对计算量比较大,有交互性界面的领域-----手机,平板,投影仪
Cortex-R :针对实时性比较高的领域----航空航天,汽车刹车
Cortex-M :针对微控制器领域----洗衣机,电饭煲 -----STM32
3》STM32F103RCT6
是ARM Cortex-M3的内核
4》STM32F103RCT6含义
ST:意法半导体公司
M:微控制器
32bit:一次能处理32bit的数据
引脚:Pin
flash的大小和启动文件选择有关系
5》芯片里面有什么?
1.内核----CPU
2.片上外设:外设位于芯片内部,内核外部
片外外设:外设位于芯片外部
MCU开发本质:和内核沟通,控制片上外设,驱动片外外设
补充:
Cortex-M3的内核是哈佛架构:数据存储和指令存储是分开的。 冯若依曼架构:数据存储和指令存储是不分开的。
(二)STM32的开发方式
1.寄存器开发:(寄存器:具有特殊功能的内存单元)
2.标准外设库开发:(ST目前不再维护)
3.Cube库开发:STM32CubeMX
4.LL库:目前还不成熟
开发方式大比拼
开发难度 :寄存器开发是最难 ; 标准外设库开发 适中 ;Cube库开发最简单 ;LL库 较难
可维护性 :寄存器开发是最低 ; 标准外设库开发 适中 ;Cube库开发最高 ;LL库 较低
代码的执行效率:寄存器开发是最高; 标准外设库开发 适中 ;Cube库开发最低 ;LL库 较高
(三)搭建开发环境
MDK + source insight
集成开发环境 代码编辑器
Keil