本文主要是开发rk3288的android(和linux)平台软件运行环境搭建描述文档。基于此文档,用户可以了解搭建开发环境目的,怎么搭建开发环境?

主要描述以下几个方面:

  1. 开发环境是什么,为什么要开发搭建?
  2. 开发环境搭建的步骤;
  3. 官方sdk下载和粗略编译和下载描述。

对于任何一个电子处理器或微处理器,要有自己的逻辑思想,就要有自己程序。要有自己的程序,就要人去编写。人编写的语言只是人能识别(看到想到)的语言,机器只能识别二进制码,如何让人编写的语言变成机器识别的语言,就要翻译,额,是编译。

同时人编写的语言是否规范,是否合法,是否符合当前处理器设备运行(如处理器是否有相应运算设备资源)这就要一个检查。这在编译中叫做预处理。

为了让代码可读性强,独立性强,就有“对象”的概念。设计者必须有天马星空的思维,编出来的分散各个模块,就需要编译器在编译之前,就要将这些代码有效的组织。

    综述。编译器就是将人的思想产生代码编程机器能识别的代码。所以就搭建对应的开发编写/编译的环境

为了rk3288的linux或者android开发,就要搭建对应的编译环境。

开发一套设备的程序,一般官方会有一套sdk。Rk3288开发android,瑞星微官方提供了开发的sdk。SDK的编译需要运行在Linux的操作系统上。

所以和其他linux之类的平台一样。为了开发linux这种基础语言,需要搭建对应linux操作系统,而众多开发者是使用的Windows系统。此时我们需要在windows系统中安装Linux的运行环境,这里搭建虚拟机,加载一个linux系统。

当前选用的linux操作系统为ubantu,下面为具体搭建步骤如下:

虚拟机和操作系统下载

这里我们使用的虚拟机是VMware Workstation 15 Player.软件下载地址如下:

(https://www.vmware.com/cn.html)。

ubuntu下载地址 http://mirrors.aliyun.com/ubuntu-releases/16.04/

如下图安装好VMware软件后即可进行ubuntu的安装了。

安装ubuntu

如上图点击右边创建虚拟机按钮。

然后添加ubuntu镜像后,点击下一步即可。

设置Linux 的用户信息后,点击下一步。

设置虚拟机的位置,选定后,点击下一步继续设置。

由于SDK所占存储比较大,这里设置磁盘容量为200G.

点击完成即可进行 Ubuntu的安装了。

SDK开发环境的搭建需要根据Linux的版本进行调整,我们使用的是Ubuntu16.04的系统进行SDK的编译的,需要安装以下软件。

安装SDK编译所需依赖包:

其他版本的系统编译时需要根据编译的LOG进行对应软件的安装(编译时出错,一般为复制时中间的空格问题)。

sudo apt-get install git gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler mtools parted libudev-dev libusb-1.0-0-dev python-linaro-image-tools linaro-image-tools libssl-dev autotools-dev libsigsegv2 m4 libdrm-dev curl sed make binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio python unzip rsync file bc wget libncurses5 libglib2.0-dev openssh-client

由于开发android需要java的环境支持,所以这里安卓5.1的编译需要安装JDK7

              sudo apt-get install openjdk-7-jdk

配置环境变量

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

SDK下载及编译

SDK下载

RK3288 Android5.1 SDK的获取有2种方式。直接向Rockchip公司的技术窗口申请SDK的授权密钥,然后使用密钥通过git来下载。或者联系Rockchip的供应商获取SDK代码的网盘下载权限,直接通过网盘下载。SDK完成编译差不多占用100GB存储空间,在分配虚拟机磁盘的时候需要注意。

SDK git下载指令如下,此种方式需要Rockchip授权的密钥。

repo init --repo-url ssh://git@www.rockchip.com.cn/repo/rk/tools/repo

-u ssh://git@www.rockchip.com.cn/repo/rk/platform/manifest -b android-5.1

-m rk3288_lollipop_release

SDK 目录结

.. (up a dir)

/home/kane/RK_Android_SDK/

|+abi/

|+art/

|+bionic/

|+bootable/

|+build/

|+cts/

|+dalvik/

|+developers/

|+development/

|+device/

|+docs/

|+external/

|+frameworks/

|+hardware/

|+kernel/

|+libcore/

|+libnativehelper/

|+ndk/

|+out/

|+packages/

|+pdk/

|+prebuilts/

|+RKDocs/

|+rkst/

|+RKTools/

|+rockdev/

|+sdk/

|+system/

|+tools/

|+u-boot/

|+vendor/

|-build.sh*

|-buildspec.mk

|-Makefile

|-manifest.xml*

`-mkimage.sh*

SDK 编译

整个SDK的编译分为3部分 uboot、kernel、 Android。

Uboot的编译

RK3288的uboot是使用的DM(Driver Model)进行设备和驱动的管理的。uboot启动的第一阶段使用的是uboot內部的最简DTB只加载基础模块,第二阶段读取内核的DTB加载相应的硬件驱动。所以uboot的config无需改动。开发者只需根据硬件资源定制好内核的设备树文件及内核配置文件即可。Uboot这里采用RK的默认配置文件即可

在终端上执行命令

cd u-boot

make rk3288_defconfig

make

完成编译后再uboot目录下产生 rk3288_loader_xxxx.bin uboot.img和 trust.img这三个文件。

Kernel的编译

kernel的编译需要根据实际的硬件信息进行设备树的编译和内核config文件的编写。以RK3288原厂的EVB样机为例,

cd kernel

make ARCH=arm rocckchip_defconfig

make ARCH=arm rk3288-evb-android-rk808-edp-avb.img -j8

这里的 rockchip_defconfig 为RK3288的默认内核配置,我们可以根据自己的实际情况进行删减和添加。

第二条指令就是以设备树文件 rk3288-evb-android-rk808-edp-avb.dts进行内核镜像的编译。

完成以上的编译后内核目录会产生 kernel.img resource.img两个镜像文件。


Android的编译

在SDK目录下执行配置环境变量的命令

Source build.sh

make -j4

安卓的编译耗时比较长,此时只需等待其编译完成即可。安卓编译的过程中可能会出现报错一般情况是缺少对应的工具此时根据错误代码安装相应的软件即可。

完成安卓的编译后执行脚本 mkimages.sh,

固件将会复制到在 rockdev/Image-rk3288目录下。


固件的下载

下载软件在官方sdk里面有。打开对应工具后,将硬件的usb otg口接到电脑上,将板子的模式设置成 loader或者maskrom模式后即可通过Android开发工具完成下载。

总结

要完成上述功能,可以搭建rk3288的开发环境。上述的编译和烧录只是粗劣描述,具体见后续核心板出来时,做具体开发时对应文档。

      我们有一个qq群,744140106.感兴趣可以撩一下。

(Android+Qt最小系统设计方案)RK3288核心板设计之软件开发环境搭建(4.0)相关推荐

  1. 瑞星微RK3288 核心板

    产品简介 G3288核心板,是深圳市葡萄雨技术有限公司推出的基于瑞芯微(ROCKCHIP)的RK3288( A17四核)芯片的产品平台. G3288开发平台采用国内优秀芯片厂商瑞芯微(ROCKCHIP ...

  2. STM32和51最小系统原理图以及PCB板图以及元件库

    写在前面 由于最近社团学习AD的时候,作业要求画一个STM32和51的最小系统板,经过一番学习,自己琢磨出了这两个作业 新手上路,大佬勿喷 更新 2021.9.11更新 实在不好意思,有许多网友找我要 ...

  3. RK3288原理图和PCB,RK3288核心板硬件设计资料汇总

    这里整合了RK3288平台的原理图,PCB,核心板开发等一系列硬件设计资料,资料比较全面,需要的自行下载. 1 RK3288核心板原理图 2 RK3288_BOX版原理图,PCB和核心板硬件设计 3  ...

  4. 龙芯LS1C300B核心板设计

    龙芯LS1C300B核心板设计 硬件设计 核心板介绍 软件设计 硬件设计 ps.本核心板属于本人的研究生毕业设计的一部分. 核心板主要参考龙芯开源的智龙开发板进行设计,设计很简单.由于龙芯的LS1C3 ...

  5. 特高压输电线路在线监测系统方案-A40i 核心板 应用解析-飞凌嵌入式

    近年来,随着电力技术的快速发展,我们生活也变得越来越便利.其中,特高压输电线路更是承载着西电东输的重责,将不同地区的发电站.变电站.负荷点连接起来,进行输送或交换. 5G新基建浪潮的兴起,特高压也被列 ...

  6. 一个dsp最小系统至少要有_DSP最小系统设计方案

    基于 TMS320F28335 的 DSP 最小系统设计 摘要 在各大院校的课程教学.实验教学.毕业设计以及电子设计竞赛中,需要应用 DSP 实验系统. 介绍了 TI 公司的 TMS320F28335 ...

  7. 解决方案 | 基于全志T507核心板设计智能加油机应用

    随着社会的发展,机动车辆日益普及,加油站数量也在随之增加.由于人力成本的提高以及顾客对便捷支付和加油效率要求的提高,传统加油站的支付及管理方式越来越不能满足市场需求,快速多变的支付功能将成为未来趋势. ...

  8. 基于ARM架构Cortex-A7 IMX6ULL 核心板设计核酸自动提取仪显控解决方案

    2020年突如起来的新冠肺炎 疫情使"核酸检测"进入了公众的视野,核酸检测从工艺上来说包括核酸提取.扩增与检测.核酸自动提取仪又名核酸自动纯化仪(Nucleic Acid Extr ...

  9. Mirco2440核心板设计思考

    S3C2440的Nand Flash控制器有一个特殊的功能,在S3C2440上电后,Nand Flash控制器会自动的把Nand Flash上的前4K数据搬移到4K内部SRAM中,系统会从起始地址是0 ...

  10. RK3288开发板,RK3288核心板,瑞芯微RK3288主板资料

    本文介绍瑞芯微RK3288的开发板和RK3288芯片技术资料,有需要的可到一牛网论坛中看看 http://bbs.16rd.com/citiao-xinpian-RK3288.html

最新文章

  1. Java多线程 - AQS详解
  2. 求a^b前n位和后n位
  3. Linux系统下提升进程优先级的办法
  4. 如果城里人拿100万买你的农村宅基地,你愿意吗?
  5. PHP+MySQL 跨服务器跨数据库数据拷贝系统
  6. python之父子进程间通信
  7. mysql导入社工库文件_社工库-数据表结构设计和数据导入
  8. Win-MASM64汇编语言-and/or指令
  9. spring boot task实现动态创建定时任务
  10. python客观题阅卷_利用Python开发智能阅卷系统
  11. MATLAB基础知识零基础到入门(第一期 基础内容)
  12. DP动态规划之背包问题(一)
  13. Linux内核中常见内存分配函数
  14. 通过wal文件查看lsn和txid,lsn和txid对应关系
  15. 一文总结Keras的loss函数和metrics函数
  16. Python中的单行、多行、中文注释
  17. Nginx域名配置详细介绍
  18. 【TRIO-Basic从入门到精通教程十六】UDP通讯测试补充
  19. spa 搜索引擎_夜场SPA搜索引擎收录排名,持久排名
  20. 如何用python求解方程组_用Python的Numpy求解线性方程组

热门文章

  1. OSC 第 130 期高手问答 — 究竟什么才是微服务?_黄勇【摘选】
  2. 001java面试笔记——【java基础篇】从团800失败面试总结的java面试题
  3. VirtualDub在处理WMV文件时显示“MISSING CODEC”怎么办
  4. _nullterminated
  5. 软件公司使用XPlanner进行敏捷项目计划和进度跟踪管理
  6. html文件用excel打开乱码,如何解决IE打开Word、Excel乱码问题
  7. 从0开始的TypeScriptの八:类
  8. Linux学习之路-基础命令、管道、软连接【3】---20171120
  9. IP数据报之首部长度解析
  10. 算法-贪心/动态规划-买卖股票的最佳时机