LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

在单片机与嵌入式linux的应用与驱动操作(组图)

2022年12月5日 129点热度

在单片机与嵌入式linux的应用与驱动操作层中对于单片机由于单片机可以直接通过寻址去直接操作单片机内部的RAM和GPIO等,至于能够进行此操作的原因在于单片机的寻址空间上雨林木风linux,所谓的寻址空间,就是PC指针的寻址范围,以下列80C51单片机指令系统寻址方式为例,多数指令执行时都需要使用操作数,所以存在如何取得操作数的问题,这个叫做指令的寻址方式,下面的7种寻址方式能够直接保证单片机CPU单元能够直接调用硬件驱动资源。

串口驱动硬件抽象层_linux异步通知_linux 驱动通知应用层

linux异步通知_串口驱动硬件抽象层_linux 驱动通知应用层

虽然当下会有很多人说单片机的程序操作分为应用层和驱动层linux 驱动通知应用层,但是在上述的观点看来,单片机的应用层和驱动层之间的界限并不明显,因此在其分层上是因为单片机编程人员技术足够高超后,为了便于区分和读写程序才如此进行的。需要进一步了解的人可以通过STM32CubeMX所创建的hal库编程文件来对其硬件资源和分配进行进一步的了解

对于linux来说,由于其CPU所发出的地址需要经过其特带的MMU单元所设定的权限判定,才可以访问硬件与寄存器资源,因此对于linux来说驱动层的存在是必要的,是能够与应用层区分开来的(虽然常说linux的驱动层也就相当于寄存器的映射)。

另外linux 电子书,linux的应用层需要访问到驱动层的话,需要通过读,写或者open等操作方可,俄且其需要让硬件产生如同单片机中断系统般的“故障”实事处理操作方可,其核心就是执行一条汇编指令,即执行“swi #o”指令,其为内核所提供的swi异常处理函数也被称为软中断指令(软中断指令中包含了一个24位的立即数,这个立即数表达了用户所请求的特定的SWI功能)。linux中所执行的read或者write也是需要通过swi异常处理函数,方可对硬件资源进行访问。

linux异步通知_linux 驱动通知应用层_串口驱动硬件抽象层

linux异步通知_串口驱动硬件抽象层_linux 驱动通知应用层

arm异常与中断处理异常向量表

在执行swi异常处理函数的过程中,SWI指令中包含了一个24位的立即数,这个立即数指示了用户请求的特定的SWI功能,即这个立即数表示的是SWI指令所想要触发中断的中断号(可以稍微理解为单片机中断的触发标志位),在后面所进入的swi异常处理函数中则需要将其中的24位立即数提取出来,以此来访问用户所需的驱动与硬件资源。

串口驱动硬件抽象层_linux异步通知_linux 驱动通知应用层

由上图可以看出,虽然看起来我们在Linux调用open,read,write时看似是在直接操作硬件资源,但是实际上所经历的步骤比表面上复杂得多,这就是linux从应用层到驱动层的工作逻辑,这样子严格的分层能够保证Linux系统能够得到更加稳定的运行。

好了,以上为我的部分学习成果总结linux 驱动通知应用层,所述如有不当,还望各位不吝赐教。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: linux系统 单片机 寻址方式 嵌入式linux 异常处理
最后更新:2022年12月5日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
阿里云>社区>主题地图S>查看存储推荐 Linux的内核放在了哪里?/boot的启动目录一览 Linux中修改文件权限的命令、创建者所在组、所有人 linux到底难不难学呢?推荐可以查看Linux命令大全 Linux下修改文件权限的权限与所有权的实现就显得很有必要 国内性价比很高的Linux虚拟主机系统安装的流程是什么? 1.Linux磁盘分区和目录Linux发行版本之间的差别很少? 基于命令修改文件的权限命令-ld 学习Linux最简单、最实用的环境就是虚拟机环境(上) 计算机是如何启动的?、内核操作系统的启动流程 一个免费软件时间跟进的小白鼠是什么鬼?专题 如何在Linux上安装虚拟机的结果大多都是怎么安装的 Linux启动过程中的几个部分内核的引导(图) 指令中各个make-C~/linuxM=`pwd编译 虚拟机安装Ubuntu操作系统-Ubuntu空间20G镜像下载 启动第一步--加载BIOS当你打开计算机电源(组图) 个人笔记本安装Ubuntu20.04LTS下载地址 腾讯云服务器上也搭建一套环境,安装成功自动启动 go语言被称作互联网时代的c语言,用来开发嵌入式linux的理由 Linux5.12的推送请求不断涌入新开放的合并窗口预计4月底看到它的稳定版本
Linux5.12的推送请求不断涌入新开放的合并窗口预计4月底看到它的稳定版本Linux自主访问控制机制模块详细分析:网络安全标准资料go语言被称作互联网时代的c语言,用来开发嵌入式linux的理由【指南】Linux中网络接口卡的10种方法使用腾讯云服务器上也搭建一套环境,安装成功自动启动Linux线程的操作、多线程的同步和互斥的基本单位个人笔记本安装Ubuntu20.04LTS下载地址RedHatLinux-安装MySQL入门到精通启动第一步--加载BIOS当你打开计算机电源(组图)内核为什么需要内核线程Linux内核可以看作一个服务进程?虚拟机安装Ubuntu操作系统-Ubuntu空间20G镜像下载再传到linux2.配置数据库的环境和路径3.登陆数据库修改指令中各个make-C~/linuxM=`pwd编译Linux内核页表管理中那些鲜为人知的作用是什么?(图)Linux启动过程中的几个部分内核的引导(图)Linux常用应用工具软件安装管理——RedHatEnterprise存储库如何在Linux上安装虚拟机的结果大多都是怎么安装的如需最新mainline内核版本下载并安装新版本删除旧内核一个免费软件时间跟进的小白鼠是什么鬼?专题关于Linux系统版本命令的一些看法及解决办法的通知
RedHatLinux发行版套件管理方式的作用及管理方法 如何远程连接服务器桌面?如何保证在ssh故障情况下还能够访问到服务器? 【王者荣耀】Linux内核的构成与学习方法(一) 如何知道自己的Linux内核版本的几种方法?方法 我们如何才能破解安卓设备呢?留下的后门权限 如何查看Linux内核版本的命令(2种方法)? 我试图将从java作业获得的时间信息与linux性能监视工具 Linux系统的启动过程,来说一说启动顺序详解 Linux用户来说意味着什么?简单来说,实际上意味着即白 TCL电视看电视直播方法购买智能电视的热卖,不少 VMwareWindows10拥有一台搭载windows操作系统的电脑下载地址 0x02影响版本LinuxKernel5.405.50x03修复建议 新公司的测试机磁盘空间空余很小简要记录以备忘 如何将普通用户添加到sudo组以及给定的权限使其成为普通用户 ubuntu如下系统的配置 IT之家UbuntuKylin14.1014.10壁纸预览(附下载地址) 人用extundelete软件突然恢复,官网据说还能恢复小文件 Linux下程序的存放目录和安装目录 增加新的分区oempty命令来进行时| 关于IA-32/Linux进程内核空间的叙述中,错误的是
标签聚合
虚拟机 电脑 sudo unix 文件目录 命令模式 shell linux系统 linux服务器 软件
书籍
课程
技术群
技术干货大合集↓
  • 2023年1月 / 150篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.