玩转Orange Pi 4G-IoT(一)搭建开发环境,避坑篇

玩转Orange Pi 4G-IoT(一)搭建开发环境,避坑篇_第1张图片

 

参考:《Orange Pi用户手册》

一 硬件装配

分别用附带的两根33pin的FPC连接主板和屏。

玩转Orange Pi 4G-IoT(一)搭建开发环境,避坑篇_第2张图片

 

 Android编译环境搭建

编译主机用的是Ubuntu 12.04, 从网盘下载源代码,如图

玩转Orange Pi 4G-IoT(一)搭建开发环境,避坑篇_第3张图片

放到Ubuntu机器的同一目录下,运行

#cat OrangePi_4G_IoT-Android6.0_V1.0.tar.gz.* > OrangePi_4G_IoT-Android6.0_V1.0.tar.gz

把这十四个压缩包合并成一个压缩包OrangePi_4G_IoT-Android6.0_V1.0.tar.gz。

解压源代码压缩包

#tar zxvf OrangePi_4G_IoT-Android6.0_V1.0.tar.gz

安装JAVA7

#sudo apt-get install openjdk-7-jdk

配置JAVA环境变量

#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

安装需要的软件包

sudo apt-get update

sudo apt-get install git-core gnupg flex bison ccache gperf libsdl1.2-dev

libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev

zlib1g-dev valgrind libc6-dev lib32ncurses5-dev x11proto-core-dev

libx11-dev lib32readline-gplv2-dev lib32z1-dev libgl1-mesa-dev gcc-4.4

g++-4.4 g++-4.4-multilib g++-multilib mingw32 tofrodos python-markdown

libxml2-utils xsltproc wine

至此,可以开始编译Android。

三 编译源码  

 

 

编译前,源代码还要打个Patch,就是“4G_屏,camera驱动以及其他修改”,如下图

玩转Orange Pi 4G-IoT(一)搭建开发环境,避坑篇_第4张图片

 

 这些内容需要覆盖到对应的源码文件。但是其中LCD屏驱动有问题,这也是最大的一个坑。 修改如网盘:

链接:https://pan.baidu.com/s/1PP8dRzqpBy8_RgagvrXdDw

提取码:jxkd

更新Patch后,开始编译,编译脚本在code/orangepi/scripts下

#cd code/orangepi/scriptes

目录下有几个脚本,其中auto.sh为自动编译脚本

#./auto.sh IoT_bd6737m_35g_b_m0_op_smt_hd720_pcb_v2 v00 eng 编译eng版本

把eng改userdebug, user则编译不同版本。

编译完后在code目录下有版本的压缩包如下图

 

如果单独编译模块(前提需要已完整编译过),可以如下:

在code根目录下

#source build/envsetup.sh

#lunch --> 选择 9或10 如图

玩转Orange Pi 4G-IoT(一)搭建开发环境,避坑篇_第5张图片

 

如果要编译Setting应用,进入应用目录mm就可以。

四 下载固件  

首先安装驱动“Driver_Auto_Installer_EXE_v5.1453.03”。再解压生成的版本,如下图

玩转Orange Pi 4G-IoT(一)搭建开发环境,避坑篇_第6张图片

 

启动下载工具flash_tool。点击下图红色框按键,选择MT6737M_Android_scatter.txt文件

玩转Orange Pi 4G-IoT(一)搭建开发环境,避坑篇_第7张图片

 

电脑与开发板USB口连接,不接电源,然后点Downlad ,下部有进度条提示正在下载。等待下载结束提示。 断开USB,接上电源。Eng版本第一次开机比较慢,等待若干分钟。

 

编译指令:

bootloader 和 kernel 编译
(1)完整编译
cd orangepi/scripts/
./auto.sh IoT_bd6737m_35g_b_m0_ry_smt_hd720_pcb_v1 v00 eng

(2)模块编译
source build/envsetup.sh
lunch  --->   full_bd6737m_35g_b_m0
make -j4

通过get_build_var获得项目名等信息
get_build_var TARGET_DEVICE
op_project_name
 
get_build_var TARGET_BUILD_VARIANT
eng

(3)preloader单独编译
make -j4 pl 2>&1 | tee pl_build.log

(4)lk编译
make -j4 lk 2>&1 | tee lk_build.log

(5)kernel编译
进入kernel-3.18 make mrproper
然后make -j8 kernel && make -j8 r bootimage


(6) 清除
# Clean ALL
make clean
# Clean PL
make clean-pl
# Clean lk
make clean-lk
# Clean kernel
make clean-kernel

配置文件, 

Android配置 device/XXX/bd6737m_35g_b_m0/ProjectConfig.mk

Linux内核配置kernel-3.18/arch/arm/configs/bd6737m_35g_b_m0_defconfig 和kernel-3.18/arch/arm/configs/bd6737m_35g_b_m0_debug_defconfig

 

 


 

 

 

 

 

 

 

你可能感兴趣的:(Android)