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

Linux 学习记录57(ARM篇)

Linux 学习记录57(ARM篇)

在这里插入图片描述

本文目录

  • Linux 学习记录57(ARM篇)
  • 一、外部中断
    • 1. 概念
    • 2. 流程图框
  • 二、相关寄存器
    • 1. GIC CPU Interface (GICC)
    • 2. GIC distributor (GICD)
    • 3. EXTI registers
  • 三、EXTI 寄存器
    • 1. 概述
    • 2. 内部框图
    • 3. 寄存器功能描述
    • 4. EXTI选择框图
    • 5. EXTI_EXTICR1 (1-4)
    • 6. EXTI_RTSR1
    • 6. EXTI_FTSR1
    • 7. EXTI_IMR1
    • 8. EXTI_FPR1

一、外部中断

1. 概念

2. 流程图框

通过IO口的电平,产生对应的外部中断,通过外部中断的处理函数完成相应功能

外部中断是计算机系统中的一种中断类型,它由外部设备或外部事件触发,以通知计算机系统执行相应处理程序。
当外部设备需要与计算机进行交互或者发生了某些需要处理的事件时,会发送一个中断信号给CPU,CPU则会中断当
前正在执行的程序,转而执行与该中断相关的处理程序。外部中断可以分为多种类型,比如硬件中断和软件中断。硬件中断是由硬件设备产生的,比如键盘输入、鼠标点击
、定时器到达等。软件中断则是由软件程序主动触发的,比如系统调用、软件异常等。外部中断的处理过程包括中断请求、中断响应和中断处理三个阶段。当外部设备发送中断请求信号时,CPU会检测
到该信号,并保存当前程序的执行现场信息,然后跳转到相应的中断处理程序执行。执行完中断处理程序后,CPU
会恢复之前保存的程序执行现场信息,继续执行被中断的程序。外部中断的引入可以提高计算机系统的处理效率和响应能力,使系统能够及时处理各种外部事件。

在这里插入图片描述

二、相关寄存器

在这里插入图片描述

1. GIC CPU Interface (GICC)

GIC CPU Interface (GICC)是一种用于处理器与中断控制器之通信的接口。GIC代表通用中断控制器,它是一种硬件
组件,用于管理和处理中断信号。GICC提供了一组寄存器和控制逻辑,用于处理器与GIC之间的交互。它允许处理器与GIC进行中断的注册、屏蔽、
触发和处理等操作。GICC的主要功能包括:1. 中断屏蔽和使能:处理器可以通过设置相关寄存器来屏蔽或使能特定的中断信号。
2. 中断触发:处理器可以通过写入相应的寄存器来触发中断信号,将其发送给GIC。
3. 中断注册:处理器可以将自己作为中断处理程序注册到GIC,以便在中断发生时接收到相应的中断通知。
4. 中断处理:当中断发生时,GIC会将中断信号发送给相应的处理器,并将执行权转移到相应的中断处理程序。GICC是在多核处理器系统中广泛使用的一种接口,它可以实现多个处理器同时与中断控制器进行通信和协调,提高
系统的并发处理能力和中断管理效率。

在这里插入图片描述

2. GIC distributor (GICD)

GIC distributor (GICD)是通用中断控制器(GIC)中的一个组件,它负责接收来自外部设备的中断信号,并将这些中断信号分发给对应的处理器核心进行处理。GICD在多核处理器系统中起到了协调和管理中断的重要作用。

GICD具有以下主要功能:

  1. 中断路由:GICD根据中断信号的特征将其路由到相应的处理器核心。每个处理器核心都可以通过GICD配置来决定是否接受某个特定中断信号。
  2. 中断优先级:GICD可以配置每个中断信号的优先级,确保高优先级的中断得到及时处理。
  3. 中断屏蔽和使能:GICD提供了寄存器用于屏蔽或使能特定的中断信号,以便控制中断的触发和处理。
  4. 中断分组:GICD支持将中断信号分组,以便更好地管理和处理不同类型的中断信号。
  5. 中断转发:GICD可以将一个中断信号转发给其他处理器核心,以实现多核之间的中断通知和共享。

GICD与GICC(GIC CPU Interface)一起构成了GIC的核心组件,它们共同实现了中断的管理和处理。通过GICD,多个处理器核心可以协同工作,高效地处理来自外部设备的中断信号,提高系统的并发处理能力和中断管理效率。

在这里插入图片描述

3. EXTI registers

EXTI (External Interrupt)寄存器是用于处理外部中断的寄存器组。它们是STM32系列微控制器中的一部分,用于处理与外部设备相关的中断信号。

在STM32微控制器中,外部中断通过EXTI寄存器来配置和管理。EXTI寄存器包括以下几个主要寄存器:

  1. EXTI_IMR (Interrupt Mask Register):用于屏蔽或使能特定的外部中断线。每个位对应一条外部中断线,设置为1表示使能,设置为0表示屏蔽。
  2. EXTI_RTSR (Rising Trigger Selection Register):用于选择上升沿触发的外部中断线。每个位对应一条外部中断线,设置为1表示选择上升沿触发,设置为0表示不选择。
  3. EXTI_FTSR (Falling Trigger Selection Register):用于选择下降沿触发的外部中断线。每个位对应一条外部中断线,设置为1表示选择下降沿触发,设置为0表示不选择。
  4. EXTI_PR (Pending Register):用于标记外部中断线是否处于待处理状态。每个位对应一条外部中断线,设置为1表示该中断线产生了中断,需要处理后清除。

通过配置这些EXTI寄存器,可以灵活地控制和管理外部中断的触发和处理。比如,可以选择上升沿或下降沿触发中断,屏蔽或使能特定的中断线,以及检查中断线的待处理状态。这样,系统可以根据具体需求对外部中断进行灵活的配置和处理。

在这里插入图片描述

三、EXTI 寄存器

1. 概述

在这里插入图片描述

2. 内部框图

在这里插入图片描述

3. 寄存器功能描述

在这里插入图片描述

4. EXTI选择框图

PIN1对应EXTI0,PIN2对应EXTI2,以此类推
在这里插入图片描述

5. EXTI_EXTICR1 (1-4)

EXTI_EXTICR1 是一个寄存器,用于配置外部中断线与GPIO引脚之间的映射关系。在STM32微控制器中,有多个外部中断线可以与不同的GPIO引脚相连,EXTI_EXTICR1 寄存器用于设置其中的一组映射关系。
将Pin0-15引脚分为4组,分别使用EXTI_EXTICR1 到EXTI_EXTICR4配置
在这里插入图片描述

例如要将PA7的于GPIO中断相连这就需要将该组寄存器的EXTI7设置位0x00,如果是PC7则为0x02

在这里插入图片描述

6. EXTI_RTSR1

外部中断的上升沿配置寄存器
在这里插入图片描述

6. EXTI_FTSR1

外部中断的下升沿配置寄存器
在这里插入图片描述

7. EXTI_IMR1

EXTI_IMR1(Interrupt Mask Register 1)是STM32微控制器中的一个寄存器,用于屏蔽或使能外部中断线。
它是EXTI(External Interrupt)寄存器组中的一个寄存器。EXTI_IMR1寄存器是一个32位的寄存器,每个位对应一条外部中断线。通过设置相应的位,可以选择使能或屏蔽特
定的外部中断线。当某个外部中断线的对应位被设置为1时,表示该中断线被使能,可以触发中断。当对应位被设
置为0时,表示该中断线被屏蔽,不会触发中断。通过对EXTI_IMR1寄存器进行配置,可以灵活地选择哪些外部中断线会触发中断处理程序,以适应特定的应用需求

设置为将相应的中断的位配置为1即不屏蔽中断
在这里插入图片描述

8. EXTI_FPR1

EXTI_FPR1:EXTI falling edge pending register寄存器名字:EXTI下降沿挂起寄存器作用:清除EXTI层中断挂起标志位rc_w1:可读可写读0:表示中断没有触发读1:表示中断触发写0:不清除EXTI层中断挂起标志位写1:清除EXTI层中断挂起标志位

在这里插入图片描述

相关文章:

Linux 学习记录57(ARM篇)

Linux 学习记录57(ARM篇) 本文目录 Linux 学习记录57(ARM篇)一、外部中断1. 概念2. 流程图框 二、相关寄存器1. GIC CPU Interface (GICC)2. GIC distributor (GICD)3. EXTI registers 三、EXTI 寄存器1. 概述2. 内部框图3. 寄存器功能描述4. EXTI选择框图5. EXTI_EXTICR1 &…...

Doris注意事项,Doris部署在阿里云,写不进去数据

1.Doris官网 Doris官网https://doris.apache.org/ 2.根本原因 本地idea访问FE,FE会返回BE的地址,但是在服务器上通过ip addr查看,发现只有局域网IP,所以FE返回了局域网的IP,导致idea连接不上BE 3.解决办法 重写Ba…...

502 Bad GateWay报错的解决方法

什么是502 bad gateway 报错 简单来说 502 是报错类型代码 bad gateway 错误的网关。是Web服务器作为网关或代理服务器时收到无效的响应。 用我们的口语说就是运行网站的服务器暂时挂了(不响应)。 产生错误的原因 1.连接超时 我们向服务器发送请求 由于服务器当前链接太多&am…...

openpnp - ReferenceStripFeeder 改版零件

文章目录 openpnp - ReferenceStripFeeder 改版零件概述笔记整体效果散料飞达主体磁铁仓盖板飞达编带中间压条飞达编带两边压条装配体用的8mm编带模型END openpnp - ReferenceStripFeeder 改版零件 概述 官方推荐了ReferenceStripFeeder的模型smd_strip_feeders_mod_tray.zip…...

VoxPoser:使用大语言模型(GPT-4)来对机器人操作的可组合三维值图【论文解读】

这是最近斯坦福的李飞飞团队的一篇论文:VoxPoser: Composable 3D Value Maps for Robotic Manipulation with Language Models 主要是通过大语言模型LLM和视觉语言模型VLM结合,来对机器人做各种日常操作,我们可以先来看下实际效果:大语言模型…...

RISC-V公测平台发布 · 第一个WEB Server “Hello RISC-V world!”

RISC-V公测平台Web Server地址:http://175.8.161.253:8081 一、前言 Web Server是互联网应用的基础设施,无论是用户访问网站,还是后端服务提供商和开发者构建各种应用程序,Web Server都在其中扮演着至关重要的角色。 显而易见…...

Linux 发行版 CentOS 于 Ubuntu 软件的安装、卸载、查找

CentOS于Ubuntu 内核都是Linux,是一样的。 CentOS 软件格式 .rpm sudo yum [-y] [ install | remove | search ] 软件名称 install 安装 remove 移除 search 搜索 Ubuntu 软件格式 .deb sudo apt [-y] [ install | remove | search ] 软件名称 install 安装 remove…...

cmd相关操作命令

1.根据端口号查询对应进程的PID netstat -ano | findstr 端口号 例如:netstat -ano | findstr 9080;该端口所属进程的PID为6684 2.根据PID查询对应进程 tasklist | findstr PID 例如:tasklist | findstr 6684;该PID所属进程名为…...

使用EM算法完成聚类任务

EM算法(Expectation-Maximization Algorithm)是一种基于迭代优化的聚类算法,用于在无监督的情况下将数据集分成几个不同的组或簇。EM算法是一种迭代算法,包含两个主要步骤:期望步骤(E-step)和最…...

❤️创意网页:创意视觉效果粒子循环的网页动画

✨博主:命运之光 🌸专栏:Python星辰秘典 🐳专栏:web开发(简单好用又好看) ❤️专栏:Java经典程序设计 ☀️博主的其他文章:点击进入博主的主页 前言:欢迎踏入…...

【MTI 6.S081 Lab】thread

【MTI 6.S081 Lab】thread 前言调度Uthread: switching between threads (moderate)实验任务Hints解决方案thread_switchthread_create()thread_schedule() Using threads (moderate)实验任务解决方案 Barrier (moderate)实验任务解决方案 本实验前去看《操作系统导论》第29章基…...

AWS / VPC 云流量监控

由于安全性、数据现代化、增长、灵活性和成本等原因促使更多企业迁移到云,将数据存储在本地的组织正在使用云来存储其重要数据。亚马逊网络服务(AWS)仍然是最受追捧和需求的服务之一,而亚马逊虚拟私有云(VPC&#xff0…...

【C++学习笔记】extern “c“以及如何查看符号表

如何查看符号表 要查看.a文件的内容&#xff0c;可以使用ar命令。下面是一些常见的用法&#xff1a; 列出.a文件中包含的所有文件&#xff1a; ar t <filename.a>提取.a文件中的单个文件&#xff1a; ar x <filename.a> <filename.o>将.a文件中的所有文件提…...

24考研数据结构-数组和特殊矩阵

目录 数据结构&#xff1a;数组与特殊矩阵数组数组的特点数组的用途 特殊矩阵对角矩阵上三角矩阵和下三角矩阵稀疏矩阵特殊矩阵的用途 结论 3.4 数组和特殊矩阵3.4.1数组的存储结构3.4.2普通矩阵的存储3.4.3特殊矩阵的存储1. 对称矩阵(方阵)2. 三角矩阵(方阵)3. 三对角矩阵(方阵…...

服务器后台运行程序

代码运行 要让代码在服务器后台运行&#xff0c;有多种方法。在 Linux 系统中&#xff0c;最常见的有以下几种方式&#xff1a; **1. 使用 & 符号&#xff1a;** 在命令后面添加 & 符号可以让程序在后台运行。例如&#xff1a; bash python myscript.py &但是…...

大数据课程D7——hadoop的YARN

文章作者邮箱&#xff1a;yugongshiyesina.cn 地址&#xff1a;广东惠州 ▲ 本章节目的 ⚪ 了解YARN的概念和结构&#xff1b; ⚪ 掌握YARN的资源调度流程&#xff1b; ⚪ 了解Hadoop支持的资源调度器&#xff1a;FIFO、Capacity、Fair&#xff1b; ⚪ 掌握YA…...

Rust vs Go:常用语法对比(十三)

题图来自 Go vs. Rust: The Ultimate Performance Battle 241. Yield priority to other threads Explicitly decrease the priority of the current process, so that other execution threads have a better chance to execute now. Then resume normal execution and call f…...

【【51单片机DA转换模块】】

爆改直流电机&#xff0c;DA转换器 main.c #include <REGX52.H> #include "Delay.h" #include "Timer0.h"sbit DAP2^1;unsigned char Counter,Compare; //计数值和比较值&#xff0c;用于输出PWM unsigned char i;void main() {Timer0_Init();whil…...

[SQL挖掘机] - 字符串函数 - substring

介绍: substring函数是在mysql中用于提取字符串的一种函数。它接受一个字符串作为输入&#xff0c;并返回从该字符串中指定位置开始的一部分子串。substring函数可以用于获取字符串中的特定字符或子串&#xff0c;以便进行进一步的处理或分析。 用法: 下面是substring函数的…...

第一百一十六天学习记录:C++提高:STL-string(黑马教学视频)

string基本概念 string是C风格的字符串&#xff0c;而string本质上是一个类 string和char区别 1、char是一个指针 2、string是一个类&#xff0c;类内部封装了char*&#xff0c;管理这个字符串&#xff0c;是一个char型的容器。 特点&#xff1a; string类内部封装了很多成员方…...

Meta-Transformer 多模态学习的统一框架

Meta-Transformer是一个用于多模态学习的新框架&#xff0c;用来处理和关联来自多种模态的信息&#xff0c;如自然语言、图像、点云、音频、视频、时间序列和表格数据&#xff0c;虽然各种数据之间存在固有的差距&#xff0c;但是Meta-Transformer利用冻结编码器从共享标记空间…...

tinkerCAD案例:24.Tinkercad 中的自定义字体

tinkerCAD案例&#xff1a;24.Tinkercad 中的自定义字体 原文 Tinkercad Projects Tinkercad has a fun shape in the Shape Generators section that allows you to upload your own font in SVG format and use it in your designs. I’ve used it for a variety of desi…...

list与流迭代器stream_iterator

运行代码&#xff1a; //list与流迭代器 #include"std_lib_facilities.h" //声明Item类 struct Item {string name;int iid;double value;Item():name(" "),iid(0),value(0.0){}Item(string ss,int ii,double vv):name(ss),iid(ii),value(vv){}friend ist…...

九耶:冯·诺伊曼体系

冯诺伊曼体系&#xff08;Von Neumann architecture&#xff09;是一种计算机体系结构&#xff0c;它由匈牙利数学家冯诺伊曼于1945年提出。冯诺伊曼体系是现代计算机体系结构的基础&#xff0c;几乎所有的通用计算机都采用了这种体系结构。 冯诺伊曼体系的核心思想是将计算机硬…...

探索UCI心脏病数据:利用R语言和h2o深度学习构建预测模型

一、引言 随着机器学习模型在实际应用中的广泛应用&#xff0c;人们对于模型的解释性和可理解性日益关注。可解释性机器学习是指能够清晰、透明地解释机器学习模型决策过程的一种方法和技术。在许多领域中&#xff0c;如医疗诊断、金融风险评估和自动驾驶等&#xff0c;解释模型…...

基于 moleculer 微服务架构的智能低代码PaaS 平台源码 可视化开发

低代码开发平台源码 低代码管理系统PaaS 平台 无需代码或通过少量代码就可以快速生成应用程序的开发平台。 本套低代码管理后台可以支持多种企业应用场景&#xff0c;包括但不限于CRM、ERP、OA、BI、IoT、大数据等。无论是传统企业还是新兴企业&#xff0c;都可以使用管理后台…...

xrdp登录显示白屏且红色叉

如上图所示&#xff0c;xrdp登录出现了红色叉加白屏&#xff0c;这是因为不正常关闭导致&#xff0c;解决方法其实挺简单的 #进入/usr/tmp cd /usr/tmp #删除对应用户的kdecache-** 文件&#xff08;我这里使用的是kde桌面&#xff09;&#xff0c;例如删除ywj用户对应的文件 …...

Docker安装 Mysql 8.x 版本

文章目录 Docker安装 Mysql 8.0.22Mysql 创建账号并授权Mysql 数据迁移同版本数据迁移跨版本数据迁移 Mysql 5.x 版本与 Mysql 8.x版本是两个大版本&#xff0c;这里演示安装Mysql 8.x版本 Docker安装 Mysql 8.0.22 # 下载mysql $ docker pull mysql 默认安装最新…...

【数理知识】刚体 rigid body 及刚体的运动

文章目录 1 刚体2 刚体一般运动1 平移运动2 旋转运动 Ref 1 刚体 刚体是指在运动中和受力作用后&#xff0c;形状和大小不变&#xff0c;而且内部各点的相对位置不变的物体。绝对刚体实际上是不存在的&#xff0c;只是一种理想模型&#xff0c;因为任何物体在受力作用后&#…...

【UE5 多人联机教程】03-创建游戏

效果 步骤 打开“UMG_MainMenu”&#xff0c;增加创建房间按钮的点击事件 添加如下节点 其中&#xff0c;“FUNL Fast Create Widget”是插件自带的函数节点&#xff0c;内容如下&#xff1a; “创建会话”节点指游戏成功创建一个会话后&#xff0c;游戏的其他实例即可发现&am…...

网站建设上的新闻/中山seo推广优化

1.修改网卡&#xff0c;修改配置文件/etc/network/interfaces之后&#xff0c;重启network出现错误&#xff1a;Unit network.service failed to load。 不用service network restart 用service network-manager restart重启&#xff0c;不会报错。如果没有用&#xff0c;只…...

外贸哪家做网站/百度ai人工智能平台

函数的格式 使用 function定义一个函数 function 函数名() { 函数体 } #!/bin/bashfunction sum() {s0;s$[$1 $2];echo "求和的结果为: "$s; }read -p "请输入需要求和的第一个数: num1" num1 read -p "请输入需要求和的第二个数: num2" num…...

深圳沙头角网站建设/找客户资源的软件免费的

Windows7就要发布了&#xff0c;近期&#xff0c;就要和MS组织一次社区Win7发布活动&#xff0c;正好这次也讲Win7的TaskBar开发&#xff0c;所以就把要讲的东西组织成Blog&#xff0c;分享给出来&#xff0c;以供参考。<?xml:namespace prefix o ns "urn:schemas-m…...

php网站优化/百度问一问官网

不能设置文件夹共享的原因看你系统的这两项服务是否是禁止掉&#xff0c;如果禁止掉的&#xff0c;把它启动后就可以设置文件夹共享了&#xff01;这两项服务是Server,Computer Browser这两个服务&#xff0c;但要Server服务保证启动成功&#xff0c;才可以让Computer Browser服…...

手机购物网站设计/网络运营seo是什么

原文链接:http://blog.csdn.net/xizero00/article/details/50914471 一、Layer的作用简介 Layer实际上定义了Layer的基本操作&#xff0c;即初始化层、前向传播和反向传播。在前向传播中根据bottom blob得到top blob&#xff0c;反向传播则根据top反传到bottom。而且在前传的…...

猎趣网站/武汉网站排名提升

今天和大家聊聊泛型在容器中存在的安全问题&#xff0c;我们先来看一个例子。 public class Pet {}public class Dog extends Pet {}public class Cat extends Pet {}public class PelList {public static void main(String[] args) {List dogs new ArrayList<Dog>();d…...