RK3168&RK3028_ANDROID4.2.2-SDK_V1.00发布说明

RK3168&RK3028_ANDROID4.2.2-SDK_V1.00发布说明
RK3168&RK3028_ANDROID4.2.2-SDK_V1.00发布说明

RK3168&RK3028_ANDROID4.2.2‐SDK_V1.00_20130325

发布说明

文件状态:

[ ] 草稿

[√] 正式发布

[ ] 正在修改 文件标识: RK3168&RK3028_ANDROID4.2.2‐SDK_V1.00 当前版本: 1.00

作 者: cw

完成日期: 2013‐03‐25

历 史 版 本

版本 日 期 描 述 作 者 审核 V1.0 2013‐03‐25 建立文档 cw

目录

1. 概述 (5)

2. 主要支持功能 (5)

2.1. 功能项说明与配置 (5)

2.1.1. LCDC (5)

2.1.2. 背光亮度控制 (5)

2.1.3. 电池 (6)

2.1.4. 充电动画 (6)

2.1.5. NAND FLASH以及DDR支持列表 (6)

2.1.6. Benchmark (6)

2.1.7. 工具说明 (6)

2.1.8. Camera (7)

2.1.9. PMIC (7)

2.1.10. 内核板极配置 (7)

2.1.11. 蓝牙配置 (7)

2.1.12. 音量加减图标 (8)

2.1.13. Flash合并分区(MTP) (8)

2.1.14. 关机动画与铃声 (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步骤 (16)

5.3. 烧写说明 (17)

6. 固件定制化说明 (18)

7. 补充说明 (19)

1.概述

本版本是配合RK3168和 RK3028平台发布的android4.2.2 的SDK 代码。适用于RK3168、RK3028开发板以及基于其上所有开发产品。由于两款芯片共用一套代码,因此文中关于内核配置,文档引用等选项均以RK3168命名,同时支持RK3028。

环境编译事宜请参见《Android_ICS 编译环境搭建说明.pdf》

2.主要支持功能

参数 模块名

数据通信 Wifi、USB以太网卡、3G Dongle、USB、SDCARD

应用程序 图库、apk安装、谷歌市场、浏览器、计算器、日历、摄像、闹钟、下载、电子邮件、资源管理器、Gmail、谷歌地图、音乐、

录音、设置、视频播放器、GTalk、MovieStudio、CTS

2.1.功能项说明与配置

2.1.1.LCDC

关于lcd的开发与配置,请参考文档《RockChip LCD 开发文档V1.3.pdf》

2.1.2.背光亮度控制

背光的亮度对整机的电流影响较大,产品上要对该值进行合理的设置。背光的默认调整范围是[0,255],可以通过修改board‐xxx.c文件中max_brightness和min_brightness来控制最大最小调整范围,调整的原则是最小亮度保证LCD可见,最大亮度时整机电流不超过限制的最大电流。

static struct rk29_bl_info rk29_bl_info = {

.pwm_id = PWM_ID,

.min_brightness=20, //背光最低值控制

.max_brightness=255, //背光最高值控制

.brightness_mode =BRIGHTNESS_MODE_CONIC,

.bl_ref = PWM_EFFECT_VALUE,

.io_init = rk29_backlight_io_init,

.io_deinit = rk29_backlight_io_deinit,

.pwm_suspend = rk29_backlight_pwm_suspend,

.pwm_resume = rk29_backlight_pwm_resume,

};

2.1.

3.电池

不同产品的电池规格、特性不尽相同,需要针对性的进行电池充放电实验获取电池曲线数值。SDK提供了电池检测APK自动获取充放电数值,具体操作可参考文档《ADC电池测试工具》。产品开发中请务必重视该项实验,否则将导致不良用户体验。

2.1.4.充电动画

SDK配置文件arch/arm/configs/rk3168_86v_defconfig默认有打开充电动画功能,可以通过内核配置CONFIG_POWER_ON_CHARGER_DISPLAY=y打开和关闭该功能。

2.1.5.NAND FLASH以及DDR支持列表

●NAND FLASH支持列表

请参考《RKNandFlashSupportList Ver2.60_2013_2_21.pdf》

●DDR支持列表

请参考《RK DDR SupportList Ver2.01.pdf》

2.1.6.Benchmark

●GPU

请参考《RK3168 GPU Benchmark Performance v1.2.pdf》

●音视频

请参考《RK3168 Multimedia Codec Benchmark.pdf》

2.1.7.工具说明

与SDK同步发布的产测工具包括:烧写工具、量产工具、固件工厂工具、PCBA 测试工具,整机测试APK等。详情请阅读文档,其中工具位于工程根目录/RKTools 文件夹下,文档位于根目录/RKDocs。下文为简单说明部分注意事项。

●固件工厂工具

请参考《固件工厂工具_Package_V3.4发布说明.pdf》

●PCBA测试工具

请参考《RockChip PCBA Test TRM.pdf》

●整机测试APK

用于测试整机功能的apk

●DDR测试工具

后续将会单独发布

2.1.8.Camera

Camera插值是指当摄像头分辨率较低时通过软件修改提高到较高分辨率,

目前SDK已经支持将30万像素的GC0308插值到100万、200万、300万像素,

通过内核配置即可:

Device Drivers ‐>Multimedia support ‐>Video capture adapters ‐>

其他型号的Camera如果想做插值处理,可以参考《Camera_Sensor_RockChip

参考说明_v3.0.1.pdf》第17节Camera插值说明做修改。

2.1.9.PMIC

目前SDK配置可以自动识别三款PMU,分别是WM8326、TPS65910、ACT8846,使用TPS65910请注意,ARM和LOGIC必须由PMIC供电,DDR由外部DCDC供电。

2.1.10.内核板极配置

SDK支持两个版本的硬件,默认配置如下:

●RK3168+RK610 : make rk3168_86v_defconfig

●RK3168+CODEC: make rk3168_86v_codec_defconfig

2.1.11.蓝牙配置

通过修改工程更目录下的buildspec.mk的BOARD_HAVE_BLUETOOTH := true/false来开启或关闭蓝牙相关功能

2.1.12.音量加减图标

部分产品硬件没有设计实体音量键,SDK支持在状态栏上显示音量调整图标。修改方法如下:

将device/rockchip/rk30sdk/device.mk中ro.rk.systembar.voiceicon属性改为true,后重新编译即可。如下图所示。

也可以通过固件工厂直接修改build.prop中该属性值为true。

2.1.1

3.Flash合并分区(MTP)

SDK默认使用flash大容量存储模式。部分客户有将flash分区与data分区合并的需求,即只支持MTP模式,可采用如下方式配置:

将device/rockchip/rk30sdk/BoardConfig.mk中BUILD_WITH_NOFLASH修改为true,并重新编译。如下图所示。

2.1.14.关机动画与铃声

SDK支持关机动画,动画包制作与开机动画包一样,命名为shutdownanimation.zip,放置到system/media下即可。

SDK支持开关机铃声,分别命名为boot.ogg,shutdown.ogg放到system/media/audio目录下即可。如需修改铃声音频格式,可修改源码中对应的宏或文件名。

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.360docs.net/doc/a16205813.html,:rk3168/mid/4.2.2_r1

为了减少下载代码花费的时间,第一版发布将clone好的git工程打包。 打包后的git工程

rk3168_sdk_jb_mr1.tar.bz2

下载压缩包,按照如下操作可以检出最新代码:

mkdir rk3168_4.2.2_r1

tar jxvf rk3168_sdk_jb_mr1.tar.bz2 –C rk3168_4.2.2_r1

cd rk3168_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.360docs.net/doc/a16205813.html,.

GNU Make 3.81 -- 3.82, which you can download from https://www.360docs.net/doc/a16205813.html,,

JDK 6 if you wish to build Gingerbread or newer; JDK 5 for Froyo or older. You can download both

from https://www.360docs.net/doc/a16205813.html, .

Git 1.7 or newer. You can find it at https://www.360docs.net/doc/a16205813.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.360docs.net/doc/a16205813.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.360docs.net/doc/a16205813.html,/ubuntu hardy main

multiverse"

$ sudo add-apt-repository "deb https://www.360docs.net/doc/a16205813.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.360docs.net/doc/a16205813.html,/index.html

备注:

1.java6 的源,需要更改为:

sudo add-apt-repository "deb https://www.360docs.net/doc/a16205813.html,/ubuntu/ hardy multiverse"

5.2.编译步骤

在源码目录下包含 kernel,在编译 android 前,需要先编译 kernel

5.2.1.编译 kernel 步骤

A. 执行cd kernel

B. 执行 make rk3168_86v_defconfig

(备注:该配置的board文件在arch/arm/mach‐rk30目录下)

C. 执行 make kernel.img即可生成 kernel.img

5.2.2.编译android步骤

A. 执行 make

B. 执行./mkimage.sh

即可在 rockdev/Image 目录下生成以下 4 个 img

system.img boot.img recovery.img misc.img

5.3.烧写说明

RK3168开发板使用手册v1.0.pdf

6.固件定制化说明

7.补充说明

相关主题
相关文档
最新文档