玩转Orange Pi 4G-IoT(一)搭建开发环境,避坑篇
参考:《Orange Pi用户手册》一 硬件装配分别用附带的两根33pin的FPC连接主板和屏。二Android编译环境搭建编译主机用的是Ubuntu 12.04, 从网盘下载源代码,如图放到Ubuntu机器的同一目录下,运行#cat OrangePi_4G_IoT-Android6.0_V1.0.tar.gz.* > OrangePi_4G...
参考:《Orange Pi用户手册》
一 硬件装配
分别用附带的两根33pin的FPC连接主板和屏。
二 Android编译环境搭建
编译主机用的是Ubuntu 12.04, 从网盘下载源代码,如图
放到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驱动以及其他修改”,如下图
这些内容需要覆盖到对应的源码文件。但是其中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 如图
如果要编译Setting应用,进入应用目录mm就可以。
四 下载固件
首先安装驱动“Driver_Auto_Installer_EXE_v5.1453.03”。再解压生成的版本,如下图
启动下载工具flash_tool。点击下图红色框按键,选择MT6737M_Android_scatter.txt文件
电脑与开发板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
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)