Android深度探索--HAL与驱动开发第五章读后感

时间:2021-06-02 16:35:31

开发板是开发和学习嵌入式技术的主要硬件,从技术上说,与我们常用的手机类似,也包含显示器、键盘、Wi-Fi、蓝牙等模块,目前市面上的开发板型号和种类很多,但目前最流行的是基于三星S3C6410 ARM11架构的开发板。S3C6410 ARM11是由三星公司推出的一款低功耗、高性价比的RISC(reduced instruction sct computer,精简指令集计算机)处理器,它基于ARM11内核,可广泛应用于移动电话和通用处理等领域。

S3C6410是一个16/32位RISC微处理器,旨在提供一个具有成本效益、功耗低,性能高的应用处理器解决方案,像移动电话和一般的应用。它为2.5G 和 3G通信服务提供优化的H /W性能, S3C6410采用了64/32位内部总线架构。该64/32位内部总线结构由AXI、AHB和APB总线组成。它还包括许多强大的硬件加速器,像视频处理,音频处理,二维图形,显示操作和缩放。一个集成的多格式编解码器( MFC )支持MPEG4/H.263/H.264编码、码以及VC1的解码。这个H/W编码器/解码器支持实时视频会议和NTSC、PAL模式的TV输出。 S3C6410有一个优化的接口连线到外部存储器。存储器系统具有双重外部存储器端口、 DRAM和FLASH /ROM/ DRAM端口。 DRAM的端口可以配置为支持移动DDR,DDR,移动SDRAM和SDRAM 。FLASH/ROM/DRAM端口支持NOR-FLASH,NAND-FLASH,ONENAND,CF,ROM类型外部存储器和移动DDR,DDR,移动SDRAM和SDRAM 。 为减少系统总成本和提高整体功能,S3C6410包括许多硬件外设,如一个相机接口,TFT 24位真彩色液晶显示控制器,系统管理器(电源管理等),4通道UART,32通道DMA,4通道定时器,通用的I端口,IIS总线接口,IIC总线接口,USB主设备,在高速(480 MB/S)时USB OTG操作,SD主设备和高速多媒体卡接口、用于产生时钟的PLL。

第五章初步了解了如何搭建s3c6410开发板的测试环境:

一、搭建编译环境

所需要的交叉编译工具链:S3C6410X Tool Chain 4.2.2 - EABI V0.0 - cross-4.2.2-eabi.tar

1.解压上述工具链获得文件夹:4.2.2-eabi/  

2.在/usr/local/下面创建目录

arm/ (注意,最好是放到这个目录,不然在以后的编译过程中可能出现一些错误)  

3.将目录4.2.2-eabi/移动到/usr/local/arm/下面

4.设置环境变量:

编辑/etc/profile文件,在文件末尾添加:PATH="$PATH:/usr/local/arm/4.2.2-eabi/usr/bin"

export PATH                                           

使环境变量生效:在终端输入命令: source /etc/profile

测试环境变量是否设置成功:在终端输入:echo $PATH

如果输出的路径中包含了/usr/local/arm/4.2.2-eabi/usr/bin则说明环境变量设置成功

5.测试交叉编译工具链

在终端输入:arm-linux-gcc –v

二、搭建文件系统镜像制作环境

1.创建根文件系统目录

rootfs及其子目录bin,sbin,boot,root,sys,srv,proc,usr等

2.编译busybox1.7.0:(所需要的源码包:busybox-1.7.0.tar.bz2)  

2.1解压源码包,进入源码目录;

2.2配置busybox:在源码目录执行make menuconfig, 如果使用默认配置则直接退出、保存,如果需要配置自己的则更改相应的选项再保存退出。

2.3修改源码目录的Makefile

2.4正式编译busybox:在源码目录执行make编译

2.5安装busybox:执行命令make CONFIG_PREFIX=/***/rootfs(根文件系统目录) install

3.拷贝glibc库相关文件到根文件系统

4.创建配置文件

5.创建设备文件

6.测试已经制作好的根文件系统