从硬件设备看Linux

一、介绍

DM3730通过各种连接方式连接了各种设备,输入输出设备根据不同的类型大体可
以分为电源管理、用户输人、显示输出、图像采集、存储以及无线设备等。我们可以将DM
3730与这些设备的数据接口分为总线和单一的数据接口总线。总线的显著特点是单个总线上可以连接多个设备;单一的数据接口只连接单一类型的设备,用户显示LCD输出的DSI接口)。各种不同类型的数据连接接口其设计思想以及功能是不同的,例如IIC通常用于设备的控制,McBSP用于音频数据的传输等。需要注意的是同一总线可以连接不同类型的设备,比如MMC可以连接SD卡也可以连接WIFI设备。这些接口都是长期发展的行业标准,是需要软件适应并满足的需求。驱动的开发人员必须了解对应的总线以及接口知识,相关知识理解越深刻,解决问题就越游刃有余。

二、linux为什么有众多的总线

这和数据传输的需求、数据的特性及复杂程度相关。比如数字信号通常依靠clock信号同步,那么相应的带宽就是Fclock×bits,bits为并行传输的位数,总线设计的时钟频率范围不同、位数不同相应的带宽就不同。而频率和位数不能随意提高,高速信号会产生电磁效应影响其他信号的完整性,另外从需求的角度来讲,不是所有类型的数据都需要高速传输,比如控制数据可以通过IIC传输,这种低时钟扩展性较好
的总线,能够方便的进行硬件设计并通过其连接各种各样的传感器,丰富我们的实际生活。
在高速数据总线设计方面,信号频率越来越高,并行信号在高主频时会有先天的劣势,很难
保证信号完整性,而差分信号则可以避免相应的问题。

现如今视频输人输出、高速硬盘、PCI
甚至连外部memory都逐渐转向差分信号的传输方式,伴随而来的问题就是对相关接口的调试
会复杂一些,需要理解协议。另外信号的分析需要专门的设备,这和调试并行信号只需要示波
器比起来就显得复杂得多了。总之对接口来讲,最需要了解数据是如何组织传输的。

三、从设备看内核应该满足的需求

对硬件有了基本的了解,就可以从硬件出发考虑内核应该满足的需求了。
硬件的类型是多种多样的,连接的接口也是变化多样的,作为内核的一个最基本的要求
就是能够访问并操作这些设备,这就需要大量的设备驱动支持。同时也要支持各种不同的数
据连接接口。内核也需要支持各种总线,并且要支持各种类型的设备,由于总线要符合一定
的协议并连接多个设备,所以通常分为总线控制的主设备以及连接进行总线响应的从设备:
内核会应用到各种设备,所以需要同时为各种总线的主设备以及从设备提供支持。当然电源
管理的需求会涉及以上各种设备、总线和接口。另外内核不能只是支持特定的处理器,需要
支持各种类型的处理器,学术一点的说法就是要支持各种体系结构。
还有一点比较重要的思路就是,大型的系统会涉及很多人共同开发,这就对代码的可维
护性和重用性提出了很高的要求,针对这个需要在设计过程中内核会将各种共同的资源抽象
出来统一管理,并考虑硬件无关性形成相应的模块或者函数接口以供开发者使用。

四、linux内核的需求

·能支持不同的体系结构和处理器。
·能支持不同的总线连接以及总线设备。
·能支持不同的数据连接接口以及相应的设备。
·能支持各个级别的电源管理功能。
·设计时要考虑硬件无关性提高各模块的重用性。
前四项都是比较直接的需求,第五项则是考验开发人员的设计能力,也是内核的各个模
块的设计重点以及我们研究的重点

参考:

DM3730双核开发详解:ARM与DSP通信-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【优选算法】DC-Quicksort-Mysteries:分治-快排的算法之迷

文章目录 1.概念解析2.颜色分类3.排序数组4.数组中的第k个最大元素5.库存管理Ⅲ希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力! 本篇是优选算法之分治-快排,快排可以在更短的时间内完成相同规模数据的排序任务,大大提升了…

浅谈云计算09 | 服务器虚拟化

服务器虚拟化基础 一、虚拟化的定义二、系统虚拟化三、服务器虚拟化的核心要义四、典型实现:探索不同路径五、全虚拟化与半虚拟化六、主流服务器虚拟化技术 一、虚拟化的定义 虚拟化是一种将物理资源抽象为逻辑资源的技术,通过在物理硬件与操作系统、应…

解析OVN架构及其在OpenStack中的集成

引言 随着云计算技术的发展,虚拟化网络成为云平台不可或缺的一部分。为了更好地管理和控制虚拟网络,Open Virtual Network (OVN) 应运而生。作为Open vSwitch (OVS) 的扩展,OVN 提供了对虚拟网络抽象的支持,使得大规模部署和管理…

第三十六章 Spring之假如让你来写MVC——拦截器篇

Spring源码阅读目录 第一部分——IOC篇 第一章 Spring之最熟悉的陌生人——IOC 第二章 Spring之假如让你来写IOC容器——加载资源篇 第三章 Spring之假如让你来写IOC容器——解析配置文件篇 第四章 Spring之假如让你来写IOC容器——XML配置文件篇 第五章 Spring之假如让你来写…

CSS 盒模型

盒模型 CSS盒模型是网页布局的核心概念之一,它描述了网页元素的物理结构和元素内容与周围元素之间的关系。根据W3C规范,每个HTML元素都被视为一个矩形盒子,这个盒子由以下四个部分组成: 内容区(Content area&#xff…

JVM:ZGC详解(染色指针,内存管理,算法流程,分代ZGC)

1,ZGC(JDK21之前) ZGC 的核心是一个并发垃圾收集器,所有繁重的工作都在Java 线程继续执行的同时完成。这极大地降低了垃圾收集对应用程序响应时间的影响。 ZGC为了支持太字节(TB)级内存,设计了基…

OpenCV基于均值漂移算法(pyrMeanShiftFiltering)的水彩画特效

1、均值漂移算法原理 pyrMeanShiftFiltering算法结合了均值迁移(Mean Shift)算法和图像金字塔(Image Pyramid)的概念,用于图像分割和平滑处理。以下是该算法的详细原理: 1.1 、均值迁移(Mean …

【数学】概率论与数理统计(五)

文章目录 [toc] 二维随机向量及其分布随机向量离散型随机向量的概率分布律性质示例问题解答 连续型随机向量的概率密度函数随机向量的分布函数性质连续型随机向量均匀分布 边缘分布边缘概率分布律边缘概率密度函数二维正态分布示例问题解答 边缘分布函数 二维随机向量及其分布 …

四 BH1750 光感驱动调试2

之前调通了用户态接口,android 使用还是不方便,要包装jni使用。 这里集成了内核 iio 驱动 ,提供 sys-fs 文件接口 可供固件以及 ANDROID 应用层使用 一 驱动集成 : 1.1 dts 修改 修改文件 : kernel/arch/arm64/boot/dts/rockchip/rp-rk3568.dts 在 i2c5 增加设备,如…

Redis持久化双雄

Redis持久化 Redis 的持久化是指将内存中的数据保存到硬盘,以防止服务器宕机导致数据丢失的机制。 redis 提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)。 RDB,简…

工业视觉2-相机选型

工业视觉2-相机选型 一、按芯片类型二、按传感器结构特征三、按扫描方式四、按分辨率大小五、按输出信号六、按输出色彩接口类型 这张图片对工业相机的分类方式进行了总结,具体如下: 一、按芯片类型 CCD相机:采用电荷耦合器件(CC…

数字证书管理服务

阿里云数字证书管理服务(Aliyun Certificate Management Service, ACM)是一种云端服务,专门用于帮助企业管理和颁发数字证书。数字证书是网络安全中的重要组成部分,它可以确保通信的安全性、身份认证以及数据的完整性。通过阿里云…

《跟我学Spring Boot开发》系列文章索引❤(2025.01.09更新)

章节文章名备注第1节Spring Boot(1)基于Eclipse搭建Spring Boot开发环境环境搭建第2节Spring Boot(2)解决Maven下载依赖缓慢的问题给火车头提提速第3节Spring Boot(3)教你手工搭建Spring Boot项目纯手工玩法…

Zookeeper概览

个人博客地址:Zookeeper概览 | 一张假钞的真实世界 设计目标 简单的:方便使用以实现复杂的业务应用。复制式的:跟Zookeeper协调的分布式进程一样,它也是在一组服务器上复制的。集群的每个节点间互相知道。它们维护一个状态数据在…

播放音频文件同步音频文本

播放音频同步音频文本 对应单个文本高亮显示 使用audio音频文件对应音频文本资源 音频文本内容(Json) [{"end": 4875,"index": 0,"speaker": 0,"start": 30,"text": "70号二啊,","tex…

React中ElementFiber对象、WorkInProgress双缓存、ReconcileRenderCommit、第一次挂载过程详解

基础概念 Element对象与Fiber对象 Element对象与Fiber对象 Element 对象 定义 React 的 Element 对象是一个描述用户界面(UI)的普通 JavaScript 对象,通常由 React.createElement 或 JSX 语法生成。 作用 它是 React 应用中的一种描述 …

【airtest】自动化入门教程Poco元素定位

1. 前言 本文将详细讲解Poco控件定位的各种方式,利用这些方法可以帮助我们编写出目标控件的定位脚本。我们在IDE录制的poco脚本,常见的都是类似 poco(“star_single”).click()这样的脚本,其中 poco(“star_single”) 这块就属于Poco控件定位…

2025年01月13日Github流行趋势

1. 项目名称:Jobs_Applier_AI_Agent 项目地址url:https://github.com/feder-cr/Jobs_Applier_AI_Agent项目语言:Python历史star数:25929今日star数:401项目维护者:surapuramakhil, feder-cr, cjbbb, sarob…

[免费]SpringBoot+Vue新能源汽车充电桩管理系统【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的SpringBootVue新能源汽车充电桩管理系统,分享下哈。 项目视频演示 【免费】SpringBootVue新能源汽车充电桩管理系统 Java毕业设计_哔哩哔哩_bilibili 项目介绍 随着信息化时代的到来&#xff0…

【C++】字符串中的 insert 方法深层分析

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯一、基础知识:insert 方法概述功能描述函数原原型基本规则 💯二、例子解析例子 1:插入一个 std::string分析 例子 2:插入一个…