rk3399开发教程
以下是针对RK3399开发板的入门教程,涵盖环境搭建、系统烧录及基础开发步骤:
一、开发环境准备
-
硬件准备
- RK3399开发板(如Firefly-RK3399、Rock Pi 4等)
- USB Type-C数据线(用于供电和ADB调试)
- MicroSD卡或eMMC模块(存储系统镜像)
- 串口调试工具(如USB转TTL模块)
-
软件工具
- 烧录工具:RKDevTool(Windows)或upgrade_tool(Linux)
- 镜像文件:根据需求选择Android、Linux(Ubuntu/Debian)或第三方系统(如Armbian)
- 交叉编译工具链:gcc-linaro-aarch64-linux-gnu(用于交叉编译)
- 串口终端:PuTTY(Windows)或minicom(Linux)
二、系统烧录步骤
1. 使用RKDevTool(Windows)
- 安装Rockchip USB驱动(驱动文件通常随RKDevTool提供)。
- 开发板进入Loader模式:
- 断开电源,按住Recovery键(或通过跳线帽设置),连接USB到PC。
- 设备管理器中出现“Rockusb Device”表示成功。
- 打开RKDevTool,加载镜像配置文件(
.cfg文件),选择对应固件(如rk3399_linux.img)。 - 点击“执行”开始烧录,完成后重启开发板。
2. 使用Linux命令行
# 安装upgrade_tool
sudo apt install android-tools-fastboot
sudo upgrade_tool ul rk3399_linux.img
三、基础开发示例
1. GPIO控制(Linux)
- 启用GPIO引脚(以GPIO1_A0为例):
echo 32 > /sys/class/gpio/export # GPIO编号计算:Group1_A0 = (1-1)*32 + 0 = 32 echo out > /sys/class/gpio/gpio32/direction - 控制电平:
echo 1 > /sys/class/gpio/gpio32/value # 高电平 echo 0 > /sys/class/gpio/gpio32/value # 低电平
2. PWM配置
通过设备树(DTS)启用PWM:
&pwm0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pwm0_pin>;
};
用户态控制:
echo 1000000 > /sys/class/pwm/pwmchip0/period # 设置周期(ns)
echo 500000 > /sys/class/pwm/pwmchip0/duty_cycle # 占空比
echo 1 > /sys/class/pwm/pwmchip0/enable # 启动PWM
四、高级开发
-
Android开发
- 使用Android Studio编写APP,通过ADB调试。
- 修改系统层代码需编译AOSP(需RK3399专属BSP支持)。
-
Linux应用开发
- 交叉编译示例:
aarch64-linux-gnu-gcc -o hello hello.c - 部署到开发板运行。
- 交叉编译示例:
-
内核定制
- 下载内核源码:
git clone https://github.com/rockchip-linux/kernel - 修改设备树(
arch/arm64/boot/dts/rockchip/目录),编译后替换kernel.img。
- 下载内核源码:
五、调试与问题排查
-
串口调试
- 连接TX/RX/GND引脚,波特率设为1500000。
- 查看系统启动日志及内核输出。
-
常见问题
- 无法识别设备:检查USB驱动、Loader模式是否正确。
- 系统无法启动:确认镜像兼容性,重新烧录或更换电源(建议5V/3A)。
六、资源推荐
-
官方文档
- Rockchip RK3399技术参考手册(TRM)
- 开发板厂商Wiki(如Firefly Wiki)
-
社区支持
- Rockchip开源社区:https://www.rock-chips.com
- 论坛:Armbian Forum、CNXSoft
注意事项:
- 操作前备份重要数据,避免误擦除。
- 修改硬件配置(如设备树)时谨慎操作,建议逐步验证。
- 确保供电稳定,避免因电流不足导致异常。
按此流程可快速上手RK3399开发,建议从官方示例开始逐步深入。
rk3399移植Linux内核
RK3399是一款由中国厂商瑞芯微推出的高性能处理器芯片,被广泛用于嵌入式系统开发。在进行应用程序开发之前,我们需要将Linux内核移植到
2024-01-08 09:56:13
RK3399硬件设计指南
RK3399是一款基于ARM架构的高性能处理器,常用于嵌入式系统和单板计算机。在进行RK3399硬件设计时,需要考虑多个方面,包括电源、封装、信号传输、外设接口等。本文将详细介绍
2023-12-28 10:59:10
rk3399性能评测
rk3399性能评测 RK3399 是一种由瑞芯微(Ruijie Micro)生产的超高性能、低功耗、多核 SoC(System on a chip)处理器,它采用了 ARM 公司的大臂架构
2023-08-21 17:32:38
ROC RK3399 PC Pro源代码Linux SDK(仅支持RK3399)
电子发烧友网站提供《ROC RK3399 PC Pro源代码Linux SDK(仅支持RK3399).txt》资料免费下载
资料下载
刘波
2022-09-20 16:03:04
RK3399 BOX开发板的用户指南免费下载
本文档主要介绍RK33399 BOX 基本功能特点和硬件特性、多功能硬件配置、软件调试操作使用方法,旨在帮助开发人员更快、更准确地使用RK3399
资料下载
佚名
2019-12-26 11:56:29
RK3399的全套开发资料合集免费下载包括了PCB数据和用户手册等
本文档的主要内容详细介绍的是RK3399的全套开发资料合集免费下载包括了:PCB参考设计,RK3399安卓主板的数据手册,
资料下载
瑞芯微方案开发老王
2019-09-27 08:00:00
什么是RK3399开发板基础配置
FireFly-RK3399自带的kernel默认是没有开启NFS服务的。因此,想要挂载到虚拟机上,必须在开发板上安装NFS服务。而FireFly-RK339
2023-02-17 16:10:03
RK3399|RK3399方案讲解如何实现双路mipi拼接屏+HDMI 三屏显示
RK3399|RK3399方案讲解如何实现双路mipi拼接屏+HDMI 三屏显示。RK3399 有两个VOP,分别为VOPB(4096x2160
2021-11-25 13:58:06
Firefly-RK3399开发板介绍
Firefly-RK3399有灵活的启动方式。一般情况下,除非硬件损坏,Firefly-RK3399开发板是不会变砖的。
2019-11-23 11:30:25
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机
- 元宇宙概念龙头股一览