ARM芯片架构(RTOS)

前言:笔记韦东山老师的rtos教程,连接放在最后

#ARM介绍

arm芯片属于精简指令集risc,所用的指令比较简单,ARM架构是一种精简指令集(RISC)架构,广泛应用于移动设备、嵌入式系统、物联网等领域。ARM芯片采用ARM架构设计,通常具有较低的功耗和更高的性能效率。

所以arm架构也就是32位精简指令集处理器架构。精简指令集相对于复杂指令集来说,指令数目少,在通道中只包含最有用的指令;执行时间短,确保数据通道快速执行每一条指令;使CPU硬件结构设计变得更为简单;每条指令都采用标准字长。这就是,RISC:精简指令集(Reduced Instruction Set Computer)

在操作系统创建一个任务的时候,通常要创建栈,分配栈的大小,理解栈之后才能理解rtos的本质,对arm芯片的架构有着一些理解能够帮助我们更好的理解,rtos的多任务本质。

ARM架构:System on Chip 缩写SOC,翻译:在一个芯片上有着完整的系统,ARM单片机芯片,集成了一个完成的系统,cpu 内存 flash(对应电脑的硬盘)flash用于保存程序,cpu用来运行程序,和计算功能,在keil5下载选型里面有一个选型,是擦除flash,就是擦除arm芯片里面存储程序的flsh,在程序运行的过程中,会用到内存的空间去存储变量,没有计算功能,使用单纯为了访问数据,写数据,

汇编指令介绍:掌握汇编指令可以理解程序的本质,理解rtos的本质,

可以将汇编语言分为 地址 寄存器 目的 然后分别带入,将地址什么样的目的写入寄存器

读内存:Load

LDR R0,R1,#4;//读地址"R1+4",得到的4字节数据放入R0
目的LDR 寄存器 R0 地址R1,#4

写内存:Store

STR R0,R1,#4;//把R0的四字节数据写入"R1+4"

加减:ADD SUB

ADD R0 ,R1 ,R2;//将R1 R2 的值相加放入 R0
SUB R0,R0,#1;将R0与R1的值相减放入R0

比较:Compare

DMP R0,R1;R0与R1二者比较的结果存放在PSR中

转跳:Branch

B main ; Branch,//直接跳转
BL main ;Branch and Link //先把返回地址保存在LR寄存器里在转跳

实际函数的反汇编语言:

cpp 复制代码
int add(volatile int a,volatile int b)
{
    volatile int sun;
    sum = a+b;
    return sum;

}

这里是add()函数变量赋值,然后再调用add函数,进行响应。

地址 机器码 汇编码

烧录在芯片上的只有机器码,汇编码是用来给人看的,这一步是什么意思,这些地址和机器码烧录在flash里面,cpu通过读取,地址来获得机器码,也就是 读flash地址 得到机器码 执行机器码 这么一个过程,上面这个汇编语言是add这个函数的反汇编程序。

欢迎指正,希望对你有所帮助!!!

3-2-1_ARM架构简明教程_硬件架构与汇编指令_哔哩哔哩_bilibili

相关推荐
海绵宝宝转agent28 分钟前
Leetcode二叉树算法个人理解
笔记·学习·算法·leetcode·深度优先
小oo呆32 分钟前
【学习心得】MCP工具开发学习笔记
笔记·学习
2601_961146201 小时前
实验室用等离子表面处理设备处理汽车PP内饰件和PBT骨架的一点记录
笔记·汽车·设备
二十七日秋1 小时前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法
szxinmai主板定制专家1 小时前
ARM+FPGA 数控机床控制器:选 CODESYS SoftMotion CNC,还是基于 LinuxCNC 自研搭建?架构、授权、实时性、量产风险深度对比
arm开发·fpga开发·codesys·数据采集卡·linuxcnc·rk3576
女神下凡2 小时前
芯参谋(79):嵌入式学习进阶_(硬件与软件)深入实践指南
arm开发·单片机·嵌入式硬件·学习·fpga开发·设计规范
星恒随风2 小时前
Linux Socket TCP编程(二):逐文件重构多进程、多线程与线程池服务器,深入fork、pthread_create、popen和std::bind
linux·服务器·笔记·学习·tcp/ip
abc light2 小时前
ARM 裸机开发(1)——ARM 体系结构
c语言·arm开发
hkNaruto3 小时前
【AI】深度学习、强化学习、深度强化学习基础概念笔记
人工智能·笔记·深度学习
无心水3 小时前
15、云原生架构设计理论与实践 核心考点与学习笔记
笔记·学习·云原生·架构师·软考·系统架构设计师·软考系统架构设计师