- 博客(10)
- 收藏
- 关注
原创 ARMV7架构学习(5)--处理器模式与特权访问等级
运行在非特权等级的程序无法在切换会特权访问等级,如果需要切换至特权访问等级,需要使用异常机制。发生异常时,程序处于处理模式、特权访问等级,此时可以此时可以清除nPRIV位,返回线程模式后,处理起就会进入特权访问等级。/* 读取CONTROL寄存器的当前值 */ _set_CONTROL(x);/* 设置CONTROL寄存器的数值为x */MRS r0, CONTROL;将CONTROL寄存器读r0 MSR CONTROL, r0;将r0写入CONTROL寄存器。
2025-07-02 21:53:18
388
原创 ARMV7架构学习(4)--异常和中断
ARM异常与中断处理机制摘要 ARM系统中,异常和中断处理流程包括:中断源通过NVIC汇聚到中断控制器,再由控制器通知CPU。除可屏蔽中断外,复位、NMI、HardFault等内核异常也可打断CPU运行。处理流程关键点在于现场保存与恢复: 处理流程: 硬件/软件保存现场(寄存器) 识别异常类型并调用对应处理函数 恢复现场返回 使用步骤: 初始化中断源、NVIC和CPU总中断开关 执行程序时由外设触发中断 CPU在指令周期末尾检测中断 跳转执行处理程序 架构差异: Cortex-M3/M4硬件自动保存现场,向
2025-06-25 20:55:40
578
原创 ARM架构学习(3)--代码重定位
一般MCU包含的存储空间一般MCU包含的存储空间有:片内FLASH与片内RAM,RAM相当于内存,FLASH 相当于硬盘。编译器会将一个程序分类为好几个部分,分别存储在 MCU 不同的存储区。Keil 工程在编译完之后,会有相应的程序所占用的空间提示信息,如下所示:上面提到的 Program Size 包含以下几个部分:1),存放程序的代码部分;2),存放程序中定义的常量;3),存放初始化为非 0 值的全局变量;4),存放未初始化的全局变量及初始化为 0 的变量;
2025-06-15 18:35:11
1038
原创 ARM单片机RAM FLASH与启动流程浅析
下图中所展示的是RAM区域中经常会出现的内存占用。当我们没有使用malloc和全局变量时,那么RAM中将只会存在栈。堆空间通常由malloc等函数动态申请,若程序未调用此类函数,,仅在链接脚本中定义堆的起始地址(如),但实际运行时不占用空间。假设在STM32F103单片机上运行着如下代码,mallocarr[10]通常在STM32单片机的启动文件中会定义堆栈的大小,如下图所示。在编写单片机程序时,如果遇到堆栈溢出的情况,可以在启动文件中调整堆栈大小,但是不能超过RAM的总大小。
2025-06-06 20:57:25
735
原创 ARM架构学习 (2)
摘要:本文系统介绍了ARM汇编指令集与编程基础。主要内容包括:1)ARM、Thumb和Thumb-2三种指令集的特点对比;2)ARM指令的三地址格式及其组成要素;3)8种寻址方式的原理与示例(立即数、寄存器、间接、移位、基址、多寄存器、堆栈和相对寻址);4)数据处理、内存访问、分支等核心指令的分类说明;5)ATPCS调用规范中的寄存器使用、参数传递和栈管理规则。文章通过大量代码示例详细解析了各类指令的语法格式和使用方法,为ARM汇编编程提供了实用参考。
2025-06-01 16:58:23
797
原创 ARM架构学习 (1)
本文介绍了ARM架构的核心特性:1. 地址空间采用32位线性寻址(0x00000000-0xFFFFFFFF),外设寄存器通过指针访问;2. RISC精简指令集特点,运算需分步完成;3. 16个内部寄存器功能,包括R0-R12通用寄存器、R13(SP)双栈指针、R14(LR)链接寄存器和R15(PC)程序计数器;4. xPSR状态寄存器由APSR、IPSR、EPSR三个子寄存器组成,分别记录运算状态、中断号和执行状态,支持单独或组合访问。这些特性体现了ARM架构的高效设计理念
2025-05-31 21:40:19
626
原创 keil编译报错提示browse information of one or more files is not availiable
keil编译报错提示
2025-03-12 18:00:16
362
原创 中科蓝讯 芯片使用记录(1)
bank区就是flash,而flash和ram之间是spi连接的(中科蓝讯的芯片手册上可以看到SPI0被占用)。由于两者之间的连接方式,导致flash的代码执行速度比较慢。com区的程序会一直保留在RAM中,cpu执行com区的代码很快。中断中使用的函数(包括内部调用的子函数)一定要AT到com区中。排查可能会比较困难。com区和bank区。
2025-01-16 14:51:28
245
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人