嵌入式学习——硬件(ARM体系架构)——day51

1. S3C2440基础知识——一条指令四个字节

1.1 定义

        S3C2440 是三星(Samsung)公司设计的一款基于 ARM920T 核心的微处理器,广泛应用于嵌入式系统中,属于三星的 S3C24xx 系列。

1.2 处理器核心

  • ARM920T:基于 ARM v5T 架构,32 位 RISC 处理器。
  • 主频:最高可以达到 400 MHz。
  • 内存管理单元 (MMU):支持虚拟内存管理。

(1)RISC的全称是“精简指令集计算”(Reduced Instruction Set Computing)

         复杂指令集计算(CISC)

(2)指令集:ARMv4、ARMv5、ARMv7

1.3 存储器

  • 内部 SRAM:4 KB。
  • 外部存储器接口:支持 SDRAM、SRAM、NAND Flash 和 NOR Flash。
  • 内存控制器:支持 16 位和 32 位的外部总线。

(1)ram——(随机存储器、掉电丢失数据、存储临时程序和数据)

(2)rom——(只读存储器、掉电不丢失、存储固定数据和程序)

nor      flash可被寻址(支持随机访问)

nand   flash不可被寻址(支持顺序访问)

1.3 外设接口

  • UART(通用异步收发器)):3 个通用异步收发器,支持全双工通信。
  • I2C:支持主从模式。
  • SPI:支持主从模式。
  • I2S:用于音频接口。
  • USB:2 个主机控制器,1 个设备控制器。
  • SD/MMC:支持 SD 卡和 MMC 卡接口。

        DB9(九针数据通用连接器)

  • 定义:DB9是一种常见的连接器接口,通常有9个针脚排列成一个D形接头,用于连接串行设备。
  • 功能:DB9连接器可以用于连接不同类型的串行设备,如串口(串行口),它可以支持UART通信。

1.4 GPIO

  • 引脚数:具有丰富的通用输入输出(GPIO)引脚,可以配置为多种功能。
  • 中断控制器:支持多达 60 个外部中断。

1.5 显示控制器

  • LCD 控制器:支持多种显示模式,包括 STN 和 TFT LCD。

1.6 音频

  • AC97:支持音频编解码器接口。

1.7 DMA(多总线结构)——单片机是单总线结构

  • 通道数:具有 4 个 DMA 通道,用于高效数据传输。

1.8 定时器

  • PWM:支持脉宽调制(PWM)输出。
  • 看门狗定时器:用于系统复位。

1.9 应用

  • 工业控制:如 PLC、HMI 等工业设备。
  • 消费电子:如 MP3 播放器、便携式媒体播放器。
  • 嵌入式系统:如嵌入式 Linux 设备、开发板等。
  • 自动售货机:用于各种自动售货系统中。
  • 医疗设备:用于便携式医疗检测设备中。

2.     CPU:中央处理器

        MCU:微处理器

        GPU:图形处理器

        FPU:浮点运算单元

Kernal

        ALU:逻辑运算单元

        MMU:内存管理单元

        R0~R12:通用寄存器

        i.cache:指令缓存(Instruction Cache)

        d.cache:数据缓存(Data Cache)

(1)冯·诺依曼结构(Von Neumann Architecture)

  1. 单一存储器系统:指令和数据存储在同一个存储器中,共享同一个存储空间。
  2. 单一总线系统:使用同一条总线来传输指令和数据。
  3. 顺序执行:程序指令按顺序存储,并且按顺序执行(可以有跳转指令改变执行顺序)。
  4. 通用性强:适用于广泛的应用场景,设计简单,成本较低。

(2)哈佛结构(Harvard Architecture)

  1. 分离存储器系统:指令存储器和数据存储器是分开的,分别存储指令和数据。
  2. 独立总线系统:有独立的总线用于传输指令和数据,可以同时进行指令和数据的读取或写入。
  3. 并行处理:由于指令和数据的独立存储和传输,可以实现更高效的并行处理。

        

AHB(Advanced High-performance Bus)

  • 定义:AHB是一种高性能总线协议,通常用于连接高速设备,如处理器和内存。
  • 特点:AHB支持高带宽和低延迟的数据传输,适用于需要快速数据访问的设备和模块。
  • 应用:常用于连接高速处理器、内存控制器以及其他高性能外设,如高速ADC(模数转换器)或DMA(直接内存访问)控制器等。

APB(Advanced Peripheral Bus)

  • 定义:APB是一种低功耗、低速率的总线协议,设计用于连接较慢的外围设备。
  • 特点:APB相对于AHB而言速度较慢,但在控制低速外设和传感器等场景下非常适用,同时能够有效降低功耗。
  • 应用:常用于连接各种低速外设,如GPIO(通用输入输出)、定时器、UART(通用异步收发器)等。

RISC(Reduced Instruction Set Computing)精简指令集计算

CISC(Complex Instruction Set Computer)  复杂指令集计算

PC(Program Counter)

  • 程序计数器,也称为指令计数器,是一个专门的寄存器,用于存储CPU当前执行的指令地址。PC在执行每条指令时会自动递增以指向下一条指令的地址,是指令执行过程中的关键组成部分。

LR(Link Register)

  • 链接寄存器,用于存储函数调用时的返回地址。当函数调用另一个函数时,LR会存储调用点的地址,以便在函数执行结束后返回到正确的位置。

SP(Stack Pointer)

  • 栈指针,用于指向当前程序栈的顶部。栈在计算机中用于存储临时数据和函数调用的上下文信息。SP指示了当前栈顶的位置,随着栈的推入(push)和弹出(pop)操作而变化。

3. 大小端存储

3.1 大端存储:低地址处存放低数据位——51单片机

      小端存储:低地址处存放地数据位——ARM

***************重点部分***************

4. ARM的七种工作模式——软中断和异常向量表实现工作模式的切换

5. ARM系列通用寄存器数量

6. 异常向量表

        存储异常处理程序的入口地址,处理器根据异常类型跳转到对应地址执行。

  1. 复位(Reset)

    • 地址:0x00
    • 描述:处理器复位时的处理程序入口,初始化处理器状态。
  2. 未定义指令(Undefined Instruction)

    • 地址:0x04
    • 描述:执行未定义指令时的处理程序入口。
  3. 软件中断(SWI, Software Interrupt)

    • 地址:0x08
    • 描述:处理软件中断,通常用于系统调用。
  4. 预取中止(Prefetch Abort)

    • 地址:0x0C
    • 描述:指令预取过程中遇到的异常。
  5. 数据中止(Data Abort)

    • 地址:0x10
    • 描述:数据访问过程中遇到的异常。
  6. 保留(Reserved)

    • 地址:0x14
    • 描述:未使用的异常向量(在某些处理器中用于调试或未来扩展)。
  7. IRQ(普通中断请求)

    • 地址:0x18
    • 描述:处理普通中断请求。
  8. FIQ(快速中断请求)

    • 地址:0x1C
    • 描述:处理快速中断请求,通常用于紧急和高优先级的中断。
地址     | 向量表条目
--------|-------------------
0x00    | 复位处理程序地址
0x04    | 未定义指令处理程序地址
0x08    | SWI处理程序地址
0x0C    | 预取中止处理程序地址
0x10    | 数据中止处理程序地址
0x14    | 保留
0x18    | IRQ处理程序地址
0x1C    | FIQ处理程序地址

7. 如何判断12位立即数imm12

8. 汇编启动文件编程

8.1

8.2 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Shell 脚本编程保姆级教程(下)

七、Shell 流程控制 7.1 if #!/bin/bash num1100 if test $[num1] 100 thenecho num1 是 100 fi 7.2 if else #!/bin/bash num1100 num2100 if test $[num1] -eq $[num2] thenecho 两个数相等! elseecho 两个数不相等! fi 7.3 if else-if else #!/…

Java框架的原理主要基于以下几个核心

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

算法力扣刷题记录 二十三【151.翻转字符串里的单词】

前言 字符串篇,继续。 记录 二十三【151.翻转字符串里的单词】 – 一、题目阅读 给你一个字符串 s ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词…

Type-C接口OTG转接器的应用与发展

随着科技的飞速发展,智能移动设备已成为我们生活中不可或缺的一部分。而在这些设备的连接与数据传输中,Type-C接口以其高效、便捷的特性逐渐占据了主导地位。OTG(On-The-Go)技术则进一步扩展了Type-C接口的功能,使得设…

融资担保行业数字化转型探索与实践

融资担保行业数字化转型探索与实践 随着全球经济的快速发展和科技的不断进步,数字化转型已成为各行各业提升竞争力和实现可持续发展的必然选择。融资担保行业作为金融体系中的重要组成部分,也在积极探索和实践数字化转型,以更好地服务中小微企…

基于Datax开发支持瀚高数据库的插件_插件开发_以及部署---国产瀚高数据库工作笔记006

如果想直接使用,开发好的插件,那么可以去下载笔者上传的,打包好的插件,直接放入到 datax安装目录的./datax/plugin/reader 或者writer中就可以了 https://download.csdn.net/download/lidew521/89495306 https://download.csdn.net/download/lidew521/89495301这两个一个…

多功能引流必备神器!评论区关键词采集!斗音平台引流

大家好我今天带来的这款软件,就像是抖音引流界的“多功能引流神器”,功能全面到让你眼花缭乱,而且操作简便到连你的宠物金鱼都能学会! 下面开看看都有哪些功能​: 高级截流拓客功能:想象一下,你…

性能之巅的巴比达内网穿透访问单位的web管理系统

在这个数字化飞速发展的时代,作为一名IT部门的小主管,我经常面临着一项挑战:如何在外网环境下高效、安全地访问我们单位内部部署的Web管理系统。这不仅仅是关乎我个人的工作效率,更是影响到整个团队能否快速响应市场需求的关键。直…

昇思MindSpore学习笔记1--基本介绍

昇思MindSpore是一个全场景深度学习框架。 一、框架组成 1. 模型库ModelZoo 提供深度学习算法网络。 2. 扩展库MindSpore Extend 拓展领域场景,如GNN/深度概率编程/强化学习等。 3. 科学计算MindSpore Science 科学计算套件。 包含数据集、基础模型、预置高精度模…

抖音微短剧小程序源码搭建:实现巨量广告数据高效回传

在数字化营销日益盛行的今天,抖音微短剧小程序已成为品牌与观众互动的新渠道。这些短小精悍的剧目不仅能迅速抓住用户的注意力,还能有效提升品牌的知名度和用户黏性。然而,想要充分利用这一营销工具,关键在于如何高效地追踪广告数…

力扣 移除元素

class Solution {public int removeElement(int[] nums, int val) {int left 0;for(int right 0;right<nums.length;right){if(nums[right] ! val){nums[left] nums[right];left;}}return left;} }

实验八 T_SQL编程

题目 以电子商务系统数据库ecommerce为例 1、在ecommerce数据库&#xff0c;针对会员表member首先创建一个“呼和浩特地区”会员的视图view_hohhot&#xff0c;然后通过该视图查询来自“呼和浩特”地区的会员信息&#xff0c;用批处理命令语句将问题进行分割&#xff0c;并分…

[leetcode]insert-into-a-binary-search-tree

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:TreeNode* insertIntoBST(TreeNode* root, int val) {if (root nullptr) {return new TreeNode(val);}TreeNode* pos root;while (pos ! nullptr) {if (val < pos->val) {if (pos->left nullptr…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《基于改进目标级联分析法的交直流混联系统发电-备用分布式协同调度》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

Python 提取图片主色调

Python 提取图片主色调 效果代码编写 效果 有个要提取图片主色调的需求&#xff0c;记录一下。 代码编写 import numpy as np import cv2 from sklearn.cluster import KMeans from skimage.color import rgb2lab, deltaE_cie76 from collections import Counter# 创建默认…

OpenAI禁止中国使用API,国内大模型市场何去何从

GPT-5 一年半后发布&#xff1f;对此你有何期待&#xff1f; 前言 前言&#xff1a; 近日&#xff0c;OpenAI宣布禁止中国用户使用其API&#xff0c;这一决策引起了国内大模型市场的广泛关注。面对这一挑战&#xff0c;国内大模型市场的发展路径和前景成为业界热议的焦点。本…

收银系统源码-千呼新零售【分销商城】

千呼新零售2.0系统是零售行业连锁店一体化收银系统&#xff0c;包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体&#xff0c;线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货、宠物等连锁店使用。 详细介绍请…

C# 实现websocket双向通信

&#x1f388;个人主页&#xff1a;靓仔很忙i &#x1f4bb;B 站主页&#xff1a;&#x1f449;B站&#x1f448; &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;C# &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff…

关于新零售的一些思考

本文作为2024上半年大量输入之后的核心思考之一。工作到一定阶段之后&#xff0c;思考的重要性越来越高&#xff0c;后续会把自己的个人思考记录在这个新系列《施展爱思考》。背景是上半年面临业务转型从电商到新零售&#xff0c;本文是相关大量输入之后的思考&#xff0c;对新…

还在用 Jenkins?快来试试这款简而轻的自动化部署工具吧!

文章目录 项目介绍功能特性效果展示逻辑节点仓库信息构建列表SSH 管理 安装使用一键安装命令管理 Jpom 服务端防火墙配置 相关地址总结 &#x1f389;欢迎来到Java学习路线专栏~探索Java中的静态变量与实例变量 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#x…