ARM、外设等硬件
阿曼
这个作者很懒,什么都没留下…
展开
-
ATF之BL1跳转到BL2的过程。
0x00 IntroATF(ARM Trusted Firmware)作为一个bootload,其本身最终要的作用就是load各阶段的镜像到执行地址,然后跳转过去继续执行。根据以往经验,ARM处理器跳转到不同的镜像可以通过直接修改PC寄存器来实现。当然除了修改PC寄存器可能还需要在跳转之前初始化相关的环境、以及后续堆栈等。这篇文章就是记录ATF从BL1跳转到BL2的过程。0x01 总体时序...原创 2020-02-20 19:19:49 · 1758 阅读 · 0 评论 -
ARMv8-A Memory systems
ARMv8-A Memory systems0x00 Intro0x01 Memory Model0x02 Memory typeNormal memoryDevice memory0x03 Memory attributesCacheable and shareable memory attributesDomains0x04 BarriersInstruction Synchronizatio...原创 2020-02-01 23:26:54 · 1720 阅读 · 1 评论 -
ARM v8 AArch64 Programmers' model
ARM v8 AArch64 Programmers’ model最近抽空在更新自己的ARM架构知识库。为方便将来回忆,简单记录了v8架构,特别是AArch64模式下的一些特点。主要资料是官方的<ARMv8-A architecture reference manual>。异常等级(EL)V8定义了EL0 ~ EL3一系列异常等级,这些不同等级有如下含义:数字的增长代表的软件...原创 2019-12-25 14:00:48 · 637 阅读 · 0 评论 -
ARM程序调用规则(ATPCS)分析
研究的是V4版本ARM内核的函数调用规则。MDK4.2、J-Link armV4.34、J-Link硬件仿真器V8版本。ATPCS规定寄存器的使用规则如下:1.子程序通过R0~R3来传递参数2.子程序使用R4~R11来保存局部变量3.寄存器R12用作scratch寄存器,记为ip(发现Linux内核中的汇编直接使用ip这个符号)4.R13为SP5.R14为LR原创 2012-10-06 18:31:41 · 6906 阅读 · 0 评论 -
嵌入式硬件相关
NAND Flash和Nor Flash的区别NORNor有单独的地址总线和数据总线,数据和地址是分开传输,能直接寻址到Nor上的每个存储单元。Nor的结构更像RAM,可以直接运行代码。Nor可以直接读,但是写需要遵循一定的命令。这一特性可以用于判断s3c2440是从Nor启动还是NAND启动。可以往0地址写一个数据,然后再去读取,假如读回的数据和写的数据一致则是从NA原创 2012-09-29 22:38:19 · 676 阅读 · 0 评论