|
|
第1行: |
第1行: |
− | == 介绍 ==
| |
− | === 什么是 Orange Pi RK3399 ===
| |
− | 香橙派是一款开源的单板卡片电脑,新一代的 ARM 开发板,它可以运行Android6.0 、Android 8.1、Ubuntu 和 Debian 等操作系统。香橙派单板电脑使用瑞芯微 RK3399 芯片,同时拥有 2GB 或者 4GB DDR3 内存。<br>
| |
− | === Orange Pi RK3399 的用途 ===
| |
− | 我们可以用它搭建:<br>
| |
− | * 一台计算机
| |
− | * 一个网络服务器
| |
− | * 游戏机
| |
− | * 高清视频播放器
| |
− | * 扬声器
| |
− | * Android
| |
− | * ......
| |
− | 还有其他更多的功能,因为 Orange Pi RK3399 是开源的。
| |
− | === Orange Pi RK3399 是为谁设计的 ===
| |
− | Orange Pi RK3399 不仅仅是一款消费品,同时也是给任何想用技术进行创作创新的人设计的。它是一款非常简单、有趣、实用的工具,你可以用它去打造你身边的世界。<br><br>
| |
− | [[Image:RK3399-1.png]]<br><br>
| |
− | [[Image:RK3399-2.png]]<br><br>
| |
| | | |
− | === Orange Pi RK3399 硬件参数 ===
| |
− | <br>
| |
− | {| class="wikitable" style="width:904px;"
| |
− | |-
| |
− | | 主控芯片 || Rockchip RK3399 (28 纳米 HKMG 制程)
| |
− | |-
| |
− | | 处理器 ||
| |
− | * 6 核 ARM® 64 位处理器,主频高达 2.0GHz
| |
− | * 双核 Cortex-A72(大核)+四核 Cortex-A53(小核)
| |
− | |-
| |
− | | 图形处理器 ||
| |
− | * ARM Mali-T860 MP4 四核 GPU
| |
− | * 支持 OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11
| |
− | * 支持 AFBC(帧缓冲压缩)
| |
− | |-
| |
− | | 视频处理器 || 支持4K VP9 and 4K 10bits H265/H264 视频解码,高达 60fps 1080P 多格式视频解码 <br>
| |
− | (WMV, MPEG-1/2/4, VP8) 1080P 视频编码,支持 H.264,VP8 格式<br>
| |
− | 视频后期处理器:反交错、去噪、边缘/细节/色彩优化<br>
| |
− | |-
| |
− | | 电源管理 ||
| |
− | * RK808 PMU 芯片
| |
− | * BQ25700 Charger IC 充电管理 IC
| |
− | * CW2015 Fuel Gas 电量计
| |
− | |-
| |
− | | 内存 || 2GB DDR3
| |
− | |-
| |
− | | 存储器 ||
| |
− | * 16GB 高速 eMMC
| |
− | * MicroSD (TF)卡槽
| |
− | * miniPCIe 接口(兼容 USB2.0 以及 mSATA 硬盘)
| |
− | * mSATA 接口
| |
− | |-
| |
− | | 无线网络 || 板载 WiFi 模块(AP6356S):<br>2.4GHz/5GHz 双频 WiFi,支持 802.11a/b/g/n/ac 协议,2x2 MIMO 技术Bluetooth 4.1(支持 BLE)
| |
− | |-
| |
− | | 以太网 || 10/100/1000Mbps 以太网 ( Realtek RTL8211E )
| |
− | |-
| |
− | | 显示 ||
| |
− | * 1 x HDMI 2.0 ( Type-A ), 支持 4K@60 帧输出1 x
| |
− | * DP 1.2 (DisplayPort) , 支持 4K@60 帧输出2 x
| |
− | * MIPI , 支持双通道 2560x1600@60 帧输出
| |
− | * 1 x eDP 1.3 ( 4 lanes with 10.8Gbps )
| |
− | * 1 x HDMI IN 功能
| |
− | |-
| |
− | | 音频 ||
| |
− | * 1 x HDMI 或 1 x DP ( DispalyPort ) , 音频输出
| |
− | * 1 x 耳麦 , 用于音频输入输出
| |
− | * 1 x SPDIF 数字音频接口,用于音频输出
| |
− | * 1 x 麦克风,板载音频输入
| |
− | * 1 x I2S , 支持8通道
| |
− | * 1 x MIC 阵列接口
| |
− | |-
| |
− | | 摄像头 ||
| |
− | * 2 x MIPI-CSI 摄像头接口 ( 每个接口最高支持 13Mpixel)
| |
− | * 支持 USB Camera
| |
− | |-
| |
− | | 传感器 || 1 x 陀螺仪+重力加速度计,1 x 陀螺仪,1 x 霍尔元件,1 x 光传感器,1 x 电子罗盘
| |
− | |-
| |
− | | PCIe || 1 x mini PCIe,支持 LTE,兼容 USB 用于拓展 TF Card,兼容 mSATA 用于拓展 SATA 硬盘或者 SSD
| |
− | |-
| |
− | | SIM || 1 x SIM 卡座,用于配合 miniPCIe 扩展的 LTE 模块
| |
− | |-
| |
− | | USB || 4 x USB2.0 HOST,1 x USB3.0 Type-C
| |
− | |-
| |
− | | 红外 || 1 x 红外接收头,支持红外遥控功能
| |
− | |-
| |
− | | LED ||
| |
− | * 2 x 电源状态LED (红色和绿色)
| |
− | * 1 x mSATA 电源状态LED(绿色)
| |
− | |-
| |
− | | 按键 || 1 x 复位键,1 x 电源键,1 x 升级键,1 x 菜单键,1 x 返回键,1 x 音量+,1 x 音量-
| |
− | |-
| |
− | | 调试串口 || 1 x 调试串口,用于开发调试
| |
− | |-
| |
− | | 预留接口 || 40pin 2.54mm 排针(4 x I2C 、1 x SPI、2 x UART、5 x GPIO(在全功能实现后还有 5 个 Gpio 富余))
| |
− | |-
| |
− | | 供电座 ||
| |
− | * DC12V - 2A 两pin 插座
| |
− | * DC5V - 2A 两pin 插座
| |
− | |-
| |
− | | 电源 ||
| |
− | * DC 12V 2A 供电
| |
− | * TypeC 供电
| |
− | * Battery 供电
| |
− | |-
| |
− | | 支持的操作系统 || Android 6.0、Android8.1、Debian、Ubuntu
| |
− | |-
| |
− | | 编程语言支持 || C、C++、Kotlin、Java、Shell、Pyhon 等
| |
− | |-
| |
− | |colspan=2|<div style="text-align:center"><big>'''外观规格介绍'''</big></div>
| |
− | |-
| |
− | | 产品尺寸 || 129 mm × 99 mm
| |
− | |-
| |
− | | 重量 || 99g
| |
− | |}
| |
− | <br>
| |
− |
| |
− | === GPIO 规格 ===
| |
− | 下图是 Orange Pi RK3399 的 GPIO 引脚功能图:<br>
| |
− | [[Image:RK3399-3.png]]<br><br>
| |
− | [[Image:RK3399-4.png]]<br>
| |
− | == 快速入门 ==
| |
− | === 使用 OrangePi RK3399 要做哪些准备工作 ===
| |
− | '''要启动你的OrangePi RK3399,请先准备好以下硬件:'''
| |
− | * OrangePi RK3399 开发板
| |
− | * TF 卡,最小 8GB 容量,class 10 级,建议使用品牌 TF 卡,如:闪迪 16G TF 卡(可选、Android系统无需TF卡)
| |
− | * 一个5V/3A或更大功率的电源适配器(DC和TYPEC接口的皆可)
| |
− | * USB转TTL串口(可选,用于调试或PC上进行操作)
| |
− | * 一台支持HDMI输入的显示器或者电视(或选购LCD配件)
| |
− | * 一套USB键盘鼠标,同时连接更多USB的设备时还需要USB HUB
| |
− | * 一台编译用的主机,配置最好满足以下条件:
| |
− | 64 位 CPU<br>
| |
− | 8 GB 及以上内存<br>
| |
− | 100GB 以上的空闲磁盘空间<br>
| |
− | 操作系统可以是 Ubuntu14.04 Ubuntu18.04
| |
− | === 如何启动 OrangePi RK3399 ===
| |
− | 将开发板的 HDMI 接口通过 HDMI 线与显示器相连,将电源适配器插入带电的插座 上,电源线接口插入开发板,开发板 EMMC 预装有安卓系统,上电会自动开机。系统正常启动过程中,电源灯亮,状态灯闪烁。<br><br>
| |
− | 如需使用 linux 系统,请参考 linux 系统烧录章节。<br>
| |
− |
| |
− | === 串口使用注意事项 ===
| |
− | OrangePi RK3399 使用的波特率是 1500000,如果串口板使用的是cp210x 的芯片,在ubuntu18.04 会出现乱码的现象,ubuntu14.04 则不存在这个问题。<br>
| |
− | 经过验证, 使用低版本内核的cp210x驱动可以解决这个问题,所以Ubuntu18.04 需要客户自己移植低版本的驱动。<br>
| |
− | 下面给出参考方法。<br>
| |
− | git clone https://github.com/baiywt/cp210x.git
| |
− | cd cp210x/
| |
− | make
| |
− | 删除ubuntu 18.04 系统原本的cp210x驱动。<br>
| |
− | sudo rm -rf /lib/modules/$(uname -r)/kernel/drivers/usb/serial/cp210x.ko
| |
− | 拷贝编译好的cp210x驱动到系统目录<br>
| |
− | sudo cp ./cp210x.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial/
| |
− | 卸载原来的驱动<br>
| |
− | sudo rmmod cp210x
| |
− | 安装新的驱动<br>
| |
− | sudo modprobe cp210x
| |
− |
| |
− | == Android 系统的使用说明 ==
| |
− | === 使用 adb ===
| |
− | 第一次启动如需更改系统文件,需要关闭安全验证 (注:安装 apk 不需要关闭),关闭安全验证后需要重启。<br>
| |
− | adb root
| |
− | adb disable-verity
| |
− | adb reboot
| |
− | 重新挂载<br>
| |
− | adb root adb
| |
− | remount
| |
− | 传送文件<br>
| |
− | adb push example.txt /system/
| |
− | 注意事项:有的 USB Type-C 线不支持 adb ,所以遇到这种情况可以换根 USB Type-C线
| |
− | <br>
| |
− | === 使用 MIPI 摄像头进行拍照和录像 ===
| |
− | OrangePi RK3399 在 android 系统下,可以搭配 OV13850 摄像头进行拍照和录像, 连接摄像头到 OrangePiRK3399 的 MIPI 接口,开机进入 Android 系统,用系统自带的 Camera 应用即可完成拍照和录像,操作跟 Android 手机是一样的。<br>
| |
− | OrangePi RK3399 最多可同时连接两个 MIPI 摄像头,一个为前置、另一个为后置。连接方法如下图所示:<br><br>
| |
− | '''Camera1'''<br>
| |
− | [[Image:RK3399-5.png]]<br><br>
| |
− | '''Camera2'''<br>
| |
− | [[Image:RK3399-6.png]]<br><br>
| |
− | === 使用 HDMI IN 功能 ===
| |
− | 需要到官网下载带 hdmiin 字样的安卓镜像。注意该镜像 camera1 不能使用。<br>
| |
− | Android6.0 使用 hdmiin app 测试。<br>
| |
− | [[Image:RK3399-7.png]]<br><br>
| |
− | Android8.1 则打开系统自带的相机测试。<br>
| |
− |
| |
− | === 使用 MIPI 屏幕 ===
| |
− | 对于 android8.1,需要做以下设置。<br>
| |
− | $ adb root
| |
− | $ adb pull /system/build.prop
| |
− | 打开 build.prop 文件,注释此行 sys.hwc.device.primary=DP。设置 persist.demo.hdmirotationlock=1。如下图。<br>
| |
− | [[Image:RK3399-8.png]]<br><br>
| |
− | 将修改后的文件 push 到系统中<br>
| |
− | adb push build.prop /system
| |
− | '''<span style="color:red;">连接方法如图:</span>'''<br>
| |
− | [[Image:RK3399-9.png]]<br><br>
| |
− | [[Image:RK3399-10.png]]<br><br>
| |
− | === 双屏异显 demo 使用 ===
| |
− | 仅 android8.1 支持。<br>
| |
− | 1)OrangePi RK3399 连接 HDMI 显示器、LCD1 连接 mipi 屏幕<br>
| |
− | 2)安装 dualscreen.apk、拷贝 test.mp4 文件到安卓系统的/sdcard/目录,可用以下命令完成<br>
| |
− | adb install dualscreen.apk
| |
− | adb push test.mp4 /sdcard/
| |
− | 3)在桌面点击 Settings-》Apps & notifications-》App info-》DualScreen-》Permissions-》打开 Storage 权限<br>
| |
− | 4)点击 DualScreen 图标<br>
| |
− | [[Image:RK3399-11.png]]<br><br>
| |
− | 5)点击播放开始播放 test.mp4<br>
| |
− | [[Image:RK3399-12.png]]<br><br>
| |
− | === PCIE 接口测试 ===
| |
− | 目前 Android 系统只适配了 PCIE 转 SATA(ASM1062)。其他 PCIE 器件的驱动暂时还没有适配。<br>
| |
− | 将硬盘接到 ASM1062,启动板子。系统会识别到设备,并自动挂载硬盘。<br><br>
| |
− | [[Image:RK3399-13.png]]<br><br>
| |
− | 在安卓系统中可打开文件管理器看到挂载的设备。<br><br>
| |
− | [[Image:RK3399-14.png]]<br><br>
| |
− | == Linux 系统的使用说明 ==
| |
− | === Linux 启动亮灯情况说明 ===
| |
− | * 启动后板载 LED 灯会亮红灯,绿灯闪烁
| |
− | <br>
| |
− |
| |
− | === 登录账号和密码 ===
| |
− | * 用户名 orangepi, 密码:orangepi
| |
− | * 用户名 root, 密码:orangepi
| |
− |
| |
− | === 扩展 rootfs 分区 ===
| |
− | 系统第一次启动后会自动扩容,无需手动扩容。如果用户发现并没有扩容成功,可运行以下命令扩容。
| |
− | resize-helper
| |
− | === 时区设置与中文支持 ===
| |
− | 设置上海时间<br>
| |
− | cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
| |
− | <br>
| |
− | 中文设置,打开终端,输入以下命令<br>
| |
− | sudo dpkg-reconfigure locales
| |
− | 进入语言配置界面<br>
| |
− | [[Image:RK3399-15.png]]<br><br>
| |
− | 然后往下找(键盘-按下键),在较后面,找到 zh_CN.UTF-8 UTF-8,如上图所示按空格选中,按回车确定。<br><br>
| |
− | 然后来到如下界面,选择 zh_CN.UTF-8,确定,按下回车键。<br><br>
| |
− | [[Image:RK3399-16.png]]<br><br>
| |
− | 然后来到如下界面,选择 zh_CN.UTF-8,确定,按下回车键。出现如下信息,配置完成<br><br>
| |
− | [[Image:RK3399-17.png]]<br><br>
| |
− | 重启系统即可。<br>
| |
− | 中文输入法安装 参考文档 https://github.com/baiywt/docs<br>
| |
− |
| |
− | === 测试录音与放音 ===
| |
− | 输入以下命令测试麦克风录音<br>
| |
− | arecord -Dhw:0,0 -r8000 -f cd -d 3 audio.wav
| |
− | 3.5 耳机孔输出声音<br>
| |
− | aplay -Dhw:0,0 audio.wav
| |
− | HDMI 输出声音<br>
| |
− | aplay -Dhw:2,0 audio.wav
| |
− | 也可修改/etc/asound.conf 文件,配置默认输出。
| |
− | === HDMI 与 3.5 音频切换 ===
| |
− | 使用 smplayer 播放一段音频,打开 PulseAudio Volune Control 应用。<br><br>
| |
− | [[Image:RK3399-18.png]]<br><br>
| |
− | 点击下图箭头,切换到 Configuration 一栏<br><br>
| |
− | [[Image:RK3399-19.png]]<br><br>
| |
− | 如下图配置,声音从 HDMI 输出。<br><br>
| |
− | [[Image:RK3399-20.png]]<br><br>
| |
− | 声音从耳机输出。<br><br>
| |
− | [[Image:RK3399-21.png]]<br><br>
| |
− |
| |
− | === WIFI 的配置方法 ===
| |
− | * 修改配置文件(适用于 server 版本)
| |
− | 在 /etc/network/interface 中加入下面的配置,然后重启即可<br>
| |
− | auto wlan0
| |
− | iface wlan0 inet dhcp
| |
− | wpa-ssid orangepi //此处填入 WIFI 账号(现在是 orangepi)
| |
− | wpa-psk orangepi //此处填入 WIFI 密码(现在是 orangepi)
| |
− | * 图形界面配置
| |
− | 点击桌面右下角的网络管理器图标<br>
| |
− | [[Image:RK3399-22.png]]<br><br>
| |
− | 点击名为 xunlong_orangepi_5G 的热点。<br><br>
| |
− | [[Image:RK3399-23.png]]<br><br>
| |
− | 输入密码即可连接<br><br>
| |
− | [[Image:RK3399-24.png]]<br><br>
| |
− |
| |
− | === 使用蓝牙传输文件 ===
| |
− | 可下载 blueman 工具进行测试<br>
| |
− | sudo apt-get -y install blueman
| |
− |
| |
− | === 使用 OV13850 摄像头 ===
| |
− | 在 camera2 接口上连接摄像头,启动系统后,打开命令行终端<br>
| |
− | 执行以下命令,如出现如下信息说明摄像头工作正常,如没有此信息,请检查摄像头是否连接正确
| |
− | $ dmesg |grep Async
| |
− | [ 1.378648] rkisp1: Async subdev notifier completed
| |
− | 执行如下命令打开摄像头<br>
| |
− | $ test_camera-gst.sh
| |
− | 用命令拍照,在/home/orangepi 目录下生成 jpg 图片<br>
| |
− | $ test_camera-capture.sh
| |
− | 用命令录像,录像时使用了硬件编码。在/home/orangepi 生成视频文件 output.ts<br>
| |
− | $ test_camera-record.sh
| |
− | === 测试 HDMI IN 功能 ===
| |
− | 执行测试脚本<br>
| |
− | $ test_hdmiin.sh
| |
− | <br>
| |
− |
| |
− | === 使用 MIPI 屏幕 ===
| |
− |
| |
− | 下载 linux 源码,在 dts 中做如下修改<br><br>
| |
− |
| |
− | {| class="wikitable" style="width:800px;"
| |
− | |-
| |
− | |a/arch/arm64/boot/dts/rockchip/rk3399-orangepi-rk3399.dts <br>
| |
− | +++<br>
| |
− | b/arch/arm64/boot/dts/rockchip/rk3399-orangepi-rk3399.dts @@ -316,7 +316,7 @@<br>
| |
− | };<br>
| |
− |
| |
− | &dsi {<br>
| |
− | - status = "disabled";<br>
| |
− | + status = "okay";<br>
| |
− | /delete-property/enable-gpios;<br>
| |
− | /delete-property/reset-gpios; panel@1 {<br>
| |
− | @@ -326,7 +326,7 @@<br>
| |
− | };<br>
| |
− |
| |
− | >9xx_1 {<br>
| |
− | - status = "disabled";<br>
| |
− | + status = "okay";<br>
| |
− | touch-gpio = <&gpio1 20 IRQ_TYPE_LEVEL_LOW>; reset-gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;<br>
| |
− | |}
| |
− | <br>
| |
− | 重新编译替换内核后,LCD1 接 MIPI 屏幕测试。<br>
| |
− | 默认是竖屏,可使用 xrandr -o left 翻转屏幕。<br>
| |
− |
| |
− | === PCIE 接口测试 ===
| |
− | 目前 Linux 系统(v1.2 以上版本)适配了 PCIE 转 SATA(ASM1062)、RTL8822BE网卡。其他 PCIE 器件的驱动暂时还没有适配。<br>
| |
− | * '''RTL8822BE 网卡测试'''
| |
− | 插入 RTL8822BE 无线网卡模块后启动系统,系统将会自动识别并加载 8822be.ko内核模块。<br><br>
| |
− | 通过 lsmod 命令可以查看驱动是否成功加载,通过 ifconfig 命令可以查看 PCIE无线网卡对应的网络节点。
| |
− |
| |
− | root@OrangePi:~# lsmod <br>
| |
− | Module Size Used by 8822be 2420736 0<br>
| |
− |
| |
− | root@OrangePi:~# ifconfig wlp1s0<br>
| |
− | wlp1s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500<br>
| |
− | ether f8:da:0c:5a:00:6f txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B)<br>
| |
− | RX errors 0 dropped 83 overruns 0 frame 0<br>
| |
− | TX packets 0 bytes 0 (0.0 B)<br>
| |
− | TX errors 0 dropped 0 overruns 0 carrier 0 collisions<br><br>
| |
− |
| |
− | * '''PCIE 转 SATA 测试'''<br>
| |
− | '''连接方法如图所示。图中使用的模块是 ASM1062'''<br><br>
| |
− | [[Image:RK3399-25.png]]<br><br>
| |
− | [[Image:RK3399-26.png]]<br><br>
| |
− |
| |
− | === 双屏显示说明 ===
| |
− | OrangePi RK3399 除了 HDMI 接一个显示屏外,还可以支持 typeC 转 HDMI 接第二个显示屏。<br><br>
| |
− | 在 Linux 系统中可以通过界面下对双屏显示模式进行设置。使用鼠标点击 menu-》Preferences-》Monitor Settings<br><br>
| |
− | [[Image:RK3399-27.png]]<br><br>
| |
− | 可以看到当前系统下有两个显示设备,分别是 DP-1 和 HDMI-1。<br>
| |
− | 双屏显示支持双屏同显模式,双屏异显模式。异显模式 支持 On right、Above、On Left、Below 四种模式。<br>
| |
− | 在 Display Settings 中设置 Position,则可以切换双屏的显示模式。<br><br>
| |
− | [[Image:RK3399-28.png]]<br><br>
| |
− | 除此之外,linux 系统还支持双 MIPI DSI 输出(官网镜像不支持,需要修改软件)。<br>
| |
− |
| |
− | === 测试 GPU ===
| |
− | 安装测试软件<br>
| |
− | $ sudo apt install glmark2-es2
| |
− | 运行测试,可看到 GPU 跑分情况。<br>
| |
− | glmark2-es2
| |
− |
| |
− | <br>
| |
− | === Chromium 网页浏览器 ===
| |
− | 系统预装的 Chromium 网页浏览器已经默认启用硬件加速,支持 WebGL,可以输入网址 chrome://gpu 了解硬件加速情况。如下图所示。<br><br>
| |
− | [[Image:RK3399-29.png]]<br><br>
| |
− |
| |
− | == Android 固件烧录 ==
| |
− | 准备工具:<br>
| |
− | 如果主机为 windows 系统:<br>
| |
− | AndroidTool_v2.38(android6.0)
| |
− | AndroidTool_v2.58(android8.1)<br><br>
| |
− | 如果主机为 Linux 系统:<br>
| |
− | Linux_Upgrade_Tool_v1.24 (Android6.0) <br>
| |
− | Linux_Upgrade_Tool_v1.39 (Android8.1)<br><br>
| |
− |
| |
− | 如果板子已有固件与即将要烧录的固件不同(如已有固件为 Android6.0,要烧录Android8.1 的固件),则需要先擦除 EMMC。<br>
| |
− | 下面以擦除板子自带的 Android6.0 系统为例。<br><br>
| |
− | * '''安装 RK USB 驱动'''<br>
| |
− | 下载 DriverAssitant_v4.6.zip,解压,然后运行里面的 DriverInstall.exe 。为了所有设备都使用更新的驱动,请先选择”驱动卸载”,然后再选择”驱动安装”。<br><br>
| |
− | [[Image:RK3399-30.png]]<br><br>
| |
− | * '''连接设备'''<br>
| |
− | 接上 DC 电源<br>
| |
− | USB 数据线一端连接主机,Type-C 一端连接开发板 Type-C 母口。按住设备上的 RECOVERY (升级)键并保持。<br>
| |
− | 短按一下 RESET(复位)键。<br>
| |
− | 大约两秒钟后,松开 RECOVERY 键<br>
| |
− | 此时,如果连接了串口,将看到以下信息打印<br><br>
| |
− | #Boot ver: 2017-07-12#1.05
| |
− | empty serial no. normal boot. checkKey
| |
− | vbus = 1
| |
− | rockusb key pressed.
| |
− |
| |
− | * '''擦除 EMMC<br>
| |
− | 下载 AndroidTool_v2.38 工具,运行 AndroidTool.exe。将会发现一个 LOADER 设备。<br><br>
| |
− | [[Image:RK3399-31.png]]<br><br>
| |
− | 点击升级固件<br><br>
| |
− | [[Image:RK3399-32.png]]<br><br>
| |
− | 点击固件,选择固件路径(注意要跟板子原有固件相同,这里是 Android6.0 固件)<br><br>
| |
− | [[Image:RK3399-33.png]]<br><br>
| |
− | 加载完成后,点击擦除 Flash。<br><br>
| |
− | [[Image:RK3399-34.png]]<br><br>
| |
− | 如果中间遇到下载 boot 失败的情况,只需重新上电,再继续擦除即可。<br>
| |
− | 另外,如果主机是 linux 系统,也可以用 Linux_Upgrade_Tool 工具擦除。<br>
| |
− | 下载 Linux_Upgrade_Tool_v1.24.zip。<br>
| |
− | $ unzip Linux_Upgrade_Tool_v1.24.zip
| |
− | $ cd Linux_Upgrade_Tool_v1.24
| |
− | $ sudo chmod +x ./upgrade_tool
| |
− | 擦除 EMMC<br>
| |
− | sudo ./upgrade_tool ef OrangePi_RK3399_Android6.0_20190920_hdmiin.img
| |
− |
| |
− |
| |
− | $sudo ./upgrade_tool ef OrangePi_RK3399_Android6.0_20190920_hdmiin.img <br>
| |
− | Loading loader...<br>
| |
− | Erase flash ok.<br><br>
| |
− | 下面内容是烧录Android8.1的方法,使用AndroidTool_v2.58工具或Linux_Upgrade_Tool_v1.39.zip。<br>
| |
− | 烧录Android6.0步骤相同,但使用的工具是 AndroidTool_v2.38 或Linux_Upgrade_Tool_v1.24.zip。<br>
| |
− |
| |
− | === 进入 loader 模式烧录到 EMMC ===
| |
− | * '''主机是win7 系统'''<br>
| |
− | (1)安装瑞芯微驱动<br>
| |
− | [[Image:RK3399-35.png]]<br><br>
| |
− | [[Image:RK3399-36.png]]<br><br>
| |
− | [[Image:RK3399-37.png]]<br><br>
| |
− | (2)OrangePi RK3399 先接上 DC 电源适配器, 再通过 Type-C 数据线连接好OrangePi RK3399 与 PC。<br><br>
| |
− | (3)按住 rescover 键不放,轻按下 reset 键,此时 OrangePi RK3399 进入 loader 模式。<br>
| |
− | 此时如连接串口 会看到如下信息:<br>
| |
− | #Boot ver: 0000-00-00#0.00
| |
− | empty serial no. normal boot. checkKey
| |
− | vbus = 1
| |
− | rockusb key pressed.
| |
− | (4)打开 AndroidTool 工具<br><br>
| |
− | [[Image:RK3399-38.png]]<br><br>
| |
− | (5)点击升级固件,选择固件路径后,先擦除 Flash,然后点击升级进行烧录。注意下图红色标记部分的顺序。<br>
| |
− | [[Image:RK3399-39.png]]<br><br>
| |
− | 烧录完成<br><br>
| |
− | [[Image:RK3399-40.png]]<br><br>
| |
− | * '''主机是linux 系统'''<br>
| |
− | (1)准备 upgrade_tool 工具<br>
| |
− | $ unzip Linux_Upgrade_Tool_v1.39.zip
| |
− | $ cd Linux_Upgrade_Tool_v1.39
| |
− | $ sudo chmod +x ./upgrade_tool
| |
− | (2)OrangePi RK3399 接上电源适配器,Type-C 数据线连接好 OrangePi RK3399 与PC。<br>
| |
− | (3)按住 rescover 键不放,轻按下 reset 键,此时 OrangePi RK3399 进入 loader 模式。<br>
| |
− | (4)烧录安卓固件<br>
| |
− | sudo ./upgrade_tool ef OrangePi_rk3399_Android8.1_v1.0.img 擦除 EMMC
| |
− | sudo ./upgrade_tool uf OrangePi_rk3399_Android8.1_v1.0.img 烧录到 EMMC
| |
− |
| |
− | <br>
| |
− | '''注:如遇到无法进入 loader 模式的情况,可尝试 MaskRom 模式烧录。方法如下:'''<br>
| |
− | 1、设备断开所有电源<br>
| |
− | 2、拔出 SD 卡<br>
| |
− | 3、用 USB Type-C 线连接好设备和主机<br>
| |
− | 4、用金属镊子接通 OrangePi RK3399 预留的焊点,并保持。<br><br>
| |
− | [[Image:RK3399-41.png]]<br><br>
| |
− | 5、设备插入电源。<br>
| |
− | 6、稍候片刻,之后松开镊子,设备应该就会进入 MaskRom 模式。<br><br>
| |
− | [[Image:RK3399-42.png]]<br><br>
| |
− |
| |
− | === 使用SD升级卡烧录到 EMMC ===
| |
− | 准备工作:android 固件、一张 tf 卡、读卡器该方式只能在 windows 系统中使用。<br>
| |
− | 将读卡器插入主机,在 OrangePi RK3399 官方工具板块下载 SDDiskTool_v1.56,打开软件。<br>
| |
− | 勾选固件升级,选择固件,最后点击开始创建。请注意下图红色标记的地方。<br><br>
| |
− | [[Image:RK3399-43.png]]<br><br>
| |
− | 完成后将 TF 卡插入 OrangePi RK3399 的卡槽,上电启动,启动代码会将固件烧写到 EMMC 中。如需看到烧写进度,可准备一根 HDMI 线,连接板子与显示器。烧写过程大约是 3~4 分钟。<br><br>
| |
− |
| |
− | == Linux 固件烧录 ==
| |
− | 我们可以通过 Etcher 将 Orange Pi RK3399 的 Linux 固件烧录到 TF 卡中,如果您购买的是没有贴 EMMC Flash 芯片的 Orange Pi RK3399 开发板,则只能通过 TF 卡来启动系统。Etcher 支持如下的操作系统:<br>
| |
− | * Linux(大多数发行版,如 Ubuntu)
| |
− | * MacOS 10.9 和后续的版本
| |
− | * Windows 7 和后续的版本
| |
− | Etcher 软件安装包可以在其官网 https://etcher.io/ 中下载,也可以从 Orange Pi RK3399 的官网下载页的官方工具中下载<br><br>
| |
− | === Etcher 的安装方式 ===
| |
− | * Etcher 在 Windows 系统中的安装方式和普通软件的安装方式一样,这里不再赘述。
| |
− | * Etcher 在 Ubuntu 和 Debian 系统中的安装方式如下
| |
− |
| |
− | 1.增加 Etcher Debian 仓库:<br>
| |
− | $ echo "deb https://dl.bintray.com/resin-io/debian stable etcher" | sudo tee/etc/apt/sources.list.d/etcher.list
| |
− | 2.下载 key
| |
− | $ sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 379CE192D401AB61
| |
− | 3.更新和安装
| |
− | $ sudo apt-get update && sudo apt-get install etcher-electron
| |
− | 4.卸载方式
| |
− | $ sudo apt-get remove etcher-electron
| |
− | $ sudo rm /etc/apt/sources.list.d/etcher.list && sudo apt-get update
| |
− | <br>
| |
− |
| |
− | === 通过Etcher烧录Linux固件的方法 ===
| |
− | * 首先打开 Etcher,其界面如下图所示 <br>
| |
− | [[Image:RK3399-44.png]]<br><br>
| |
− | * 然后通过 “Select image” 选择需要烧录的 Linux 固件<br>
| |
− | * 接着插入 TF 卡,Etcher 会自动识别相应驱动器<br>
| |
− | * 最后点击 “Flash!”开始烧录,烧录完后,即可插入开发板启动系统<br>
| |
− | [[Image:RK3399-45.png]]<br><br>
| |
− |
| |
− | === 通过脚本将Linux系统烧录到 EMMC Flash 芯片中 ===
| |
− | 如果您购买的是的贴有 EMMC Flash 芯片的 Orange Pi RK3399 开发板,通过TF 卡启动 Linux 系统后,还可以通过 install_to_emmc 脚本将 Linux 系统烧录到EMMC Flash 中。<br>
| |
− | 在 Linux 终端中输入 install_to_emmc 命令,然后根据提示输入 y,就会开始自动烧录 Linux 系统到 EMMC Flash 中。烧录完成后,关闭电源,取出 TF 卡, 再次上电后就会自动运行 EMMC Flash 中的 Linux 系统。<br><br>
| |
− |
| |
− |
| |
− | {| class="wikitable" style=" width:800px;"
| |
− | |-
| |
− | |root@OrangePi:~# install_to_emmc<br><br>
| |
− | WARNING: EMMC WILL BE ERASED !, Continue (y/N)? y<br>
| |
− | Erasing EMMC ...<br>
| |
− | Creating new filesystem on EMMC ...<br>
| |
− | New filesystem created on /dev/mmcblk0.<br>
| |
− | Partitioning EMMC ...<br>
| |
− | Creating boot & linux partitions <br>
| |
− | OK.<br>
| |
− | Formating fat partition ... <br>
| |
− | fat partition formated.<br>
| |
− | Formating linux partition (ext4), please wait ... <br>
| |
− | linux partition formated.<br><br>
| |
− | Instaling u-boot to EMMC ... <br><br>
| |
− | Mounting EMMC partitions...<br>
| |
− | FAT partitions mounted to /tmp/_fatdir <br>
| |
− | linux partition mounted to /tmp/_extdir<br><br>
| |
− |
| |
− | Copying file system to EMMC ...<br>
| |
− | Creating "fstab"<br><br>
| |
− |
| |
− | <nowiki>***********************************</nowiki> <br>
| |
− | Linux system installed to EMMC.<br>
| |
− | <nowiki>***********************************</nowiki><br>
| |
− | |}
| |
− |
| |
− | == Android 编译环境搭建 ==
| |
− | 编译环境建议 Ubuntu 14.04 或者 Ubuntu 18.04。不建议用虚拟机。RK3399 目前有两个版本的安卓 SDK,分别是 Android6.0 以及 Android8.1。下面以 Android6.0 为例。<br>
| |
− |
| |
− | === 获取 SDK 源码压缩包 ===
| |
− | Android 源码包下载完后,首先需要将多个压缩文件合并成一个,然后进行解压。<br>
| |
− | mkdir OrangePi-rk3399
| |
− | cat OrangePi-RK3399_Android6.0_V1.0.tar.gz* >
| |
− | OrangePi-RK3399_Android6.0_V1.0.tar.gz
| |
− | tar xvf OrangePi-RK3399_Android6.0_V1.0.tar.gz -C OrangePi-rk3399 cd OrangePi-rk3399
| |
− |
| |
− | === 搭建编译环境 ===
| |
− | * 安装 JDK
| |
− | Android 6.0 开发只能使用 openjdk7 的版本,高于或低于此版本以及 oracle 的JDK 都会导致编译失败。openjdk-7 的安装命令如下:<br>
| |
− | $ sudo add-apt-repository ppa:openjdk-r/ppa
| |
− | $ sudo apt-get update
| |
− | $ sudo apt-get install openjdk-7-jdk
| |
− | * 安装平台支持软件
| |
− | 对于 Ubuntu14.04:<br>
| |
− | $ sudo apt-get update
| |
− | $ sudo apt-get install git gnupg flex bison gperf build-essential \ zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache \ libgl1-mesa-dev libxml2-utils xsltproc unzip
| |
− |
| |
− | $ sudo apt-get install u-boot-tools
| |
− | === 编译 SDK 源码 ===
| |
− | 清除中间文件<br>
| |
− | cd uboot && make distclean
| |
− | cd kernel && make distclean
| |
− | <br>
| |
− | 使用以下命令编译完整镜像<br>
| |
− | ./make.sh -F -M -u
| |
− | <br>
| |
− | 编译完成后,在以下目录生成镜像文件。<br><br>
| |
− |
| |
− | cd rockdev/Image-rk3399_mid_orangepi tree -L 1<br>
| |
− | .
| |
− | ├── boot.img<br>
| |
− | ├── kernel.img<br>
| |
− | ├── MiniLoaderAll.bin<br>
| |
− | ├── misc.img<br>
| |
− | ├── parameter.txt<br>
| |
− | ├── pcba_small_misc.img<br>
| |
− | ├── pcba_whole_misc.img<br>
| |
− | ├── recovery.img<br>
| |
− | ├── resource.img<br>
| |
− | ├── system.img<br>
| |
− | ├── trust.img<br>
| |
− | ├── uboot.img<br>
| |
− | └── update.img<br><br>
| |
− | 0 directories, 13 files<br><br>
| |
− | 其中 update.img 是完整固件,可参照《Android 固件烧录》章节烧录至 EMMC。<br><br>
| |
− |
| |
− | == Linux编译环境搭建 ==
| |
− | <br>
| |
− | 推荐使用主机环境为 64 位ubuntu18.04<br>
| |
− | === 获取 SDK 源码压缩包 ===
| |
− | * '''Orange Pi Linux 源码下载器'''<br>
| |
− | Orange Pi RK3399 的 Linux 源码已经上传到 GitHub,内核版本为 Linux 4.4,我们可以使用 OrangePi Linux 源码专用的下载器进行下载,获取下载器源码的方式如下所示:<br>
| |
− | $ sudo apt-get install git
| |
− | $ git clone https://github.com/orangepi-xunlong/OrangePi_Build.git
| |
− | $ cd OrangePi_Build
| |
− | $ ls
| |
− | Build_OrangePi.sh lib README.md
| |
− | 注意事项:源码要放到本地硬盘上,不要使用共享目录,或者另外挂载进来的硬盘, 否则影响正常编译。<br>
| |
− | * '''运行下载器'''<br>
| |
− | $ ./Build_OrangePi.sh
| |
− | 输入 root 密码,然后回车<br>
| |
− | [[Image:RK3399-46.png]]<br><br>
| |
− | 选择 0 Build system with kernel/uboot/rootfs 进入开发板型号选择的界面<br><br>
| |
− | [[Image:RK3399-47.png]]<br><br>
| |
− | 选择 19 OrangePi RK3399,回车后将会开始下载 Orange Pi RK3399 的 Linux SDK源码<br><br>
| |
− | [[Image:RK3399-48.png]]<br><br>
| |
− | 下载的源码会存放在 OrangePi_Build 的同级目录下<br>
| |
− | $ ls ../OrangePi_Build OrangePi_Build OrangePiRK3399
| |
− |
| |
− | === 搭建编译环境 ===
| |
− | === 编译Linux和U-boot源码 ===
| |
− | == 串口调试工具介绍 ==
| |
− | === 基于Windows平台的使用 ===
| |
− | === 基于Linux平台的使用 ===
| |