深度探索嵌入式操作系统:从零开始设计、架构和开发
上QQ阅读APP看书,第一时间看更新

2.3 小结

本章从我们选择的计算平台——mini2440开发板开始,描述了为什么要选择这个计算平台,这个计算平台上都有些什么芯片,我们的操作系统内核要运行起来必须要关注这个计算平台的哪些芯片和功能单元,分别简单地概述了这些必须要关注的芯片、功能单元,以便于我们的大脑中有个印象,使用到它们时,知道它们是什么、有什么功能和作用。我们了解到的芯片、功能单元如下:

1)RTC:处理自然时间的,可以用备用电池供电维持时间。

2)定时器:S3C2440A芯片内部有5个定时器,可以用于处理间隔时间,比如,一个进程要等待5ms后去访问硬件等。

3)串口:用于和其他设备通信或者传输数据,比如,连接PC输出信息,并且S3C2440A芯片内部有三个相同的串口硬件。

4)中断控制器:存在于S3C2440A芯片内部,是设备和CPU通信的重要机制,支持多达60个设备中断源,同时也支持中断优先级,哪些设备的中断要尽快发送给CPU内核进行处理,也可以屏蔽某个设备的中断信号。

5)SDRAM:即常说的内存,mini2440开发板用了两片32MBSDRAM芯片并接在一起,一共64MB,SDRAM开始的物理地址是0x30000000。操作系统内核和各个应用软件都是放在这个里面运行的。

6)Norflash:就像是掉电不会丢失数据的内存,支持在其上运行程序。mini2440开发板上有2MB的Norflash芯片,连接在S3C2440A芯片的存储控制器的Bank0上,并能通过跳线开关控制。这个芯片里烧写了一个叫superVIVI的开发板引导程序,相当于PC上的BIOS程序,它负责初始化开发板的时钟和SDRAM等其他设备,然后加载操作系统内核。

7)Nandflash:它需要专门设计的控制器来进行读写,一次读写最少是1页,1页最少是528B,512B数据加16B的校验信息,32页组成一个块。我们的开发板上这个芯片是64MB。可以用于操作系统构建文件系统,在其上存放用户数据、应用软件、操作系统等。它也支持系统引导,S3C2440A芯片自动把它的前4KB空间的数据读到一个内部4KB的SRAM中,把那个SRAM的首地址映射为0,S3C2440A芯片内部的CPU内核就从内部4KB的SRAM中开始运行了。

讲到这里,已经对我们的计算平台有了初步的印象,了解组建一个计算平台需要些什么,同时初步知道了一个操作系统内核至少要实现什么功能,以及必须要与之打交道的硬件等。