Difference between revisions of "Orange Pi RK3399"
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
Contents
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 |
GPU |
ARM Mali-T860 MP4 Quad-Core GPU |
VPU |
Supports multi-format video decoders including H.264/H.265/VP9 4Kx2K@60fps |
PMU |
RK808 PMU |
Memory | 2GB DDR3 |
Storage |
16GB High-Speed eMMC |
Wireless |
Integrated WiFi Combo Module(AP6356S): |
Ethernet | 10/100/1000Mbps Ethernet ( Realtek RTL8211E ) |
Display |
1 x HDMI 2.0 ( Type-A ), Support maximum 4K@60Hz display |
Audio |
1 x HDMI or 1 x DP ( DispalyPort ) for audio output |
Camera |
2 x MIPI-CSI (13Mpixel Max for each port ) |
Sensor |
1 x Gyroscope+G-Sensor(MPU6500) |
PCIe |
1 x Mini PCIe |
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) |
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 |
External Power supply interface |
DC12V - 2A (2 pins) |
Power |
DC12V-2A (via DC 5.5*2.1mm Jack) |
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 |
GPIO Specifications
The following is GPIO definition of Orange Pi RK3399:
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