RK3188_ANDROID4.2.2-SDK_V1.00_20130425
发布说明
文件状态:
[ ] 草稿[√] 正式发布[ ] 正在修改文件标识:RK3188_ANDROID4.2.2-SDK_V1.00 当前版本: 1. 0
作者:xkd
完成日期:2013-04-25
历史版本
版本日期描述作者审核V1.0 2013-04-25 建立文档xkd
目录
1.概述 (5)
2.主要支持功能 (5)
2.1.功能项说明与配置 (5)
2.1.1.LCD开发配置 (5)
2.1.2.电池 (5)
2.1.3.充电动画 (6)
2.1.4.NAND FLASH以及DDR支持列表 (6)
2.1.5.工具说明 (6)
2.1.6.Camera (6)
2.1.7.PMIC (6)
2.1.8.内核板极配置 (6)
2.1.9.蓝牙及WIFI配置 (7)
2.1.10.音量加减图标 (7)
2.1.11.Flash合并分区(MTP) (7)
2.1.12.关机动画与铃声 (7)
2.1.13.PCBA量产工具 (8)
3.SSH公钥操作说明 (9)
3.1.SSH公钥生成 (9)
3.2.使用key-chain管理密钥 (9)
3.3.多台机器使用相同ssh公钥 (10)
3.4.一台机器切换不同ssh公钥 (11)
3.5.密钥权限管理 (12)
4.GIT同步操作说明 (13)
4.1.git 权限申请说明 (13)
4.2.git clone操作说明 (13)
4.3.git同步操作说明 (13)
4.4.git同步失败处理 (13)
5.编译说明 (14)
5.1.编译环境搭建 (14)
5.2.编译步骤 (16)
5.2.1.编译kernel 步骤 (16)
5.2.2.编译android步骤 (17)
5.3.烧写说明 (18)
1.概述
本版本是配合RK3188平台发布的android4.2.2 的SDK 代码。适用于
RK3188开发板以及基于其上所有开发产品。
环境编译事宜请参见第5章节编译说明。
本文档提及的文档和工具,工具位于工程根目录/RKTools文件夹下,文档位于根目录/RKDocs。工具的使用说明都在工具相应目录里。
2.主要支持功能
参数模块名
数据通信Wifi、USB以太网卡、3G Dongle、USB、SDCARD
应用程序图库、apk安装、谷歌市场、浏览器、计算器、日历、摄像、闹钟、下载、电子邮件、资源管理器、Gmail、谷歌地图、音乐、
录音、设置、视频播放器、GTalk、MovieStudio、CTS
2.1.功能项说明与配置
2.1.1.LCD开发配置
关于lcd的开发与配置,请参考文档《RockChip LCD 开发文档V1.3.pdf》。
使用RK610,请参考《RK610配置_v1.2.pdf》
使用LVDS接口,请参考《LVDS应用详细说明_V1.0.pdf》
2.1.2.电池
3188的SDK有电量计驱动范例,并且支持ADC电池采样。
ADC电池驱动需要注意:不同产品的电池规格、特性不尽相同,需要针对性的进行电池充放电实验获取电池曲线数值。SDK提供了电池检测APK自动获取充放电数值,具体操作可参考文档《ADC电池测试工具》。产品开发中请务必重视该项实验,否则将导致不良用户体验。
2.1.
3.充电动画
SDK配置文件arch/arm/configs/rk3188_ds1006h_defconfig默认有打开充电动画功能,可以通过内核配置CONFIG_POWER_ON_CHARGER_DISPLAY=y打开和关闭该功能。
2.1.4.NAND FLASH以及DDR支持列表
●NAND FLASH支持列表
请参考《RKNandFlashSupportList Ver2.61_2013_4_15.pdf》
●DDR支持列表
请参考《RK DDR SupportList Ver2.01.pdf》
2.1.5.工具说明
与SDK同步发布的产测工具包括:烧写工具、量产工具、固件工厂工具、PCBA 测试工具,整机测试APK等。详情请阅读文档,其中工具位于工程根目录/RKTools 文件夹下,文档位于根目录/RKDocs。下文为简单说明部分注意事项。
●固件工厂工具
请参考《固件工厂工具_Package_V3.4发布说明.pdf》
●PCBA测试工具
请参考《RockChip PCBA Test TRM.pdf》
●整机测试APK
用于测试整机功能的apk
●DDR测试工具
后续将会单独发布
2.1.6.Camera
Camera配置,请参考文档《Camera_for_RockChipSDK参考说明_v4.0.pdf》。
2.1.7.PMIC
目前SDK配置默认支持ACT8846,如有使用问题,请参考文档《DS_ACT884 6_PrB_26DEC12_M.pdf》和《act8846关于RESET及休眠唤醒的注意事项.pdf》。
2.1.8.内核板极配置
SDK支持两个版本的硬件,默认配置如下:
●普通高清屏(<1920x1200):
?make rk3188_ds1006h_defconfig(ds1006h样机)
?make rk3188_tb_defconfig(SDK板)
●高清屏(>=1920x1200) :
?make rk3188_LR097_defconfig(LR097样机)
2.1.9.蓝牙及WIFI配置
通过修改工程更目录下的buildspec.mk的BOARD_HAVE_BLUETOOTH := true/false来开启或关闭蓝牙相关功能。
MT5931 & MT6622的wifi和蓝牙请参考文档《RK3066 RK292X RK31xx Android4.2 SDK MT5931 & MT6622 使用说明v1.0.pdf》
2.1.10.音量加减图标
部分产品硬件没有设计实体音量键,SDK支持在状态栏上显示音量调整图标。修改方法如下:
将device/rockchip/rk30sdk/device.mk中ro.rk.systembar.voiceicon属性改为true,后重新编译即可。如下图所示。
也可以通过固件工厂直接修改build.prop中该属性值为true。
2.1.11.Flash合并分区(MTP)
SDK默认使用flash大容量存储模式。部分客户有将flash分区与data分区合并的需求,即只支持MTP模式,可采用如下方式配置:
将device/rockchip/rk30sdk/BoardConfig.mk中BUILD_WITH_NOFLASH修改为true,并重新编译。如下图所示。
2.1.12.关机动画与铃声
SDK支持关机动画,动画包制作与开机动画包一样,命名为shutdownanimation.zip,放置到system/media下即可。
SDK支持开关机铃声,分别命名为boot.ogg,shutdown.ogg放到system/media/audio目录下即可。如需修改铃声音频格式,可修改源码中对应的宏或文件名。
2.1.1
3.PCBA量产工具
PCBA测试由代码external/rk-pcba-test生成,使用文档在该目录下的doc目录。可以参考《RockChip PCBA Test TRM.pdf》。RKTools目录下,已经配置好2中pcba update.img的生成工具,可以直接使用。
3.SSH公钥操作说明
3.1.SSH公钥生成
使用如下命令生成
ssh-keygen -t rsa -C "user@host"
请将user@host替换成您的邮箱地址。
命令运行完成会在你的目录下生成key文件
请妥善保存生成的私钥文件id_rsa和密码,并将id_rsa.pub发送邮件给SDK 发布服务器的管理员。
3.2.使用key-chain管理密钥
推荐您使用比较简易的工具keychain管理密钥,使用此方法即可不用下面
3.3/3.4的方法。
具体使用方法如下:
1. 安装keychain软件包
$sudo aptitude install keychain
2. 配置使用密钥
$vim ~/.bashrc
增加下面这行
eval `keychain --eval ~/.ssh/id_rsa`
其中,id_rsa是私钥文件名称。
以上配置以后,重新登录控制台,会提示输入密码,只需输入生成密钥时使用的密码即可,若无密码可不输入。
另外,请尽量不要使用sudo或root用户,除非您知道如何处理。
否则将导致权限以及密钥管理混乱。
3.3.多台机器使用相同ssh公钥
在不同机器使用,可以将你的ssh私钥文件id_rsa拷贝到要使用的机器的
~/.ssh/id_rsa即可。
在使用错误的私钥会出现如下提示,请注意替换成正确的私钥。
添加正确的私钥后,就可以使用git 克隆代码,如下图。
添加ssh私钥可能出现如下提示错误。
Agent admitted failture to sign using the key 在console输入如下命令即可解决。
ssh-add ~/.ssh/id_rsa
3.4.一台机器切换不同ssh公钥
可以参考ssh_config文档配置ssh。
~$ man ssh_config
通过如下命令,配置当前用户的ssh配置。
~$ cp /etc/ssh/ssh_config ~/.ssh/config
~$ vi .ssh/config
如图,将ssh使用另一个目录的文件~/.ssh1/id_rsa作为认证私钥。通过这种方法,可以切换不同的的密钥。
3.5.密钥权限管理
服务器可以实时监控某个key的下载次数、IP等信息,如果发现异常将禁用相应的key 的下载权限。
请妥善保管私钥文件。并不要二次授权与第三方使用。
4.GIT同步操作说明
4.1.git 权限申请说明
请按照前一步的生成公钥,发送邮件给SDK发布服务器的管理员。
4.2.git cl one操作说明
执行如下命令:
$ git clone git@https://www.sodocs.net/doc/7516227728.html,:rk3188/mid/4.2.2_r1
为了减少下载代码花费的时间,第一版发布将clone好的git工程打包。打包后的git工程
rk3188_4.2.2_r1_release.tar.bz2
下载压缩包,按照如下操作可以检出最新代码:
mkdir rk3188
tar jxvf rk3188_4.2.2_r1_release.tar.bz2 –C rk3188
cd rk3188/4.2.2_r1
git checkout -f
git pull origin master
4.3.git同步操作说明
$ git pull origin master
这个操作会自动做merge
4.4.git同步失败处理
同步失败,可以尝试使用如下命令合并
git merge origin
merge失败后,会有相关提示,需要手工处理后再提交
git mergetool -tool=vimdiff
手工将修改的地方合并。
5.编译说明
5.1.编译环境搭建
建议使用 ubuntu10.04 64-bit
Initializing a Build Environment
The "Getting Started" section describes how to set up your local work environment, how to use Repo
to get the Android files, and how to build the files on your machine. To build the Android source files,
you will need to use Linux or Mac OS. Building under Windows is not currently supported.
Note: The source download is approximately 6GB in size. You will need 25GB free to complete a
single build, and up to 90GB (or more) for a full set of builds.
Setting up a Linux build environment
The Android build is routinely tested in house on recent versions of Ubuntu LTS (10.04), but most
distributions should have the required build tools available. Reports of successes or failures on other
distributions are welcome.
Note: It is also possible to build Android in a virtual machine. If you are running Linux in a virtual
machine, you will need at least 16GB of RAM/swap and 30GB or more of disk space in order to build
the Android tree.
In general you will need:
Python 2.5 -- 2.7, which you can download from https://www.sodocs.net/doc/7516227728.html,.
GNU Make 3.81 -- 3.82, which you can download from https://www.sodocs.net/doc/7516227728.html,,
JDK 6 if you wish to build Gingerbread or newer; JDK 5 for Froyo or older. You can download both
from https://www.sodocs.net/doc/7516227728.html, .
Git 1.7 or newer. You can find it at https://www.sodocs.net/doc/7516227728.html, .
Detailed instructions for Ubuntu 10.04+ follow.
Installing the JDK
The Sun JDK is no longer in Ubuntu's main package repository. In order to download it, you need to
add the appropriate repository and indicate to the system which JDK should be used.
Java 6: for Gingerbread and newer
$ sudo add-apt-repository "deb https://www.sodocs.net/doc/7516227728.html,/ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
Java 5: for Froyo and older
$ sudo add-apt-repository "deb https://www.sodocs.net/doc/7516227728.html,/ubuntu hardy main
multiverse"
$ sudo add-apt-repository "deb https://www.sodocs.net/doc/7516227728.html,/ubuntu
hardy-updates main multiverse"
$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk
Installing required packages
64-bit (recommended)
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc
On Ubuntu 10.10:
$ sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
On Ubuntu 11.10:
$ sudo apt-get install libx11-dev:i386
32-bit (experimental)
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev \
libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown \ libxml2-utils xsltproc
如果有遇到编译环境问题:
请先参考下https://www.sodocs.net/doc/7516227728.html,/index.html
备注:
1.java6 的源,需要更改为:
sudo add-apt-repository "deb https://www.sodocs.net/doc/7516227728.html,/ubuntu/ hardy multiverse"
注意:
如果编译出现error 114: @deprecated tag with no explanatory comment的错误
可以通过更新JDK解决。
1.到
https://www.sodocs.net/doc/7516227728.html,/technetwork/java/javase/downloads/jdk6downloads-1902814. html下载最新版JDK 6
2.解压下载的bin文件
$./jdk-6u
3.移动到适当位置,例如/usr/lib/jvm/
4.安装可选项:(update-alternative --install
/usr/lib/jvm/jdk1.6.0_
sudo update-alternatives --install /usr/bin/java java
/usr/lib/jvm/jdk1.6.0_
sudo update-alternatives --install /usr/bin/javac javac
/usr/lib/jvm/jdk1.6.0_
sudo update-alternatives --install /usr/bin/javadoc javadoc
/usr/lib/jvm/jdk1.6.0_
5.手动选择jdk
sudo update-alternatives --config jar
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javadoc
5.2.编译步骤
在源码目录下包含 kernel,在编译 android 前,需要先编译 kernel
5.2.1.编译kernel 步骤
A. 执行cd kernel
B. 高清屏(>=1920x1200)执行 make rk3188_LR097_defconfig
(备注:该配置的board文件在arch/arm/mach-rk30目录下)
普高清屏(<1920x1200)执行 make rk3188_tb_defconfig或make
rk3188_ds1006h_defconfig
(备注:rk3188_tb_defconfig配置的board文件在arch/arm/mach-rk30目录下,rk3188_ds1006h_defconfig配置的board文件在arch/arm/mach-rk3188目录下)
C. 执行 make kernel.img即可生成 kernel.img
5.2.2.编译android步骤
A. 高清屏需要配置:vim device/rockchip/rk30sdk/BoardConfig.mk将下面两个宏改为true
BOARD_USE_LCDC_COMPOSER := true
BOARD_LCDC_COMPOSER_LANDSCAPE_ONLY := true
B. 执行 make
C. 执行./mkimage.sh
即可在 rockdev/Image 目录下生成以下 4 个 img
system.img boot.img recovery.img misc.img
5.3.烧写说明
RK3188开发板使用手册v1.0.pdf