Android 2.3.1 移植 unicore32(一)

来源:互联网 发布:材料科学与工程 知乎 编辑:程序博客网 时间:2024/05/13 03:24

确定了我们sep0611的基线版本之后,接下来就是在北大小本上移植android 2.3.1

移植过程可以划分为几个阶段:

·编译系统:涉及目录 build/core ,device,prebuilt

 

·c库:bionic

 

·dalvik:去掉jit,默认使用解释器

 

·其他:external、system、framework

 

 

第一步 编译系统

 

步骤:

1.      Device

新建一个公司相关目录:mkdir seuic

新建一个产品目录:mkdir sep0611 @device/seuic/

产品相关的编译配置文件:

Android.mk:总编译文件        

BoardConfig.mk:板级产品编译配置文件 

device.mk       

setup-makefiles.sh

AndroidProducts.mk:包含full_sep0611.mk

CleanSpec.mk   

full_sep0611.mk: 设备级产品配置文件

vendorsetup.sh: lunch 配置脚本

2.      build/core

编译系统:

1)  build/core/combo/archmkdirunicore32

新建一个sep0611.mk声明处理器架构相关配置

例如: 

2)  新建一个TARGET_linux-unicore32.mk@build/core/combo

这个文件主要申明了编译器目录,编译选项,头文件等

3)  修改dynamic_binary.mk@build/core

不使用prelinkstrip(暂时没做好)

 

4)  修改android2.3.1/build/core//executable.mk文件

声明编译静态可执行文件所需要的启动相关的lib库目录

 

主要由以下几个启动相关调用库:

 

 

 

 

 

 


crtbegin_com.o crtbegin_executable.o crtend_com.o  crtend_executable.o

我们主要实现了两个:crtend_com.o crtend_executable.o

5)  修改build/core//shared_library.mk:与启动库相关

53  

 

6)在prebuilt下添加我们编译器unicore-linux-xxx

原创粉丝点击