STM32
1、st :意法半导体,即SOC厂商
2、M :微控制器,注意不是微处理器
3、32bit : 每次处理数据的长度是32位,32位的微控制器
4、CPU的位数是指每次处理的操作数的位数
5、char-- 8bit
6、short-- 16bit
7、int-- 32bit
8、sizeof(char*) = 4 //指针都为4
通信总线:
1、I2C :最基础的板内连接总线,2根线(400K)。
2、SPI :板内高连接总线(50M)
插入代码
int main()
{
printf("hello world\n");
return 0;
}
原理图
1、GPIO : 通用 IO 口
2、BOOT0 = 1 : 下载模式(接上面两个)
3、BOOT1 = 0 :用户模式(接下面两个)
4、静态区存放全局变量和静态变量
5、栈(stack)存放参数和局部变量
6、堆(heap) 分配内存,malloc
启动文件的作用
1、初始化栈指针SP //给C语言做准备
2、初始化PC指针,指向复位程序
3、初始化中断向量表
4、配置系统时钟
5、调用C库函数——main(),最终进入C语言的世界
图表结构
名词解释
1、UART : 串口
2、IRQ : 中断
3、IMPORT :导入
4、EXPORT :导出
5、51汇编中 mov == 32汇编中 LD / ST
6、C语言中 extern == 32汇编中 IMPORT
7、B (Branch) : 跳转
8、BLX : Branch Link
9、LR : Link R //链接寄存器
ARM汇编实现a+b
LD R0 a //mov == LD / ST
LD R1 b
ADD R0 R1 //ARM汇编实现a+b
ARM寄存器
1、APCS – ARM过程调用标准–指定参数存放的位置
2、R0 - R12、SP、LR、PC一共16个寄存器,后面三个是特殊寄存器
3、R0 - R3 用来存放0 - 3 参数,如果参数大于四个,多余的会放在栈中
4、LR :返回地址,SP 和 PC 见上
5、ALU :累加器 只能对寄存器进行操作
6、CPU调用累加器运算后放回内存中
中断
1、处理中断的不同方式–中断处理函数(ISR)
2、中断向量是指总的处理中断的表
外设
1、选择功能
2、工作模式 I/O
3、数据