2022年android技术报告 .pdf
《2022年android技术报告 .pdf》由会员分享,可在线阅读,更多相关《2022年android技术报告 .pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、D09M02嵌入式彭辉一、前言Android 是 Google 开发的基于Linux 平台的开源手机操作系统。它包括操作系统、用户界面和应用程序移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Google 与开放手机联盟合作开发了 Android,这个联盟由包括最中国移动、摩托罗拉、高通、宏达电和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。Google 通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。可以看出android是一个具有相当
2、潜力的操作系统,因此在关于android 移植上面花了近40 天的时间 ,从一无所知到基本熟练,我认为是值得的。下面就移植的过程和移植过程中遇到的问题作一一详细的记录。二、硬件,软件平台1. 研发硬件配置freescale3780开发板, linux Pc机,串口线, 512M Sd卡, USB 电源线。2. 研发语言及编译器研发语言java ,C,汇编。编译器 arm-none-linux-gnueabi交叉编译工具3. 软件支持工具开发板自带软件LTIB,android SDK。4. 第三方工具串口通信软件minicom ,Meld 差异查看器 , 内核裁剪工具menuconfig 及底层
3、支持工具,diff工具等。三、基本流程1. 得到 android基于 linux的内核2. 得到 android文件系统3. 烧入板中测试并反复修改4. 触摸屏, USB等驱动移植5. 校准触摸屏,对应按键6. 程序测试四、制作android内核用的工具包有linux2.27标准内核源码(linux-2.6.27),android 2.27内( common ), 开发板 patch 过的linux2.28内核 (linux-2.6.28).这里说明一下,因为没有目前 android 2.28的内核,所以只能退而求其次用2.27 的内核,因为linux2.27与 linux2.28标准内核相差
4、不是很大,故也能完成任务。以下是步骤:1. 比较 android 2.27内核与标准内核的差异并得到patch 文件 (linux-2.6.27与 common,linux-2.6.28放在同一目录下面) # diff -Nuar -x .git linux-2.6.27 common android-2.6.27.patch 2. 将补丁打到开发板 patch 过的 linux2.28内核上#cp android-2.6.27.patch linux-2.6.28 #cd linux-2.6.28 #patch -p1 android-2.6.27 在打补丁的过程会出现10 几个错误,需要手
5、动合并,这里不一一讲述。3. 配置编译内核make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm menuconfig进行内核配置,确保以下几项得到配置 CONFIG_ARM_THUMB=y CONFIG_AEABI=y CONFIG_BINDER=y CONFIG_ANDROID_LOG=y CONFIG_ANDROID_POWER=y CONFIG_ANDROID_POWER_STAT=y 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -
6、 第 1 页,共 5 页 - - - - - - - - - export PATH=$PATH:/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin (我的交叉编译工具的路径) 下面可以开编译了#make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm 在编译的过程也会出现若干错误,自己修改源码即可通过编译。4. 编译完成后,在linux-2.6.28/arch/arm/boot下可以找到我们需要的内核zImage 五、制作android文件系
7、统 1. 启动配置android模拟器emulator& 等待 emulator 启动 , 看到出现 Android 系统画面 , 进入菜单 ALL/Dev Tools/Development Settings 下, 将 Wait for debugger,Show running processes,Show screen updates 这三项打勾2. 回到命令输入终端, 将 busybox 工具 push 进模拟器中adb push /busybox /data 3. 进入模拟器终端,将文件系统各目录打包#adb shell $chmod 777 /data/busybox (给 bus
8、ybox 加权限,不然运行不了) $/data/busybox tar -czf system.tar.gz /system $/data/busybox tar -czf data.tar.gz /data $/data/busybox tar -czf etc.tar.gz /etc $/data/busybox tar -czf sbin.tar.gz /sbin $exit 4. 将得到的打包文件从模拟器中pull出来adb pull /system.tar.gz ./ adb pull /data.tar.gz ./ adb pull /etc.tar.gz ./ adb pull
9、/sbin.tar.gz ./ adb pull /init ./ adb pull /init.rc ./ 5. 制作根文件系统mkdir rootfs #tar -xf system.tar.gz rootfs #tar -xf data.tar.gz rootfs #tar -xf etc.tar.gz rootfs #tar -xf sbin.tar.gz rootfs #mv init rootfs #mv init.rc rootfs 6. 但是这个文件系统还需要一点修改才能正常运行在 rootfs/init.rc中,注释掉除mount tmpfs tmpfs /sqlite_st
10、mt_journals size=4m以外,所有的mount 命令。7. 这样就得到了一个基本的根文件系统rootfs 六、烧入板中所用为 1G Sd 卡1.SD 卡分区#sudo fdisk /dev/sdb (不一定是sdb,可能是sdc,sdd 等,用 fdisk -l查看 ) 进行相应的操作并保存#sudo fdisk /dev/sdb -l查看Disk /dev/sdb: 1014 MB, 1014497280 bytes 64 heads, 32 sectors/track, 967 cylinders Units = cylinders of 2048 * 512 = 10485
11、76 bytes 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - /dev/sdb1 1 16 16368 53 OnTrack DM6 Aux3 /dev/sdb2 17 967 973824 83 Linux 注意,以上两个分区均为主分区(primary),否则会出错。2. 烧入文件系统2.1 格式化第二分区#sudo mkfs.ext2 /dev/sdb2 2.2 挂载第二分区#sudo mount /dev/sdd2 /
12、mnt/mmc 2.3 拷入 roofs到第二分区#sudo cp -r /rootfs/* /mnt/mmc 3. 烧入 bootstream(相当于 bootloader + 内核配置 + 内核 ) 3.1 制作 bootstream 将得到的内核zImage 拷到 ltib中 boot_stream-1.1下(如果没有请在/opt/freescale/pkgs中找压缩包)修改命令行gedit linux_prep/cmdlines/stmp378x_dev.txt设置默认为console=ttyAM0,115200 root=/dev/mmcblk0p2 rw rootwait lcd_
13、panel=lms350 ssp1=mmc init=/init 编译 linux_prep make -C linux_prep 编译 bootstream image ./elftosb2 -z -c stmp378x_linux_sb.db -o stmp378x_linux.sb 当前目录下得到 bootsteam image stmp378x_linux.sb 3.2 将 bootstream烧入 SD卡中第一分区#dd if=/dev/zero of=mmc_boot_partition.raw bs=512 count=4 #dd if=stmp378x_linux.sb of=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年android技术报告 2022 android 技术 报告
限制150内