“Orange Pi 4G-IoT”的版本间的差异

来自Wiki-Orange Pi
跳转至: 导航搜索
获取 SDK 源码压缩包
搭建编译环境
第505行: 第505行:
  
 
=== 搭建编译环境 ===
 
=== 搭建编译环境 ===
可以参考 Google 官方文档: http://source.android.com/source/initializing.html<br><br>
+
可以参考 Google 官方文档: http://source.android.com/source/initializing.html<br>
* '''安装 JDK'''<br>
+
* '''安装 JDK'''
 
'''Android6.0'''<br>
 
'''Android6.0'''<br>
Android6.0 系统编译依赖于 JAVA7。编译前需要安装 OpenJDK。安装命令如下。<br><br>
+
Android6.0 系统编译依赖于 JAVA7。编译前需要安装 OpenJDK。安装命令如下。<br>
 
{| class="wikitable" style="width:800px;"
 
{| class="wikitable" style="width:800px;"
 
|-
 
|-
 
| sudo apt-get install openjdk-7-jdk
 
| sudo apt-get install openjdk-7-jdk
|}<br>
+
|}
 
配置 JAVA 环境变量,比如安装路径为 /usr/lib/jvm/java-7-openjdk-amd64<br>
 
配置 JAVA 环境变量,比如安装路径为 /usr/lib/jvm/java-7-openjdk-amd64<br>
可以在终端执行如下命令配置环境变量。<br><br>
+
可以在终端执行如下命令配置环境变量。<br>
 
{| class="wikitable" style="width:800px;"
 
{| class="wikitable" style="width:800px;"
 
|-
 
|-
第520行: 第520行:
 
export PATH=$JAVA_HOME/bin:$PATH<br>
 
export PATH=$JAVA_HOME/bin:$PATH<br>
 
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
 
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
|}<br><br>
+
|}
 
'''Android8.1'''<br>
 
'''Android8.1'''<br>
 
Android8.1 系统编译依赖于 JAVA8。编译前需要安装 OpenJDK。安装命令如下。<br>
 
Android8.1 系统编译依赖于 JAVA8。编译前需要安装 OpenJDK。安装命令如下。<br>
第526行: 第526行:
 
|-
 
|-
 
| sudo apt-get install java-8-openjdk-amd64
 
| sudo apt-get install java-8-openjdk-amd64
|}<br>
+
|}
配置 JAVA 环境变量,比如安装路径为 /usr/lib/jvm/java-8-openjdk-amd64 可以在终端执行如下命令配置环境变量。<br><br>
+
配置 JAVA 环境变量,比如安装路径为 /usr/lib/jvm/java-8-openjdk-amd64 可以在终端执行如下命令配置环境变量。<br>
 
{| class="wikitable" style="width:800px;"
 
{| class="wikitable" style="width:800px;"
 
|-
 
|-
第533行: 第533行:
 
export PATH=$JAVA_HOME/bin:$PATH<br>
 
export PATH=$JAVA_HOME/bin:$PATH<br>
 
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar<br>
 
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar<br>
|}<br><br>
+
|}
* '''安装软件包'''<br><br>
+
* '''安装软件包'''<br>
对于 Ubuntu12.04:<br><br>
+
对于 Ubuntu12.04:<br>
 
{| class="wikitable" style="width:800px;"
 
{| class="wikitable" style="width:800px;"
 
|-
 
|-
第543行: 第543行:
 
libx11-dev lib32readline-gplv2-dev lib32z1-dev libgl1-mesa-dev gcc-4.4<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
 
g++-4.4 g++-4.4-multilib g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc wine
|}<br>
+
|}
对于 Ubuntu14.04:<br><br>
+
对于 Ubuntu14.04:<br>
 
{| class="wikitable" style="width:800px;"
 
{| class="wikitable" style="width:800px;"
 
|-
 
|-
第552行: 第552行:
 
libx11-dev lib32readline-gplv2-dev lib32z1-dev libgl1-mesa-dev g++-multilib g++-4.8-multilib mingw32 tofrodos python-markdown<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
 
libxml2-utils xsltproc libc6-dev-i386 lib32z1 lib32ncurses5 lib32bz2-1.0 lib32readline-gplv2-dev wine
|}<br>
+
|}
 
至此,我们可以开始进行 SDK 源码的编译。<br><br>
 
至此,我们可以开始进行 SDK 源码的编译。<br><br>
  

2022年6月22日 (三) 18:19的版本

介绍

什么 Orange Pi 4G-IoT

香橙派是一款开源的单板电脑,新一代的 ARM 开发板,它可以运行 Android6.0、Lunix等操作系统。香橙派开发板(Orange Pi 4G-IoT)使用MTK系列MT6737 CPU, 同时拥有 1GB DDR3 内存。

Orange Pi 4G-IoT 的用途

我们可以用它搭建:

  • 一台计算机
  • 一个无线网络服务器
  • 游戏机
  • 音乐播放器
  • 高清视频播放器
  • 扬声器
  • Android

当然还有其他更多的功能,因为Orange Pi是开源的

Orange Pi 4G-IoT 是为谁设计的

Orange Pi 4G-IOT 不仅仅是一款消费品,同时也是给任何想用技术进行创作创新的人设计的。它是一款非常简单、有趣、实用的工具,你可以用它去打造你身边的世界。

Orange Pi 4G-IoT 的硬件特性


OrangePi 4G-IoT 规格
基带部分
主控芯片 MT6737
处理器 四核 ARM® Cortex-A53,主频高达1.25GHz
图形处理器 ARM Mali-T720 MP1
内存 1GB DDR3
存储器 8GB EMMC Flash
网络部分
无线网络 WIFI / BT / FM / GPS 四合一
射频频率

GSM

WCDMA

TD-CDMA

CDMA2000

FDD-LTE

TDD-LTE

900/1800 (850/1900 可选)
B1/B8 (B2/B4/B5 可选)
/
/
B1/B3/B7/B20 (B2/B4/B17 可选)
B38/40/41B
显示部分
显示屏 HD
电容触摸 支持
相机部分
摄像头 13M (25pin ZIF 连接器)
传感器
加速传感器 支持
红外遥控 支持 (已适配 iDroid 遥控器)
指纹识别 支持
外部接口和按键
SIM卡 mini单SIM卡
TF卡 支持热插拔
音频

耳机

麦克风

用于音频输入/输出
用于音频输入
USB

USB Host × 3

Micro USB × 1

支持 OTG
仅用于烧录固件
LED 信号灯

电源指示灯

开机指示灯

红色 用于指示电源状态
绿色 用于指示开机状态
按键 电源键
HDMI 支持
预留接口

40pin 拓展口

1.8V, SPI × 2 , I2C × 3, UART × 2
电源

DC

Battery

5V 2A
通过焊盘连接
系统/软件
系统 Android 6.0/Android8.1
编程语言支持 C、C++、Kotlin、Java、Shell、Python等
外观规格
PCB 尺寸 55mm*85mm
重量 43g
Orange Pi™ 是深圳市迅龙软件有限公司的注册商标


40pin GPIO 定义


OrangePi(4G-IOT)
P01 VIO28_PMU
P02 DC5V
P03 SDA1 GPIO49
P04 DC5V
P05 SCL1 GPIO50
P06 GND
P07 EINT87 GPIO87
P08 UTXD2
P09 GND
P10 URXD2 GPIO57
P11 URXD1
P12 EINT8 EINT8
P13 UTXD1
P14 GND
P15 UCTS1
P16 EINT9 EINT9
P17 VIO28_PMU
P18 EINT11 EINT11
P19 SPI2_MI EINT3
P20 GND
P21 SPI2_MO EINT4
P22 URTS1
P23 SPI2_CK EINT6
P24 SPI2_CS EINT5
P25 GND
P26 EINT12
P27 SDA2 GPIO51
P28 SCL2 GPIO52
P29 SPI_CS GPIO65
P30 GND
P31 SPI_CK GPIO66
P32 URTS2 GPIO60
P33 SPI_MO PA9
P34 GND
P35 SPI_MI GPIO67
P36 UCTS2 GPIO59
P37 EINT_123 GPIO123
P38 SCL3 GPIO54
P39 GND
P40 SDA3 GPIO53



接口详情视图:

4G-Iot-1.png
4G-Iot-2.png

快速入门

准备硬件与软件工具

硬件需求:

  • Orange Pi 4G-IoT 开发板
  • 一台编译用的主机,配置最好满足以下条件:
 64 位 CPU
16GB 内存
40GB 以上的空闲磁盘空间
操作系统为 Ubuntu12.04 以上,最好为 Ubuntu14.04
更详细的内容可以参考 Google 文档 https://source.android.com/source/building

软件需求:

  • Orange Pi 4G-IoT SDK
  • Orange Pi 4G-IoT 固件
  • Android 烧录工具

以上软件均可以通过 Mega、百度云盘 的方式获取,详情参见中英文官网:
http://www.orangepi.org/downloadresources/
http://www.orangepi.cn/downloadresourcescn/

开发板的供电方式

开发板的供电方式有两种:

  • DC (5V 2A)供电:插入 DC 适配器后即可开机。
  • 电池供电:常用 3.7V 电池,在背面有预留外接电池焊盘点 需要客户自己焊接 接上电池之后按开机键即可启动。

拆包说明

收到产品后请将产品的天线从图 1 的位置放到图 2 的位置(或者放到板子外面的位置),不能贴在板子上面以免影响信号。

4G-Iot-3.png

Android 编译环境搭建

获取 SDK 源码压缩包

为方便客户快速进行开发,OrangePi 有提供不同版本的 SDK 初始压缩包。

  • Android6.0

下载压缩包,分别对应 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 个分卷压缩包。获取到分卷压缩包后,把所有的压缩包放在一个同一目录下,如:

创建目录

mkdir OrangePi_4G-IOT_Android6.0
拷贝分卷压缩包
cp -rf OrangePi_4G-IoT_Android6.0_V1.0.tar.gz.*
OrangePi_4G-IOT_Android6.0/
合并压缩包
cat OrangePi_4G-IoT_Android6.0_V1.0.tar.gz.* >
OrangePi_4G-IOT_Android6.0.tar.gz
解压
tar xzvf OrangePi_4G-IOT_Android6.0.tar.gz

  • Android8.1

下载压缩包,分别对应x00, x01, x02, x03 ...x10 总共 11 个分卷压缩包。获取到分卷压缩包后,把所有的压缩包放在一个同一目录下,如:

创建目录

mkdir OrangePi_4G-IOT_Android8.1
拷贝分卷压缩包 cp -rf x00 x01 x02 ... x10 合并压缩包
cat x*>OrangePi_4G-IOT_Android8.1.tar.gz
解压
tar xzvf OrangePi_4G-IOT_Android8.tar.gz

搭建编译环境

可以参考 Google 官方文档: http://source.android.com/source/initializing.html

  • 安装 JDK

Android6.0
Android6.0 系统编译依赖于 JAVA7。编译前需要安装 OpenJDK。安装命令如下。

sudo apt-get install openjdk-7-jdk

配置 JAVA 环境变量,比如安装路径为 /usr/lib/jvm/java-7-openjdk-amd64
可以在终端执行如下命令配置环境变量。

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

Android8.1
Android8.1 系统编译依赖于 JAVA8。编译前需要安装 OpenJDK。安装命令如下。

sudo apt-get install java-8-openjdk-amd64

配置 JAVA 环境变量,比如安装路径为 /usr/lib/jvm/java-8-openjdk-amd64 可以在终端执行如下命令配置环境变量。

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

  • 安装软件包

对于 Ubuntu12.04:

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

对于 Ubuntu14.04:

sudo apt-get update

sudo apt-get install git-core gnupg flex bison ccache gperf libsdl1.2-dev libesd0-dev
libwxgtk2.8-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 g++-multilib g++-4.8-multilib mingw32 tofrodos python-markdown
libxml2-utils xsltproc libc6-dev-i386 lib32z1 lib32ncurses5 lib32bz2-1.0 lib32readline-gplv2-dev wine

至此,我们可以开始进行 SDK 源码的编译。

编译 SDK 源码

为方便客户进行开发,Orange Pi 提供了一系列的编译脚本。

  • Android6.0

目录为 SDK/code/orangepi/scripts

$ cd code/orangepi/scripts

$ ls anr_LM.sh auto.sh clean.sh codegen.sh init_project.sh tar_img.sh


auto.sh 为自动编译脚本
clean.sh 为自动清除编译结果脚本

在 code/orangepi/scripts 目录下,我们执行自动编译脚本:

$ ./auto.sh IoT_bd6737m_35g_b_m0_op_smt_hd720_pcb_v2 v00 eng

传入的三个参数含义如下:

  1. $1 project_info [eg: IoT_bd6737m_35g_b_m0_op_smt_hd720_pcb_v2]
  2. $2 version_info [eg: v00 v01 ...]
  3. $3 compile_mode [eng:user userdebug eng]

  • Android8.1

目录为 SDK/code/orangepi/scripts

$ cd code/orangepi/scripts

$ ls anr_LM.sh auto.sh clean.sh codegen.sh init_project.sh tar_img.sh


auto.sh 为自动编译脚本
clean.sh 为自动清除编译结果脚本

在 code/orangepi/scripts 目录下,我们执行自动编译脚本:

$ ./auto.sh IoT_k37mv1_bsp_ry_smt_hd720_pcb_v2 v00 eng

传入的三个参数含义如下:

  1. $1 project_info [eg: IoT_k37mv1_bsp_ry_smt_hd720_pcb_v2]
  2. $2 version_info [eg: v00 v01 ...]
  3. $3 compile_mode [eng:user userdebug eng]

执行命令编译

source build/envsetup.sh
luncher >full_k37mv1_bsp-eng
make -j4

模块编译 如:单编译launcer
mm packages/apps/Launcher3/ 或者进入到packages/apps/Launcher3/下,执行mm。
注意:有些模块由于依赖包的关系,需要mma

生成固件


  • Android6.0

编译完成后固件将汇总在 code/IoT_op_smt_hd720_pcb_v2 目录中,并打包形如 IoT_op_smt_hd720_pcb_v2_v00_eng_20180126140300.tar.gz 名字的压缩包。

$ tree IoT_op_smt_hd720_pcb_v2 IoT_op_smt_hd720_pcb_v2
├── images
│ ├── boot.img
│ ├── cache.img
│ ├── lk.bin
│ ├── logo.bin
│ ├── MT6737M_Android_scatter.txt
│ ├── preloader_bd6737m_35g_b_m0.bin
│ ├── recovery.img
│ ├── secro.img
│ ├── system.img
│ ├── trustzone.bin
│ └── userdata.img
└── modem
├── APDB_MT6735_S01_alps-mp-m0.mp1_W17.21
├── _APDB_MT6735_S01_alps-mp-m0.mp1_W17.21.check
└── APDB_MT6735_S01_alps-mp-m0.mp1_W17.21_ENUM


除此之外,开发者也可通过 Linux_Pack_Firmware 对以上固件进行打包,生成统一固件 update.img。

  • Android8.1

编译完成后固件将汇总在 code/IoT_ry_smt_hd720_pcb_v2 目录中,并打包形如 IoT_ry_smt_hd720_pcb_v2_v09_eng_20180504163653.tar.gz 名字的压缩包。

$ tree IoT_op_smt_hd720_pcb_v2 IoT_op_smt_hd720_pcb_v2
├── images
│ ├── boot.img
│ ├── cache.img
│ ├── lk.bin
│ ├── logo.bin
│ ├── MT6737M_Android_scatter.txt
│ ├── preloader_k37mv1_bsp.bin
│ ├── recovery.img
│ ├── secro.img
│ ├── system.img
│ ├── trustzone.bin
│ └── userdata.img
└── modem
├── APDB_MT6735_S01_alps-mp-m0.mp1_W18.04
├── _APDB_MT6735_S01_alps-mp-m0.mp1_W18.04.check
└── APDB_MT6735_S01_alps-mp-m0.mp1_W18.04_ENUM


Android 固件烧录

Orange Pi 4G-IoT 开发板 烧录相关按键与接口如下:

4G-Iot-4.png

编译生成的固件清单如下:

IoT_op_smt_hd720_pcb_v2
├── images
│ ├── boot.img
│ ├── cache.img
│ ├── lk.bin
│ ├── logo.bin
│ ├── MT6737M_Android_scatter.txt
│ ├── preloader_bd6737m_35g_b_m0.bin
│ ├── recovery.img
│ ├── secro.img
│ ├── system.img
│ ├── trustzone.bin
│ └── userdata.img
└── modem
├── APDB_MT6735_S01_alps-mp-m0.mp1_W17.21
├── _APDB_MT6735_S01_alps-mp-m0.mp1_W17.21.check
└── APDB_MT6735_S01_alps-mp-m0.mp1_W17.21_ENUM

我们提供已经编译且打包好的镜像分区文件,请根据自身的需求自行下载:
http://www.orangepi.org/downloadresources/
通过如下命令进行Android6.0 镜像解压

$ tar zxvf IoT_op_smt_hd720_pcb_v2_v00_eng_20180126140300.tar.gz


即可得到上文中固件清单中的文件。或者也可以参照Android 环境搭建及固件编译部分自行编译。

主机操作系统支持:

  • Windows 10
  • Windows 7 (32/64 位)
  • Windows 8 (32/64 位)
  • Ubuntu10.04 / 12.04 / 14.04 (32/64 位)

烧录工具介绍

烧录工具为 Smart Phone Flash Tool请前往 OrangePi官方网站中 4G-IoT 版块下载。

本工具有 Windows 和 Linux 版。请根据自己的主机环境选取合适的版本。界面如下:

4G-Iot-5.png

Windows 和 Linux 版的使用方法完全一样。本手册将以 Linux 版为例进行烧录说明。

镜像烧录方法

常见问题

linux 编译环境搭建

获取linux 源码

编译linux 源码

Linux 系统的烧录

串口调试工具介绍

基于Windows 平台的使用

基于 Linux 平台的使用

GPIO 调试

版本历史