具体Sitara系列芯片应用说明见表2-5。表2-5Sitara系列芯片应用说明表2-5中AM 3894和AM 3892是从DM 816X系列芯片精简得来的;AM 3874和AM3871是从DM 814X系列芯片精简得来的;AM 3715和AM 3703是从DM 3730系列芯片精简得来的。为了适应相应的市场需求,TI于2011年推出了AM 335X系列处理器,Cortex-A8的核心最低价格低于5美元,性价比还是很高的。......
2023-11-22
由于部分Sitara芯片是从对应的无线终端芯片和视频芯片精简而来的,这里就重点介绍AM 335X系列处理器的框架。
AM 335X系列处理器框架如图2-14所示。图2-14引自《AM 335X芯片数据手册》第6页框图。
AM 335X有五种核心处理单元:
①ARM Cortex-A8:负责系统控制和外围接口驱动。Linux运行在该处理器上。
图2-14 AM 335X系列处理器框图
②PowerVR SGX:负责3D渲染的硬件加速单元。
③Display:负责处理视频的显示输出。
④Crypto:负责加密算法的加速处理单元。
⑤PRU-ICSS:可编程单元实现对引脚的管理,从而可以根据需要模拟不同的接口功能,实现类似FPGA的功能。
主要外围设备的接口如下:(www.chuimin.cn)
①EMAC:负责以太网连接,最多支持两个千兆以太网。
②USB2.0HS OTG+PHY:负责USB的连接,此接口为USB OTG接口。
③Memory Interface:负责DDR memory内存的连接,以及Flash存储器的连接。
④Peripherals:各种外设接口如UART(串口),I2C(通常负责传感器的控制),McASP(负责音频数据传输),SD和SDIO(负责SD卡或者WIFI芯片的连接)等。
⑤GP Timer:可编程的定时器,向系统提供定时功能。
除去以上还有以下模块:
①eDMA:负责数据在外设和内存或者内存不同区块之间的复制,用来降低处理器的负载以提高系统性能。
②64K Shared RAM:片内RAM,使系统在外部内存没有初始化好的情况下仍可运行。通常该段内存可用于系统初始化、系统加速等。
③L3 and L4 Interconnect:片内总线,负责在片内各个模块间建立通道。
有关深入剖析Linux内核与设备驱动的文章
具体Sitara系列芯片应用说明见表2-5。表2-5Sitara系列芯片应用说明表2-5中AM 3894和AM 3892是从DM 816X系列芯片精简得来的;AM 3874和AM3871是从DM 814X系列芯片精简得来的;AM 3715和AM 3703是从DM 3730系列芯片精简得来的。为了适应相应的市场需求,TI于2011年推出了AM 335X系列处理器,Cortex-A8的核心最低价格低于5美元,性价比还是很高的。......
2023-11-22
在电源管理方面,仍以AM 335X的实现为主进行介绍。3mW的待机功耗虽然无法和DM 3730的0.1mW相比,但是普通的便携设备也是可以接受的。在voltage domain实现方面,AM 335X实现了两个voltage domain分别是VDD_CORE和VDD_RTC。从AM 335X电源管理的设计细节可以看出技术方案还是多种多样的。......
2023-11-22
1框架总体设计从输入设备框架的需求可知,内核的整个输入流程应该分为下层的各种输入设备和上层与用户的控制信息交互两个方面。从图6-1可见,输入设备系统框架的核心部分从底到上分为input driver,input core和event handler三个部分。应用层则要根据输入设备的事件进行相应的操作,为了给应用层统一的接口,输入设备框架对于输入事件进行了规范。......
2023-11-22
也正是因为Linux内核的唯一性,各个不同发布版本拥有相同的框架。Linux内核是在整个Linux系统的最底层,它负责管理硬件,运行用户程序,并保持系统整体的安全性和完整性。可以说是Linux系统的根和灵魂。图3-1中看到Linux内核还有另一层面的含义。这对于Linux内核同样适用。所以对Linux内核的剖析、学习和研究也不能独立于系统进行,而是要综合考虑应用、内核和硬件等各方面的信息和内容。这样才能更全面、深刻地理解Linux内核。......
2023-11-22
接下来分步说明中断处理的具体实现。Linux内核irqdesc.h中有如下定义:这里可见宏NR_IRQS描述了所有中断的个数,这个数目应该是和处理器相关的。具体的级联中断的解决办法留到相应模块中进行详细说明。3中断控制器的处理接下来看看DM 3730的内核是如何实现中断控制器的管理的。图4-30引自《DM 3730芯片手册》中第2411页的框图。电源管理没有中断控制器唤醒的相关实现,由于这部分是在ARM主处理器的电源域中,并不需要这部分功能。......
2023-11-22
VFS的实现是以“一切皆是文件”为需求出发点的。要理解VFS的框架首先看一下VFS和系统的静态关系框图,如图5-1所示。从图5-1可见,VFS是用户层的直接接口,是面向用户的服务。图5-1VFS和系统静态关系图在图5-2中每个节点被使用时都会在VFS层中创建dentry,这样可以快速通过文件名进行查找和定位,Linux内核中对dentry的管理组织形式如图5-3所示。以上是系统运行时VFS对文件名的组织管理,这是VFS管理的一个方面。......
2023-11-22
SPI总线框架对这两类设备进行管理,具体的框架如图7-6所示。通常的SPI驱动都是在内核实现并在内核态执行的,所以就不对spidev进行详细的分析。SPI总线框架整体的功能就是这样,接下来看看具体各部分的实现。在SPI总线框架中相应的实体是spi_board_info,内容如下:其中的主要信息是与总线信号相关的属性。......
2023-11-22
整体的frame buffer框架如图6-5所示。了解frame buffer的框架还要先从为用户提供的接口开始。图6-7可变参数中硬件信息的含义固定信息是在frame buffer的操作过程中并不发生变化的。从整体分析,frame buffer的框架很直接,主要就是直接管理实际的设备,而相关的操作与应用层直接相关。......
2023-11-22
相关推荐