6ES7972-0BA12-0XA0
发布时间:2018-12-20 21:15:59点击率:
6ES7972-0BA12-0XA0
Android操作系统移植
有了ARM11的硬件,就可以进行Android操作系统的移植。Android基于Linux内核,Google提供的内核源代码中除了Linux部分外,有很大一部分是与虚拟处理器Qemu和模拟硬件平台Goldfish相关。所以欲将Android移植到实际的硬件平台上,需要编译出一个适合目标平台运行的系统内核。
在这里,电脑虚拟机上安装的是Ubuntu系统,用于Uboot移植和Android 内核裁剪和编译,并在Ubuntu 上安装交叉编译器arm-none-linuxgnueabi-.
2.2.1 Uboot移植
下载U-boot源码,在解压文件夹里,删除与该硬件版本无关的文件。在board目录下建立Mini6410文件夹,把smdk6400目录下的所有文件都拷贝到Mini6410目录下,并建立自己的配置文件Mini6410.h,配置MakeFile文件;修改start.S文件、添加nand.c文件和修改Mini6410.h,使其支持从NAND FLASH 启动;在Mini6410.h里,对网卡DM9000A、默认下载地址、环境变量等进行配置;修改网卡驱动。 编译Uboot生成Uboot.bin二进制文件[2]。
2.2.2 Android内核的移植
下载Android内核源码,进入解压的Kernel.git文件夹。修mon-smdk.c文件中的NAND FLASH使其为4个分区,分别为BootLoader区,内核区,文件系统区,其他区;更改MakeFile文件中目标体系结构ARCH为ARM 和交叉编译工具CROSSPILE为arm-none-linux-gnueabi-;从Android SDK模拟器提取。config配置文件;配置内核,选中与S3C6410有关的选项;从其他Linux 内核中拷贝DM9000.h 和DM9000.c文件,并将两个文件拷贝到内核代码目录中,修改相应的配置文件,配置内核支持DM9000A 网卡;编辑mach-smdk6410.c中LCD 驱动使其为7寸LCD,拷贝KConfig中相关内容和文件到新内核,并添加相应的代码,修改devs.h文件,然后对内核进行配置选择ADC和触摸屏选项。 编译内核生成zImage文件[3]。
6ES7972-0BA12-0XA0
Android文件系统的制作
下载Android源码并编译并生成out文件夹。其中root/就是root文件系统,将system/文件夹下的内容拷贝到root/system 下,这样root/文件夹就是一个基本的文件系统。将Ubuntu系统/dev下文件夹内容拷贝到root/dev下面,并通过mknod命令创建需要的device[4]。
2.3 硬件平台测试
通过SD卡烧写Uboot、内核和文件系统的镜像文件到NAND FLASH,上电重启开发板,系统能正常运行如图3所示。运用XP系统上 终端对串口进行通信测试, 终端能收发信息,图4为 终端对Mini6410开发板根目录的查询,串口RS 232可用。



