首页 理论教育 《嵌入式Linux板级支持包与设备驱动程序实战指南》

《嵌入式Linux板级支持包与设备驱动程序实战指南》

时间:2023-10-21 理论教育 版权反馈
【摘要】:对硬件平台这三部分实现支持的相关代码就是针对该硬件平台的Linux板级支持包。其中对处理器的支持是与Linux内核移植以及外围设备驱动开发相关的;对外围设备的支持就是开发嵌入式Linux设备驱动程序;而对存储设备的支持,除了与MTD设备驱动开发相关以外,还在很大程序上决定了Boot Loader的选择和目标系统的内核、根文件系统的存储方式。

《嵌入式Linux板级支持包与设备驱动程序实战指南》

嵌入式开发中,通常可以将硬件平台分为三大部分:

● 处理器

● 存储设备

外围设备

随着嵌入式技术的发展和半导体封装技术的飞速发展,Silicon Vendor趋向于把更多的外设总线控制器、接口,甚至设备本身集成到嵌入式处理器当中来。现在,业界主流的嵌入式处理器已经不仅仅是一个单纯的中央处理器,通常还包括了内部总线、内部设备、外设总线及其控制器。所以,业界也经常将嵌入式处理器称为嵌入式应用处理器,即APU(application processor unit)。例如,Intel公司的嵌入式处理器PXA270,该嵌入式处理器就包含了以下组件:

1)XSCALE microarchitecture处理器内核

2)LCD controller(其frame buffer在SDRAM中开辟)

3)DMA controller(支持四个DMA channel)

4)memory controller(支持SDRAM,SRAM,Flash)

5)quick capture interface

6)JTAG debug port

7)PCMCIA/CF controller

8)SD/MMC controller(支持4bit SDIO)

9)USB HOST controller

10)USB client controller

11)FFUART(full function unit of asynchronism receiver and transmitor)

12)BTUART(高速的,波特率可以高达10mbit/s,可以用于和高速的蓝牙模块连接)(www.xing528.com)

13)STUART(低速的,一般用于连接一个红外线装置)

14)SSP总线(包括总线控制器)

15)AC97/I2S总线(包括总线控制器)

16)I2C总线(包括总线控制器)

17)Interrupt controller

18)GPIO

19)PWM

嵌入式处理器一般包含了以下几大部分:

1)处理器内核

2)内部总线及其控制器

3)内部设备

4)外设总线及其控制器

其中,处理器内核为操作系统、驱动程序以及应用程序提供了执行平台;内部总线将处理器与内部设备、存储设备、外设总线及控制器等连接在一起;集成的内部设备,如graphic accelerator、hardware video decoder、quick capture interface等,实现了系统对某种应用的特殊加速能力。如果要让嵌入式系统实现诸如显示、音频回放、用户输入、扩展插卡等系统扩展能力,还需要连接各种各样的外围设备。

形态各异的外设,例如LCD、SD卡、键盘、触摸屏等极大地延伸了嵌入式终端的功能。外设与嵌入式处理器之间的连接方式通常有两大类:一类是通过外设总线连接;另一类是直接将外设连接到嵌入式处理器的I/O口(通常针对一些简单的外设,例如LED等)。其中,外设总线是多种多样的,例如UART、SSP、I2C等。

不同的嵌入式处理器,存储设备以及不同的外围设备一起构建了功能各异的嵌入式硬件平台。对硬件平台这三部分实现支持的相关代码就是针对该硬件平台的Linux板级支持包。其中对处理器的支持是与Linux内核移植以及外围设备驱动开发相关的;对外围设备的支持就是开发嵌入式Linux设备驱动程序;而对存储设备的支持,除了与MTD设备驱动开发相关以外,还在很大程序上决定了Boot Loader的选择和目标系统的内核、根文件系统的存储方式。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈