STM32MP157A学习笔记

本文是关于STM32MP157A的学习笔记,详细介绍了ARM Cortex-A7的SCR寄存器、启动文件、堆栈管理、链接脚本以及GPIO和中断功能。内容涵盖GPIO的配置寄存器、操作方法以及NVIC中断系统的特点,同时还提及了系统时钟SysTick的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、寄存器
1.1 SCR寄存器:
SystemInit()函数操作SCB->VTOR重定位中断向量表,在STM32MP157参考手册中未找到相关寄存器。通过百度得知,这个寄存器定义需要参考《ARM+Cortex-M3与Cortex-M4权威指南》。通过查找该手册在“”4.6章节系统控制块”找到该寄存器描述信息。7.9.3章节 向量表偏移寄存器(VTOR)在不同版本的Cortex-M3和Cortex-M4有些区别但寄存器地址都为0xE000ED0C

2、启动文件
startup_stm32mp15xx.s
启动文件是系统上电后第一个运行的程序文件,主要由汇编语言编写

3、堆、栈
堆:用于存放进程运行中被动态分布的内存段,一般由程序员释放。
栈:一般是存放函数的参数值和局部变量的值。由编译器自动分配释放。
若工程中使用的局部变量较多,定义的数据长度较大时,如果不调整栈的空间大小,就会导致程序栈溢出,程序运行异常。

4、链接脚本
程序编译步骤:预处理、汇编、编译、链接

5、模块功能开发
5.1 GPIO
5.1.1 介绍
每个GPIO都有4个32 bit配置寄存器(GPIOx_MODER,GPIOx_OTYPER, GPIOx_OSPEEDR and GPIOx_PUPDR),2个32 bit数据寄存器(GPIOx_IDR and GPIOx_ODR)和1个32 bit置位\复位寄存器(GPIOx_BSRR)。另外所有的GPIO都有一个32 bit锁定寄存器(GPIOx_LCKR)和2个32 bit复用功能寄存器(GPIOx_AFRH and GPIOx_AFRL)。

5.1.2 GPIO主要feature
输出状态:push-pull or open drain + pull-up/down(上拉或下拉的推挽或开漏)
输入状态:浮空,上拉,下拉,模拟
5.1.3 GPIO功能描述
输入浮空
输入上拉
输入下拉
模拟输入
上拉或下拉开漏输出
上拉或下拉推挽输出
上拉或下拉推挽复用功能
上拉或下拉开漏复用功能
注解:开漏输出: "漏"指的是 MOS 管的漏极,其输出端相当于三极管的集电极,默认情况下,开漏只能输出低电平,要得到有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值