ARM裸机:基础了解

news2024/11/27 0:26:40

ARM的几种版本号

ARM内核版本号 ARMv7
ARM SoC版本号 Cortex-A8
芯片型号 S5PV210

ARM型号的发展历程
在这里插入图片描述
m microcontroller微控制器 就是单片机
a application应用级处理器 就是手机、平板、电脑的CPU
r realtime实时处理器 响应速度快,主要用在工业、航天等领域

soc 、cpu、外设的概念

CPU(Central Processing Unit)是计算机系统中的核心组件,也被称为微处理器或中央处理器。它是执行计算机程序的“大脑”,负责执行指令、处理数据运算、控制内存访问以及协调各个硬件组件之间的通信。CPU的主要功能包括算术逻辑运算、数据处理、指令译码和执行,以及管理时间和并行任务调度。简单来说,CPU是计算机的核心运算单元,是所有计算机操作的基础。

SOC(System on Chip)是一种集成度极高的微电子技术,它将整个计算机系统,包括中央处理器(CPU)、内存、输入输出控制器、外设接口和有时还包括专用硬件如图像或音频处理单元,都集成在一个单个的芯片上。这样做的好处是能够大幅度减小体积、降低功耗、提高性能,并简化设计过程。SOC广泛应用于移动设备、消费电子、工业控制、物联网(IoT)等多个领域。它是现代电子系统的核心组成部分。

现在已经没有纯粹的CPU了,都是SoC

在这里插入图片描述

嵌入式系统

特点
专用、软硬件可裁剪可配置
低功耗、高可靠性、高稳定性
软件代码短小精悍
代码可固化
实时性
弱交互性
专用开发工具及开发环境
专业开发人员

组成
硬件
微处理器
存储器
I/O接口、输入输出设备等等
软件:
嵌入式操作系统
BSP board support package板级支持包,是介于主板硬件和操作系统之间的一层
应用软件

分层
在这里插入图片描述

发展和演进

  • 以单芯片为核心、可编程控制器存在形式
    没有操作系统支持
    软件以汇编为主
    功能单一、处理效率低、存储容器小、没有对外接口
    使用简单、价格低
  • 以嵌入式CPU为基础、简单操作系统为核心
    CPU种类多,通用性弱
    系统开销小,效率高
    达到一定兼容性,拓展性
    用户体验度不高,交互界面不够友好
  • 以嵌入式操作系统为标志
    兼容性好,适用于不同平台
    系统开销小,效率高,具有高度模块化及拓展性
    图形化界面,用户界面友好
    丰富的外部接口
  • 以物联网为标志
    将传感器技术、互联网技术及传统嵌入式技术综合联系
    小型化、智能化、网络化及可视化
    低功耗、绿色环保
    多核技术SMP、云计算技术及虚拟化技术

交叉编译

开发模式
非嵌入式开发,A(类)机编写(源代码)、编译得到可执行程序,发布给A(类)机运行。
嵌入式开发,A(类)机编写(源代码)、编译得到可执行程序,发布给B(类)机运行。

为何使用交叉编译
嵌入式开发的CPU比较简单,本身无法搭建开发环境,交叉编译可以用高性能机器为低性能机器开发软件(包括裸机软件、系统级和应用级软件)

交叉编译有什么特点

  • 专用的交叉编译工具链
  • 由于可执行程序不能本地运行调试,因此必须配合一定手段(专用调试器、JTAG调试器、USB下载、串口下载、SD启动、网络共享等)将可执行程序加载到目标嵌入式设备上运行及调试。

CPU的设计原理、数据总线和地址总线

在这里插入图片描述
CPU通过地址总线寻址,然后通过数据总线与外部设备互换信息
地址总线的位数决定CPU寻址范围,32位CPU寻址的范围是4G
CPU的位数指的是数据总线的位数,数据总线的位数决定CPU单次通信能交换的信息数量,总线的速度决定CPU和外设互换信息的速度

为何需要Jlink、SD卡等辅助设备

交叉编译,不便于本机运行调试程序,需要调试工具
Jlink的作用:下载程序,可单步调试
SD卡的作用:启动介质,
USB转串口线的作用:调试

总结

了解ARM型号进化历程
注意区分CPU和SOC的概念
了解嵌入式特点、组成、发展情况
了解交叉编译的概念
理解数据总线和地址总线的不同和作用
了解Jlink、SD卡等辅助设备

学习记录,侵权联系删除。
来源:朱老师物联网大课堂

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1852000.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VUE3 使用 vite-plugin-svg-icons加载SVG

目录 1. 装依赖 2. 在src里面创建文件夹 3. 封装svg组件 4. vite.config.js 中配置svg 5. 引入挂载(在main.js中) 6. 单页面直接用 1. 装依赖 npm i vite-plugin-svg-icons -D 2. 在src里面创建文件夹 3. 封装svg组件 代码明细: &l…

音视频的Buffer处理

最近在做安卓下UVC的一个案子。正好之前搞过ST方案的开机广告,这个也是我少数最后没搞成功的项目。当时也有点客观原因,当时ST要退出机顶盒市场,所以一切的支持都停了,当时啃他家播放器几十万行的代码,而且几乎没有文档…

文件操作<C语言>

导言 平时我们在写程序时,在运行时申请内存空间,运行完时内存空间被收回,如果想要持久化的保存,我们就可以使用文件,所以下文将要介绍一些在程序中完成一些文件操作。 目录 导言 文件流 文件指针 文件的打开与关闭 …

Android 开发必备知识点及面试题汇总(Android+Java+算法+性能优化+四大组件……

**虚引用:**顾名思义,就是形同虚设,如果一个对象仅持有虚引用,那么它相当于没有引用,在任何时候都可能被垃圾回收器回收。 7.介绍垃圾回收机制 **标记回收法:**遍历对象图并且记录可到达的对象&#xff0c…

WPS没保存关闭了怎么恢复数据?4个方法(更新版)

想象一下,你正在用WPS奋笔疾书,灵感如泉水般涌出,突然间,电脑却跟你开了个玩笑——啪地一下,文档未保存就关闭了!是不是感觉像是被泼了一盆冷水,所有的热情瞬间熄灭?别急&#xff0c…

为 Android 应用打造精良的 Chrome OS 使用体验

override fun onKeyUp(code: Int, ev: KeyEvent?): Boolean { return when (code) { KeyEvent.KEYCODE_J -> { // Do something here true } else -> super.onKeyUp(code, ev) // 重要!! } } 注意我们标出 “重要” 的那一行代码。这行代…

20240623 每日AI必读资讯

🤖原生鸿蒙AI浓度要爆表了! - 一年一度华为开发者大会上,余承东首次揭秘“鸿蒙原生智能”Harmony Intelligence! - 华为小艺进化成系统级智能体。 - 一句话实现跨多个应用的规划和任务执行;在第三方APP上随意处理文…

Unity的渲染管线

渲染管线 概念 Unity的渲染管线是在图形学渲染管线的基础上,加上了高度可配置可扩展的框架,允许开发者自定义渲染流程。 渲染管线(渲染流水线)概述:将数据分阶段的变为屏幕图像的过程。 数据指的是模型、光源和摄像…

C++ | Leetcode C++题解之第174题地下城游戏

题目&#xff1a; 题解&#xff1a; class Solution { public:int calculateMinimumHP(vector<vector<int>>& dungeon) {int n dungeon.size(), m dungeon[0].size();vector<vector<int>> dp(n 1, vector<int>(m 1, INT_MAX));dp[n][m …

【从0实现React18】 (二) JSX 的转换 jsx到底是什么?React是如何把jsx转换为ReactElement?

react项目结构 React(宿主环境的公用方法)React-reconciler(协调器的实现&#xff0c;宿主环境无关)各种宿主环境的包shared(公用辅助方法&#xff0c;宿主环境无关) 当前实现的JSX转换属于 react****包 初始化react包 先创建react package并初始化 更新package.json文件&a…

Redis源码学习:quicklist的设计与实现

为什么需要quicklist 假设你已经知道了ziplist的缺陷&#xff1a; 虽然节省空间&#xff0c;但是申请内存必须是连续的&#xff0c;如果内存占用比较多&#xff0c;申请效率低要存储大量数据&#xff0c;超过了ziplist的最佳上限后&#xff0c;性能有影响 借鉴分片思想&…

仓颉编程语言入门

华为在 2024 年 6 月 21 日的华为开发者大会上&#xff0c;华为终端 BG 软件部总裁龚体正式官宣了华为自研仓颉编程语言&#xff0c;并发布了 HarmonyOS NEXT 仓颉语言开发者预览版。 仓颉编程语言文件后缀名为 .cj, 以下是第一个入门代码输出&#xff1a;你好&#xff0c;仓颉…

理解 什么是 滚动更新,蓝绿部署,灰度发布 以及它们的区别

滚动更新&#xff0c;蓝绿部署&#xff0c;灰度发布 这3种 现代化的 发布模式相信很多人都听过&#xff0c; 但是并不是都能正确理解他们的作用和区别 滚动更新 Rolling Update 所谓滚动更新是for 那些多实例的service的。 假如1个 service 有n 个instance, 更新时并不是n 个…

xss.haozi.me靶场通关参考

url&#xff1a;https://xss.haozi.me/ 文章目录 0x000x010x020x030x040x050x060x070x080x090x0A0x0B0x0C00xD00xE00xF0x100x110x12 0x00 先看js代码&#xff0c;第一关给你热热手&#xff0c;没给你加过 payload&#xff1a; <script>alert(1)</script>0x01 这…

移动端 UI 风格,诠释精致

移动端 UI 风格&#xff0c;诠释精致

文华财经wh7关于mancd和KDJ预警指标公式源码

一、零轴下金叉和零轴上死叉的预警 MA5:MA(C,5); MA10:MA(C,10); DIFF:EMA(CLOSE,12) - EMA(CLOSE,26); DEA:EMA(DIFF,9); MACD:2*(DIFF-DEA); CROSS(MA5,MA10)&&MAX(DIFF,DEA)<0,NOTICE(零轴下金叉); CROSSDOWN(MA5,MA10)&&MIN(DIFF,DEA)>0,NOTI…

华为---理解OSPF Route-ID(五)

9.5 理解OSPF Route-ID 9.5.1 原理概述 一些动态路由协议要求使用Router-ID作为路由器的身份标示&#xff0c;如果在启动这些路由协议时没有指定Router-ID,则默认使用路由器全局下的路由管理Router-ID。 Router-ID选举规则为&#xff0c;如果通过Router-ID命令配置了Router-…

46、基于自组织映射神经网络的鸢尾花聚类(matlab)

1、自组织映射神经网络的鸢尾花聚类的原理及流程 自组织映射神经网络&#xff08;Self-Organizing Map, SOM&#xff09;是一种用于聚类和数据可视化的人工神经网络模型。在鸢尾花聚类中&#xff0c;SOM 可以用来将鸢尾花数据集分成不同的类别&#xff0c;同时保留数据间的拓扑…

centos7系统上安装MySQL8.4图文教程

本章教程&#xff0c;主要记录如何在CentOS7系统上安装MySQL8.4的详细步骤。 一、查看当前系统版本 cat /etc/centos-release二、安装步骤 1、创建mysql目录 cd /usr/local && mkdir mysql && cd mysql2、安装rpm包 yum install https://repo.mysql.com//m…

[FreeRTOS 基础知识] 互斥访问与回环队列 概念

文章目录 为什么需要互斥访问&#xff1f;使用队列实现互斥访问休眠和唤醒机制环形缓冲区 为什么需要互斥访问&#xff1f; 在裸机中&#xff0c;假设有两个函数&#xff08;func_A, func_B&#xff09;都要修改a的值&#xff08;a&#xff09;&#xff0c;那么将a定义为全局变…