当前位置: 首页 > article >正文

ARM32开发——DMA

🎬 秋野酱:《个人主页》
🔥 个人专栏:《Java专栏》《Python专栏》

⛺️心若有所向往,何惧道阻且长

文章目录

    • 基础概念
      • CPU
      • RAM
      • 外设
    • ARM32程序
      • 存储
    • 执行过程
      • 取数据
    • 执行操作
    • 流程总结

基础概念

CPU

CPU(Central Processing Unit,中央处理单元)是计算机系统中的核心部件,也被称为处理器。它是计算机的大脑,负责执行指令、处理数据以及控制计算机的各种操作。CPU通常由多个核心组成,每个核心可以独立执行指令,从而提高计算机的处理能力。

RAM

RAM(Random-Access Memory,随机存取存储器)是计算机中用于临时存储数据和程序的内存类型。RAM是计算机运行时存储数据的地方,其中包括操作系统、应用程序、用户数据等。与ROM(Read-Only Memory,只读存储器)不同,RAM中的数据可以被读取和写入,而ROM中的数据只能被读取。

外设

外设(Peripheral Device)是指连接到计算机或微控制器的附加设备,用于完成特定的功能或提供特定的输入/输出。外设可以是各种类型的硬件设备,例如定时器、显示器、存储设备、通信设备等。这些外设通过与主处理单元(如CPU)或微控制器的通信来实现数据交换和控制操作。
程序运行过程
我们用一段伪代码来分析程序执行的过程:

uint8_t data = 0x01;
串口发送(data);

看似简单的代码,其实以上包含了多个功能模块间的交互。
在这里插入图片描述

ARM32程序

存储

在这里插入图片描述
在ARM32架构中,程序运行过程中,我们定义的变量其实都是存储在SRAM中,其实就是我们所说的内存。
我们的CPU去获取这个内存空间的数据,加载到CPU的缓存区(寄存器)中,执行CPU指令,指令操作加载的数据,程序就运行起来了。

执行过程

取数据

uint8_t data = 0x01;

在这里插入图片描述

执行操作

串口发送(data);

在这里插入图片描述
CPU通过总线,将数据交给串口,串口接收到数据后,将数据发出。

流程总结

  1. CPU执行过程中,通过总线,到SRAM中取数据
  2. CPU将取的数据,按照逻辑处理顺序进行执行
  3. 逻辑中用到了外设部分,CPU会将对应的数据通过总线传递给外设
    这里的每一份数据都是这么个操作流程。

http://www.kler.cn/a/301711.html

相关文章:

  • Unity 2022 Nav Mesh 自动寻路入门
  • Three.js PBR材质
  • Cuda和Pytorch的兼容性
  • 动态规划-完全背包问题——322.零钱兑换
  • WebRTC视频 04 - 视频采集类 VideoCaptureDS 中篇
  • 【小白可懂】微信小程序---课表渲染
  • C++ 二叉树进阶
  • STM32L051K8U6-HAL-串口中断控制灯闪烁速度
  • php反序列化基础
  • ultralytics实现DeepSort之级联匹配
  • 学习Vue3的第五天
  • MAC 地址简化概念(有线 MAC 地址、无线 MAC 地址、MAC 地址的随机化)
  • Android Radio2.0——有效电台扫描(八)
  • 【网络】高级IO——五种IO模式
  • 概念——二连杆与三连杆解算
  • VS2019界面介绍
  • vue3+ant design vue动态实现级联菜单~
  • Gradle和Maven
  • 第四部分:1---文件内核对象,文件描述符,输出重定向
  • Unity基本操作
  • 前端封装组件可视化库
  • 第15-05章:获取运行时类的完整结构
  • 【AcWing】871. 约数之和
  • Spring Security 快速开始
  • centos7安装MySQL5.7.44
  • Docker Swarm管理(Docker技术集群与应用)