更改

跳转至: 导航搜索

Orange Pi 4G-IoT

添加6,710字节, 2022年6月22日 (三) 18:13
无编辑摘要
</tr>
</table>
<br><br>接口详情视图:<br><br>[[Image:4G-Iot-1.png]]<br>[[Image:4G-Iot-2.png]]<br><br>
== 快速入门 ==
=== 准备硬件与软件工具 ===
硬件需求:<br>
* Orange Pi 4G-IoT 开发板<br>
* 一台编译用的主机,配置最好满足以下条件:<br>
64 位 CPU<br>
16GB 内存<br>
40GB 以上的空闲磁盘空间<br>
操作系统为 Ubuntu12.04 以上,最好为 Ubuntu14.04<br>
更详细的内容可以参考 Google 文档 https://source.android.com/source/building<br><br>
软件需求:<br>
* Orange Pi 4G-IoT SDK<br>
* Orange Pi 4G-IoT 固件<br>
* Android 烧录工具<br>
以上软件均可以通过 Mega、百度云盘 的方式获取,详情参见中英文官网:<br>
http://www.orangepi.org/downloadresources/<br>
http://www.orangepi.cn/downloadresourcescn/<br><br>
=== 开发板的供电方式 ===
开发板的供电方式有两种:<br><br>
* DC (5V 2A)供电:插入 DC 适配器后即可开机。<br>
* 电池供电:常用 3.7V 电池,在背面有预留外接电池焊盘点 需要客户自己焊接 接上电池之后按开机键即可启动。<br>
=== 拆包说明 ===
收到产品后请将产品的天线从图 1 的位置放到图 2 的位置(或者放到板子外面的位置),不能贴在板子上面以免影响信号。<br><br>
[[Image:4G-Iot-3.png]]<br><br>
 
== Android 编译环境搭建 ==
=== 获取 SDK 源码压缩包 ===
为方便客户快速进行开发,OrangePi 有提供不同版本的 SDK 初始压缩包。<br><br>
* '''Android6.0'''<br>
下载压缩包,分别对应 OrangePi_4G-IoT_Android6.0_V1.0.tar.gz.00, OrangePi_4G-IoT_Android6.0_V1.0.tar.gz.01, ...OrangePi_4G-IoT_Android6.0_V1.0.tar. gz.14 总共 15 个分卷压缩包。获取到分卷压缩包后,把所有的压缩包放在一个同一目录下,如:<br>
{| class="wikitable" style="width:800px;"
|-
|创建目录<br>
mkdir OrangePi_4G-IOT_Android6.0<br>
拷贝分卷压缩包<br>
cp -rf OrangePi_4G-IoT_Android6.0_V1.0.tar.gz.* <br>
OrangePi_4G-IOT_Android6.0/<br>
合并压缩包<br>
cat OrangePi_4G-IoT_Android6.0_V1.0.tar.gz.* ><br>
OrangePi_4G-IOT_Android6.0.tar.gz<br>
解压<br>
tar xzvf OrangePi_4G-IOT_Android6.0.tar.gz<br>
|}<br>
 
* '''Android8.1'''<br>
下载压缩包,分别对应x00, x01, x02, x03 ...x10 总共 11 个分卷压缩包。获取到分卷压缩包后,把所有的压缩包放在一个同一目录下,如:<br>
{| class="wikitable" style="width:800px;"
|-
|创建目录<br>
mkdir OrangePi_4G-IOT_Android8.1<br>拷贝分卷压缩包
cp -rf x00 x01 x02 ... x10 合并压缩包<br>
cat x*>OrangePi_4G-IOT_Android8.1.tar.gz<br>解压<br>
tar xzvf OrangePi_4G-IOT_Android8.tar.gz<br>
|}<br><br>
=== 搭建编译环境 ===
可以参考 Google 官方文档: http://source.android.com/source/initializing.html<br><br>
* '''安装 JDK'''<br>
'''Android6.0'''<br>
Android6.0 系统编译依赖于 JAVA7。编译前需要安装 OpenJDK。安装命令如下。<br><br>
{| class="wikitable" style="width:800px;"
|-
| sudo apt-get install openjdk-7-jdk
|}<br>
配置 JAVA 环境变量,比如安装路径为 /usr/lib/jvm/java-7-openjdk-amd64<br>
可以在终端执行如下命令配置环境变量。<br><br>
{| class="wikitable" style="width:800px;"
|-
|export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64<br>
export PATH=$JAVA_HOME/bin:$PATH<br>
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
|}<br><br>
'''Android8.1'''<br>
Android8.1 系统编译依赖于 JAVA8。编译前需要安装 OpenJDK。安装命令如下。<br>
{| class="wikitable" style="width:800px;"
|-
| sudo apt-get install java-8-openjdk-amd64
|}<br>
配置 JAVA 环境变量,比如安装路径为 /usr/lib/jvm/java-8-openjdk-amd64 可以在终端执行如下命令配置环境变量。<br><br>
{| class="wikitable" style="width:800px;"
|-
|export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64<br>
export PATH=$JAVA_HOME/bin:$PATH<br>
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar<br>
|}<br><br>
* '''安装软件包'''<br><br>
对于 Ubuntu12.04:<br><br>
{| class="wikitable" style="width:800px;"
|-
|sudo apt-get update<br>
sudo apt-get install git-core gnupg flex bison ccache gperf libsdl1.2-dev libesd0-dev<br>
libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind libc6-dev lib32ncurses5-dev x11proto-core-dev<br>
libx11-dev lib32readline-gplv2-dev lib32z1-dev libgl1-mesa-dev gcc-4.4<br>
g++-4.4 g++-4.4-multilib g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc wine
|}<br>
对于 Ubuntu14.04:<br><br>
{| class="wikitable" style="width:800px;"
|-
|sudo apt-get update<br>
sudo apt-get install git-core gnupg flex bison ccache gperf libsdl1.2-dev libesd0-dev<br>
libwxgtk2.8-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind libc6-dev lib32ncurses5-dev x11proto-core-dev<br>
libx11-dev lib32readline-gplv2-dev lib32z1-dev libgl1-mesa-dev g++-multilib g++-4.8-multilib mingw32 tofrodos python-markdown<br>
libxml2-utils xsltproc libc6-dev-i386 lib32z1 lib32ncurses5 lib32bz2-1.0 lib32readline-gplv2-dev wine
|}<br>
至此,我们可以开始进行 SDK 源码的编译。<br><br>
 
=== 编译 SDK 源码 ===
为方便客户进行开发,Orange Pi 提供了一系列的编译脚本。<br><br>
* '''Android6.0'''<br>
目录为 SDK/code/orangepi/scripts<br><br>
{| class="wikitable" style="width:800px;"
|-
|$ cd code/orangepi/scripts<br>
$ ls anr_LM.sh auto.sh clean.sh codegen.sh init_project.sh tar_img.sh
|}<br>
auto.sh 为自动编译脚本<br>
clean.sh 为自动清除编译结果脚本<br><br>
在 code/orangepi/scripts 目录下,我们执行自动编译脚本:<br>
{| class="wikitable" style="width:800px;"
|-
| $ ./auto.sh IoT_bd6737m_35g_b_m0_op_smt_hd720_pcb_v2 v00 eng
|}<br>
传入的三个参数含义如下:<br>
#$1 project_info [eg: IoT_bd6737m_35g_b_m0_op_smt_hd720_pcb_v2] <br>
#$2 version_info [eg: v00 v01 ...]<br>
#$3 compile_mode [eng:user userdebug eng]<br><br>
* '''Android8.1'''<br><br>
目录为 SDK/code/orangepi/scripts<br><br>
{| class="wikitable" style="width:800px;"
|-
|$ cd code/orangepi/scripts<br>
$ ls anr_LM.sh auto.sh clean.sh codegen.sh init_project.sh tar_img.sh
|}<br>
auto.sh 为自动编译脚本<br>
clean.sh 为自动清除编译结果脚本<br><br>
在 code/orangepi/scripts 目录下,我们执行自动编译脚本:<br>
{| class="wikitable" style="width:800px;"
|-
| $ ./auto.sh IoT_k37mv1_bsp_ry_smt_hd720_pcb_v2 v00 eng
|}<br>
 
传入的三个参数含义如下:<br>
#$1 project_info [eg: IoT_k37mv1_bsp_ry_smt_hd720_pcb_v2]<br>
#$2 version_info [eg: v00 v01 ...]<br>
#$3 compile_mode [eng:user userdebug eng]<br><br>
 
执行命令编译<br><br>
source build/envsetup.sh<br>
luncher >full_k37mv1_bsp-eng<br>
make -j4<br><br>
<big>'''模块编译'''</big>
如:单编译launcer<br>
mm packages/apps/Launcher3/ 或者进入到packages/apps/Launcher3/下,执行mm。<br>
注意:有些模块由于依赖包的关系,需要mma<br><br>
=== 生成固件 ===
<br>
8,460
个编辑

导航菜单