ARM裸机全集之ARM体系结构(学习笔记)

x210:ARM裸机全集 注:本文是对朱老师ARM裸机全集课程的备忘引导性笔记,主要是为了能够在学完后快速回忆起相关内容。本文主要记录了一些关键易忘性知识点并包含少量理解性内容,遵循尽量精简的原则,以尽量少的篇幅概括整个课程的知识点,便于后期能够快速定位知识点。故本文不包含具体的命令及函数使用方法等,同时不要太纠结于字面表达,这些只是为了能够快速回忆起相关知识点,具体的准确描述以及用法等需参考具体的文章。 (未完待续) ARM那些你得知道的事儿 ARM体系结构与汇编指令 S5PV210启动过程概述 开发板、.. 阅读详情

ARM体系结构与汇编指令
1.2.1 可编程器件的编程原理
1.2.1.1 电子器件的发展方向
模拟器件-数字器件
ASIC-可编程器件

1.2.1.2.可编程期间的特点
CPU在固定频率的时钟控制下节奏运行
CPU可以通过总线读取外部存储设备中的二进制指令集,然后解码执行
这些可以被CPU解码执行的二进制指令集是CPU设计的时候确定的,是CPU的设计者(ARM公司)定义的
本质是一串由0和1组成的数字,这就是CPU的汇编指令集


1.2.2 指令集对CPU的意义
1.2.2.1 汇编语言与C等高级语言的差别
汇编难写,C好写
汇编无可移植性,C语言有一定可移植性,Java等更高级语言移植性更强。
汇编语言效率最高,C语言次之,Java等更高级语言效率更低。
汇编不适合完成大型复杂的项目,更高级语言更适合完成更大、更复杂的项目。

1.2.2.2 编程语言的发展过程
纯机器码编程
汇编语言编程
C语言编程
C++语言编程
Java C#等语言编程
脚本语言编程

1.2.2.3 汇编语言的本质
汇编的实质是机器指令(机器码)的助记符,是一种低级符号语言。
机器指令集是一款CPU的编程特征,是这款CPU的设计者制定的。
CPU的内部电路设计就是为了实现这些指令集的功能。机器指令集就好象CPU的API接口一样。


总结:

1.可移植性
CPU的机器码(机器指令集)在CPU的设计阶段就已经定死了,不同的CPU拥有不同的机器码。
而汇编语言的本质就是机器码的助记符,通过汇编器翻译成机器码,所以汇编没有可移植性。
C语言的可移植性是由编译器决定的,在不同的操作系统上用不同的编译器,就可以的到相同效果的汇编代码。
2.何为高级语言,何为低级语言
语言越高级,越接近人的思维;越低级,越接近机器的思维。
语言越低级,工作效率越高(机器),语言越高级,工作效率越低,但越接近应用层(方便程序员使用),
相当于要完成同样的机器动作,越高级的语言可以使用跟少的代码,大大减轻了程序员的劳动。


1.2.3 RISC和CISC的区别
1.2.3.1 什么是RISC、CISC
CISC(300条指令左右,Intel的奔腾)complex instruction computer复杂指令集计算机
最少的指令完成任务,一个功能一个指令,功耗高。
RISC(30条指令,ARM)Reduced Instruction-Set computer 精简指令集计算机最基本的功能指令集,功耗低,让软件来完成具体的任务。


1.2.3.2 CPU的发展与RISC和CISC的关系
早期简单CPU,指令和功能都很有限
CISC年代 —— CPU功能扩展依赖于指令集的扩展,实质是CPU内部组合逻辑电路的扩展。
RISC年代 —— CPU仅提供基础功能指令(譬如内存与寄存器通信指令,基本运算与判断指令等),功能扩展由使用CPU的人利用基础架构来灵活实现。
总结:
RISC和CISC慢慢的趋向大一统.



1.2.4 统一编址&独立编址&哈佛结构&冯诺依曼结构
1.2.4.1 IO(IO其实是CPU与外设的接口,可以习惯的认为就是外设)
何为内部或外部外设(本质就是有没有在芯片内部)
IO与内存统一编址方式(把外设寄存器当作一个内存地址来读写,以访问内存的方式访问外设)
IO与内存独立编址方式(通过CPU专用的指令来访问外设,这就是CISC为什么有这么多的指令了,每多一个外设,就要增加相应的指令。)


1.2.4.2 <

ARM的37个寄存器以及异常处理方法 ARM的37个寄存器以及异常处理方法 参考网址:https://www.cnblogs.com/jxjl/p/6970355.html ARM 有7个基本工作模式 User : 非特权模式,大部分任务执行在这种模式 FIQ : 当一个高优先级(fast) 中断产生时将会进入这种模式 IRQ : 当一个低优先级(normal) 中断产生时将会进入这种模式 Supervisor :当... 阅读详情

相关推荐

ARM裸机开发实战:机制详解

本文还有配套的精品资源,点击获取 简介:《ARM裸机开发实战:机制详解》是一本专为ARM初学者和开发者设计的实战指南,以经典的S3C2440处理器为例,深入浅出地讲解ARM裸机开发的基础知识和核心技术。本书旨在帮助读者理解并掌握在没有操作系统支持下的直接编程技巧,包括ARM处理器体系结构、指令集、外围接口、内存管理、中断处理、启动流程、驱动程序开发和通信协议等。通过学习,读...

weixin_36300623的博客 1217

超炫的flansh网站实例

这是个用flash编写的网站,很适合初学者学习。

CefSharp63 WPF 支持mp3、mp4、flansh、anycpu

使用VS2017 .NetFrameWork4.5.2 在CefSharp63的基础上,使用了重新编译的cef,使其支持mp3、mp4格式的播放;通过引用flansh插件的dll,更新配置,支持flansh的播放;根据官方的配置,使项目支持AnyCpu编译。

ARM裸机开发系列全套

ARM裸机开发系列全套外部设备资料,值得一读。

flash 大作业 flash动画1-3分钟

简单的一个flash动画源文件。。fla.希望对大家有所帮助。不喜欢的勿喷、

flansh 数据修改

flansh 数据修改,可以修改网页的数据。有些储存于服务器的数据改不掉,本地flash的数据没有问题,强悍啊。

做量化没有实时数据怎么行?我找到一个超级好用的Python库,速度还贼快!

今天咱们介绍了 pytdx 这个神奇的库,重点包括:✅ 安装 pytdx✅ 连接 TDX 服务器✅ 获取实时行情数据✅ 获取 K 线数据✅ 获取分笔成交数据总之,pytdx 是一个速度快、免费、易用的量化利器,适合 A 股量化交易的同学们使用。如果你还在为数据发愁,赶紧试试吧!🚀顺手再看就是对花姐最大的支持,期待你的关注。

奔跑的蜗牛 5724

高通9008模式隐藏技巧:不拆机用ADB命令+Diag协议进入EDL

本文深入解析高通EDL模式(紧急下载模式)的技术原理与实战应用,详细介绍了通过ADB命令和Diag协议无需拆机进入EDL的方法。涵盖硬件/软件触发方案、跨平台工具配置、Firehose协议解析及设备救砖流程,为开发者提供从基础到进阶的完整指南。

weixin_29191761的博客 1124

Python实战:5分钟搞定固定翼无人机三自由度仿真(附完整代码)

本文提供了一个基于Python的固定翼无人机三自由度仿真快速实现方案。通过面向对象设计,封装了核心运动学模型,并对比了欧拉法与龙格-库塔法两种积分方法。文章附有完整实例代码,帮助算法工程师和研究人员在5分钟内搭建轻量级仿真环境,用于快速验证控制律、路径规划等核心算法逻辑。

docker7nomad的博客 748

学习笔记之——Event Camera(事件相机)调研

概述 Event Camera是一种bio-inspired sensor,对应的领域为bio-inspired vision。对于传统的相机,从某种程度上,是捕获一个静态/静止的空间,而Event Camera的目的是:敏感地捕捉运动的物体。 对于传统RGB-camera,相机传回的信息是同步的,所谓同步,就是在某一时刻t,相机会进行曝光,把这一时刻所有的像素填在一个矩阵里回传,一张照片就诞生了。一张照片上所有的像素都对应着同一时刻。至于视频,不过是很多帧的图片,相邻图片间的时间间隔...

gwpscut的博客 3万+

若依框架二次开发——若依 Vue3 版本前端样式优化指南

若依框架二次开发——若依 Vue3 版本前端样式优化指南

bjzhang75的博客 1692

五步教你用GPT-5画出国自然技术路线图!轻松节省80%画图时间(附AI提示词)

七哥给大家推荐的高校都在用的AI平台——高级学术版专业应用平台,集成了ChatGPT、Claude、Gemini、Grok等Al大模型的PLUS版本平台,包括 ChatGPT-5、4o、o3、4.1、4.5、Gemini 2.5 Pro、Claude 3.7、Claude 4、DeepSeek 满血版、Grok 3 、Grok 4等原生线路,还有国际主流的GPTs学术应用,可以辅助大家高效完成科研和学术写作任务,当然撰写硕博论文,课题、职称论文、国社科、国自然基金本子也是手拿把掐。

智能AI让学术科研更容易 1497

华为OD机试真题2025双机位A卷 Python&JavaScript 实现【采购订单】

在一个采购系统中,采购申请(PR)需要经过审批后才能生成采购订单(PO)。每个PR包含商品的单价(假设相同商品的单价一定是一样的)及数量信息。系统要求对商品进行分类处理:单价高于100元的商品需要单独处理,单价低于或等于100元的相同商品可以合并到同一采购订单PO中。针对单价低于100的小额订单,如果量大可以打折购买。

MISAYAONE的博客 1458

OpenClaw 超级 AI 实战专栏【模型推理与实战】(二)官方预训练模型下载与使用

OpenClaw 预训练模型需按「固定目录结构」存放(模型文件夹包含权重 + 配置文件),否则会加载失败;核心流程:下载模型→验证文件完整性→加载模型→传入图片执行推理→可视化结果;常见问题集中在「路径错误」「显存不足」「文件缺失」,按文中方案可快速解决。

qq_36130719的博客 307

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

下一篇: (学习笔记)ARM汇编指令集
wenmengji1022
博客等级 码龄10年 7粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值