Difference between revisions of "Orange Pi RK3399"

From Wiki-Orange Pi
Jump to: navigation, search
Line 155: Line 155:
 
<br>
 
<br>
 
<div>[[文件:Orange-pi-rk3399-img5.png|800px|]]</div>
 
<div>[[文件:Orange-pi-rk3399-img5.png|800px|]]</div>
 +
<br>
 +
== '''Using Method Introduction''' ==
 +
<br>
 +
=== '''Hardware Requirement''' ===
 +
<br>
 +
* Orange Pi RK3399 Development Board
 +
* A PC for compilation with following specs: <br>
 +
64bit CPU<br>
 +
Up to 16GB RAM <br>
 +
UP to 40GB spare disk space<br>
 +
Operation system should up to Ubuntu12.04, it would be better if it is Ubuntu16.04
 +
You could refer to Google file for more details:  https://source.android.com/source/building<br>
 +
<br>
 +
=== '''Software Requirement''' ===
 +
<br>
 +
* Orange Pi RK3399 SDK
 +
* Orange Pi RK3399 Firmware
 +
* Android-image-flash-tool
 +
<br>
 +
=== '''Power Supply Requirement''' ===
 +
<br>
 +
There are three methods for power supply:<br>
 +
* DC (12V 2A)in for power
 +
* TypeC (5V 3A)in for power
 +
* Battery (Dual Battery 7.4V)in for power, connect the battery with our BAT interface
 +
If insert TypeC and DC connector in the same time, the system would default charge by DC in. It would not recommend to power by the battery, because different batteries need matching with BQ25700 battery management IC according to their respective parameters.<br>
 +
<br>
 +
== '''Android Compilation Environment Construction''' ==
 +
<br>
 +
=== '''Download SDK compression package''' ===
 +
<br>
 +
Take OrangePi-RK3399_Android6.0_V1.0_2017_0720.tgz as an example, after get the original compression package:
 +
<div style="background:#f1f1f1;border:1px solid #ddd;padding:5px;">
 +
mkdir OrangePi-rk3399<br>
 +
tar xvf OrangePi-rk3399_Android6.0_V1.0_2017_0720.tgz -C OrangePi-rk3399<br>
 +
cd OrangePi-rk3399
 +
</div>
 +
<br>
 +
=== '''Construct Compilation Environment''' ===
 +
<br>
 +
It could also refer to Google file: http://source.android.com/source/initializing.html
 +
<br>
 +
* '''Install JDK'''
 +
<br>
 +
Compilation of Android6.0 is based on JAVA7, it needs to first install OpenJDK before compilation.<br>
 +
<br>
 +
Command for installing: <br>
 +
<br>
 +
<div style="background:#f1f1f1;border:1px solid #ddd;padding:5px;">
 +
sudo apt-get install openjdk-7-jdk
 +
</div>
 +
<br>
 +
Configure environment variable of JAVA, here is the path for installation:<br>
 +
<br>
 +
/usr/lib/jvm/java-7-openjdk-amd64<br>
 +
<br>
 +
It could configure on the terminal with the following command:<br>
 +
<br>
 +
<div style="background:#f1f1f1;border:1px solid #ddd;padding:5px;">
 +
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
 +
</div>
 +
<br>
 +
* '''Install Software Package'''
 +
<br>
 +
For Ubuntu12.04: <br>
 +
<br>
 +
<div style="background:#f1f1f1;border:1px solid #ddd;padding:5px;">
 +
sudo apt-get update<br>
 +
sudo apt-get install git gnupg flex bison gperf build-essential \<br>
 +
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \<br>
 +
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \<br>
 +
g++-multilib mingw32 tofrodos gcc-multilib ia32-libs \<br>
 +
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
 +
</div>
 +
<br>
 +
For Ubuntu14.04: <br>
 +
<br>
 +
<div style="background:#f1f1f1;border:1px solid #ddd;padding:5px;">
 +
sudo apt-get update<br>
 +
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev \<br>
 +
libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl \<br>
 +
libncurses5-dev zlib1g-dev pngcrush schedtool libxml2 libxml2-utils \<br>
 +
xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev \<br>
 +
lib32readline-gplv2-dev gcc-multilib libswitch-perl
 +
</div>
 +
<br>
 +
The relevant software package for installing ARM cross compilation tool chain and kernel:<br>
 +
<br>
 +
<div style="background:#f1f1f1;border:1px solid #ddd;padding:5px;">
 +
sudo apt-get install gcc-arm-linux-gnueabihf \<br>
 +
lzop libncurses5-dev \<br>
 +
libssl1.0.0 libssl-dev
 +
</div>
 
<br>
 
<br>

Revision as of 17:46, 23 June 2022

Orange Pi RK3399 Introduction


What is Orange Pi RK3399?


It’s an open-source single-board computer. It can run Android 6.0, Ubuntu, Debian, it uses the RK3399 SoC, and has 2GB DDR3 SDRAM

What can I do with Orange Pi RK3399?


You can use it to build...

  • A computer
  • A wireless server
  • Games
  • Music and sounds
  • HD video
  • A speaker
  • Android
  • Scratch

......
Pretty much anything else, because Orange Pi RK3399 is open source.

Whom is it for?


Orange Pi RK3399is for anyone who wants to create with technology– not just consuming. It's a simple, fun, useful tool and you can use it to take control of the world around you.

Orange Pi RK3399 Hardware specification


Hardware Specification
Soc Rockchip RK3399 (28nm HKMG Process)
CPU

Six-CoreARM® 64-bit processor, up to 2.0GHz frequency
Dual-Core Cortex-A72 and Quad-Core Cortex-A53

GPU

ARM Mali-T860 MP4 Quad-Core GPU
Completely compatible with OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11
Support AFBC

VPU

Supports multi-format video decoders including H.264/H.265/VP9 4Kx2K@60fps
1080P Multi format video decoding (WMV, MPEG-1/2/4, VP8)
1080PVideo encoding, supporting H.264, VP8 format
Video post processor: anti interleaving, denoising, edge/ detail / color optimization

PMU

RK808 PMU
BQ25700 Charger IC
CW2015 Fuel Gas

Memory 2GB DDR3
Storage

16GB High-Speed eMMC
MicroSD (TF) Card Slot
miniPCIe (for LTE / mSATA)
mSATA interface

Wireless

Integrated WiFi Combo Module(AP6356S):
2.4GHz/5GHz Dual-Band WiFi
Support 802.11a/b/g/n/ac
2x2 MIMO standard Bluetooth 4.1(Support BLE)

Ethernet 10/100/1000Mbps Ethernet ( Realtek RTL8211E )
Display

1 x HDMI 2.0 ( Type-A ), Support maximum 4K@60Hz display
1 x DP 1.2 (DisplayPort) , Support maximum 4K@60Hz display
2 x MIPI , support 2560x1600@60fps output with dual channel
1 x eDP 1.3 ( 4 lanes with 10.8Gbps )
1 x HDMI IN

Audio

1 x HDMI or 1 x DP ( DispalyPort ) for audio output
1 x Analog audio (via 3.5mm Combo Audio Jack for audio input and ouput)
1 x Speaker for audio output ( 1.5W 8Ω or 2.5W 4Ω )
1 x SPDIF
1 x On-board Microphone
1 x I2S (up to 8 channels) for audio input and output
1 x Mic Array Interface

Camera

2 x MIPI-CSI (13Mpixel Max for each port )
(OV13850(13M))
Support USB Camera

Sensor

1 x Gyroscope+G-Sensor(MPU6500)
1 x Gyroscope(LSM6DS3)
1 x HALL Sensor(HAL248TWCL)
1 x Light Sensor(CM32181)
1 x Compass(AK09911)

PCIe

1 x Mini PCIe
Compatible USB, used for LTE or TF Card
Compatible mSATA, used for expand SATA harddisk or SSD

SIM 1 x SIM slot, use as LTE module for miniPCIe extension
USB 4 x USB2.0 HOST, 1 x USB3.0 Type-C
IR 1 x IR, Support IR control function
LED

2 x Power Status LED (Red and Green)
1 x SATA Power Status LED(Green)

Key

1x Reset Button, 1 x Power Button, 1 x Recovery Button, 1 x Menu Button, 1 x Return Button, 1 x Vol+ Button, 1 x Vol- Button

Debugging 1 x Serial Console
Reserved Interface

40pin 2.54mm header
4 x I2C , 1 x SPI, 2 x UART, 5 x GPIO

External Power supply interface

DC12V - 2A (2 pins)
DC5V - 2A (2 pins)

Power

DC12V-2A (via DC 5.5*2.1mm Jack)
TypeC 5V-3A
Battery (Dual Battery 7.4V)

OS / Software
OS Android 6.0, Debian 9
Programming support C, C++, Kotlin, Java, Shell, Pyhon
Interface definition
Size 129 mm × 99 mm
Weight 100g


800px|


800px|


GPIO Specifications


The following is GPIO definition of Orange Pi RK3399:

800px|


800px|


800px|


Using Method Introduction


Hardware Requirement


  • Orange Pi RK3399 Development Board
  • A PC for compilation with following specs:

64bit CPU
Up to 16GB RAM
UP to 40GB spare disk space
Operation system should up to Ubuntu12.04, it would be better if it is Ubuntu16.04 You could refer to Google file for more details: https://source.android.com/source/building

Software Requirement


  • Orange Pi RK3399 SDK
  • Orange Pi RK3399 Firmware
  • Android-image-flash-tool


Power Supply Requirement


There are three methods for power supply:

  • DC (12V 2A)in for power
  • TypeC (5V 3A)in for power
  • Battery (Dual Battery 7.4V)in for power, connect the battery with our BAT interface

If insert TypeC and DC connector in the same time, the system would default charge by DC in. It would not recommend to power by the battery, because different batteries need matching with BQ25700 battery management IC according to their respective parameters.

Android Compilation Environment Construction


Download SDK compression package


Take OrangePi-RK3399_Android6.0_V1.0_2017_0720.tgz as an example, after get the original compression package:

mkdir OrangePi-rk3399
tar xvf OrangePi-rk3399_Android6.0_V1.0_2017_0720.tgz -C OrangePi-rk3399
cd OrangePi-rk3399


Construct Compilation Environment


It could also refer to Google file: http://source.android.com/source/initializing.html

  • Install JDK


Compilation of Android6.0 is based on JAVA7, it needs to first install OpenJDK before compilation.

Command for installing:

sudo apt-get install openjdk-7-jdk


Configure environment variable of JAVA, here is the path for installation:

/usr/lib/jvm/java-7-openjdk-amd64

It could configure on the terminal with the following command:

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


  • Install Software Package


For Ubuntu12.04:

sudo apt-get update
sudo apt-get install git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
g++-multilib mingw32 tofrodos gcc-multilib ia32-libs \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386


For Ubuntu14.04:

sudo apt-get update
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev \
libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl \
libncurses5-dev zlib1g-dev pngcrush schedtool libxml2 libxml2-utils \
xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev \
lib32readline-gplv2-dev gcc-multilib libswitch-perl


The relevant software package for installing ARM cross compilation tool chain and kernel:

sudo apt-get install gcc-arm-linux-gnueabihf \
lzop libncurses5-dev \
libssl1.0.0 libssl-dev