RK3399驱动开发笔记 | 01- 开发环境搭建
Posted Mculover666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RK3399驱动开发笔记 | 01- 开发环境搭建相关的知识,希望对你有一定的参考价值。
参考教程,官方wiki:http://t.rock-chips.com/wiki.php
最近开始着手RK3399的开发,使用 TB-RK3399ProD 开发板:
一、RK3399 Pro
RK3399 Pro性能非常强劲,使用双Cortex-A72+四Cortex-A53 大小核CPU结构,频率最高1.8GHz。
二、烧写固件
1. 进入烧写模式
Type-C线连接主机端的USB Host接口和开发板的Type-C接口,按住recovery按键或maskrom按键后重启系统,大约1秒后松开按键,进入烧写模式。
2. windows环境下烧写固件
安装驱动:
烧写固件,首先导入配置文件``:
在官方提供的资料中没有找到rootfs.img,所以不刷根文件系统。
三、安装编译工具链
编译工具链下载地址:https://releases.linaro.org/components/toolchain/binaries/。
选择最新版本:
选择64位架构编译器:
选择在64位主机上运行:
复制下载地址,下载:
wget https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
解压:
tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
将交叉编译工具放到u-boot同级目录。
为了在命令行中更加方便的使用,将bin目录所在路径添加到环境变量中。
编辑用户文件:
vim ~/.bashrc
最后添加(注意路径):
export PATH=$PATH:/home/ubuntu/rk3399prod/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin
重启终端,即可生效。
四、编译uboot
源码下载:
git clone https://github.com/rockchip-toybrick/u-boot.git -b master
下载rkbin到uboot同级目录:
git clone https://github.com/rockchip-toybrick/rkbin -b master
cd u-boot
修改 make.sh 设置:
TOOLCHAIN_ARM32=../gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin
TOOLCHAIN_ARM64=../gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin
编译:
./make.sh rk3399pro
编译成功:
五、编译内核
参考教程:http://opensource.rock-chips.com/wiki_Rockchip_Kernel#Configure_and_Build
下载源码
git clone https://github.com/rockchip-toybrick/kernel.git -b develop-4.19
内核较大,下载时间长。
修改编译工具链位置
vim Makefile
安装必需工具
- bison: GNU 项目的一个语法分析器生成器(Ubuntu 18.04安装bison(GNU词法分析器))
- flex:
sudo apt-get install flex
- libssl-dev:包含libraries, header files and manpages,是openssl的一部分
sudo apt-get install libssl-dev
- liblz4-tool:
sudo apt-get install liblz4-tool
- genext2fs
sudo apt-get install genext2fs
编译
./make-linux.sh TB-RK3399ProD
编译成功之后得到.img镜像:
下载之后,系统正常运行。
以上是关于RK3399驱动开发笔记 | 01- 开发环境搭建的主要内容,如果未能解决你的问题,请参考以下文章
RK3399驱动开发 | 01 -RK3399 gpio的使用(用户态和设备树两种方式)
RK3399应用开发 | 02 - 基于 ubuntu core + xfce桌面搭建opengl环境
RK3399平台开发系列讲解(内核入门篇)1.33内核驱动流程
RK3399平台开发系列讲解(内核入门篇)1.46RTC驱动开发