从硬件设备看Linux

devtools/2025/1/14 21:14:14/

一、介绍

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.ppmy.cn/devtools/150507.html

相关文章

51单片机 和 STM32 在硬件操作上的差异

51单片机 和 STM32 在硬件操作上的差异 1. 时钟系统的差异 STM32 的时钟系统 STM32 的时钟系统非常复杂,支持多种时钟源(如内部晶振、外部晶振、PLL 等),并且每个外设(如 GPIO、定时器、串口等)都有独立的…

《异步编程之美》— 全栈修仙《Java 8 CompletableFuture 对比 ES6 Promise 以及Spring @Async》

哈喽,大家好!在平常开发过程中会遇到许多意想不到的坑,本篇文章就记录在开发过程中遇到一些常见的问题,看了许多博主的异步编程,我只能说一言难尽。本文详细的讲解了异步编程之美,是不可多得的好文&#xf…

单片机(MCU)-简单认识

简介: 内部集成了CPU,RAM,ROM,定时器,中断系统,通讯接口等一系列电脑的常用硬件功能。 单片机的任务是信息采集(依靠传感器),处理(依靠CPU)&…

计算机网络 笔记 数据链路层3(局域网,广域网,网桥,交换机)

局域网: LAN:在某一区域内由多台计算机互联成的计算机组,使用广播信道 特点: 覆盖范围有限:通常局限在几千米范围内,比如一栋办公楼、一个校园或一个工厂等相对较小的地理区域。 数据传输速率高:一般能达到 10Mbps…

预编译SQL

预编译SQL 预编译SQL是指在数据库应用程序中,SQL语句在执行之前已经通过某种机制(如预编译器)进行了解析、优化和准备,使得实际执行时可以直接使用优化后的执行计划,而不需要每次都重新解析和编译。这么说可能有一些抽…

可视化重塑汽车展示平台新体验

汽车展示平台利用图扑可视化技术,实现全方位、互动式车型展示,提供沉浸式用户体验,助力消费者深入了解车辆特性,优化销售沟通效率,推动汽车行业的数字化创新。

uniapp中h5使用地图

export function loadTMap(key) {return new Promise(function(resolve, reject) {window.init function() {// resolve(qq) //注意这里resolve(TMap) //注意这里}var script document.createElement("script");script.type "text/javascript";// scrip…

【每日学点鸿蒙知识】调试、网络、缓存、富文本编辑等

1、如何使用发布证书进行调试? 由于部分功能需要校验证书信息,所以需要使用调试证书和发布证书分别进行调试,但是使用发布证书后出现安装错误05/14 19:04:39: Install Failed: error: failed to install bundle.code:9568322error: signatur…