ARM
文章平均质量分 89
holywell
这个作者很懒,什么都没留下…
展开
-
ARM非对齐访问和Alignment Fault
转载自ARM非对齐访问和Alignment Fault - 者旨於陽 - 博客园 (cnblogs.com)1、指令对齐A64指令必须word对齐。尝试在非对齐地址取值会触发PC alignment fault。1.1、PC alignment checkingPC(Program Counter)寄存器用来存放下一条执行指令地址,对于AArch64架构,如果PC寄存器低2位不为0,则触发PC alignment fault。类似于Instruction Aborts异常,将非对齐地址加转载 2021-08-11 20:52:25 · 3376 阅读 · 0 评论 -
ARM64位CPU下linux crash手动恢复函数调用栈
注:本文转载自知乎:https://zhuanlan.zhihu.com/p/50768351转载 2021-05-28 10:10:19 · 1530 阅读 · 0 评论 -
谈谈arm下的函数栈
转载自https://www.cnblogs.com/tolimit/p/4226839.html引言 这篇文章简要说说函数是怎么传入参数的,我们都知道,当一个函数调用使用少量参数(ARM上是少于等于4个)时,参数是通过寄存器进行传值(ARM上是通过r0,r1,r2,r3),而当参数多于4个时,会将多出的参数压入栈中进行传递(其实在函数调用过程中也会把r0,r1,r2,r3传递的参数压入栈),具体是什么实现的呢,我们看看。函数栈 首先我们需要了解一下linux下一个进程的内存地址..转载 2021-01-16 14:24:13 · 566 阅读 · 1 评论 -
Nor——Flash擦写和原理分析
本文转载自https://www.cnblogs.com/jason-lu/archive/2013/03/13/2957399.html1. NOR FLASH 的简单介绍NOR FLASH 是很常见的一种存储芯片,数据掉电不会丢失.NOR FLASH支持Execute On Chip,即程序可以直接在FLASH片内执行(这意味着存储在NOR FLASH上的程序不需要复制到RAM就可以直接运行)...转载 2018-03-14 18:44:27 · 2225 阅读 · 0 评论 -
ARM下的位置无关和相关码
本文转载自http://www.cnblogs.com/mylinux/p/5577472.html为什么需要位置无关码? 见 : U-BOOT详解(什么是《编译地址》?什么是《运行地址》?) http://bbs.21ic.com/forum.php?mod=viewthread&tid=857037&typeid=114 ARM位置无关代码设计规范转载 2017-08-12 13:12:20 · 365 阅读 · 0 评论 -
ARM三级流水线
从上图中我们看到CPU内部有3个主要组成部分:指令寄存器,指令译码器,指令执行单元(包括ALU和通用寄存器组)。 CPU在执行1条指令的时候,主要有3个步骤:取指(将指令从内存或指令cache中取入指令寄存器);译码(指令译码器对指令寄存器中的指令进行译码操作,从而辨识出该指令是要执行add,或是sub,或是其它操作,从而产生各种时序控制信号);执行(指令执行单元根据译码的结果进行运算并保存结果)转载 2017-05-28 11:00:51 · 11969 阅读 · 4 评论 -
s5pv210从存储设备加载代码到DDR
建议先看《[project X] tiny210(s5pv210)上电启动流程(BL0-BL2)》,根据例子了解一下上电之后的BL0\BL1\BL2阶段,以及各个阶段的运行位置、功能。一、说明1、疑问前面文章中《[uboot] (第三章)uboot流程——uboot-spl代码流程》中,最后uboot-spl的操作是调用board_init_f了,在board_init_f转载 2017-07-08 21:05:59 · 776 阅读 · 0 评论 -
FP寄存器
理论上来说,ARM的15个通用寄存器是通用的,但实际上并非如此,特别是在过程调用的过程中。PCS(Procedure Call Standard for Arm architecture)就定义了过程调用中,寄存器的特殊用途。Role in the procedure call standardr15 PC The Program Counter.r14 L转载 2017-07-08 20:05:27 · 2315 阅读 · 0 评论 -
页表 段表
页面与页表 与 段 此博文包含图片 (2013-03-08 16:06:26)转载▼ 分类: arm学习 一 页面与页表 1 页面 分页存储管理是将作业的逻辑地址划分为一系列同等大小的部分,称为页。并为各页加以编号,每个作业的页的编号都是从0开始的。与之类似,把可用的物理内存也划分为同样大小的连续的部分,称为块或页框。同样为块也进行标号,从0#开始。在为进程分配内存空间时,以页为转载 2017-05-02 12:44:50 · 6601 阅读 · 0 评论 -
ARM-MMU详解
一、MMU的产生 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多称转载 2017-05-23 01:15:02 · 1791 阅读 · 1 评论