STM32_0810

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语言的世界


图表结构

Start.s
Reset_Handler
初始化堆栈
初始化中断向量
跳转到main函数

名词解释

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、中断向量是指总的处理中断的表

中断
CPU
中断向量
中断处理函数

外设

1、选择功能
2、工作模式 I/O
3、数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值