基于眺望开发板开发RK3399

目录

1 开发环境

2 参考文档或网址

3 安装相关软件包

4 获取linux源码包

5 编译出可以在开发板上运行的一系列镜像并编译

6 修改kernel并编译

7 支持telnetd

7.1 修改kernel并编译

7.2 修改busybox并编译

7.3 使串口登录时需要密码

8 基本组件测试

8.1 网口测试

8.2 USB3.0接口测试

8.3 USB2.0接口测试

8.4 SD卡接口测试

9 应用程序开发

终端打印字符串

10 更改根文件系统


1 开发环境

ubuntu 1604 desktop

2 参考文档或网址

TW-AC3399-EVM评估板用户手册.pdf

Rockchip Linux软件开发指南.pdf

Android开发工具手册_v1.2.pdf

3 安装相关软件包

sudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools
sudo apt-get install device-tree-compiler gcc-aarch64-linux-gnu mtools parted
sudo apt-get install libudev-dev libusb-1.0-0-dev python-linaro-image-tools
sudo apt-get install linaro-image-tools autoconf autotools-dev libsigsegv2 m4
sudo apt-get install intltool libdrm-dev curl sed make binutils build-essential gcc
sudo apt-get install g++ bash patch gzip bzip2 perl tar cpio python unzip rsync file
sudo apt-get install bc wget libncurses5 libqt4-dev libglib2.0-dev libgtk2.0-dev
sudo apt-get install libglade2-dev cvs git mercurial rsync openssh-client subversion
sudo apt-get install asciidoc w3m dblatex graphviz python-matplotlib libc6:i386
sudo apt-get install libssl-dev texinfo genext2fs

4 获取linux源码包

mkdir RK3399

将rk3399-linux-sdk-20200728.tar拷贝到RK3399目录

cd RK3399/

tar xvf rk3399-linux-sdk-20200728.tar

git reset --hard

git branch -a

git checkout master

ls -a

可以看到如下文件或文件夹

app  build_all.sh  buildroot  build.sh  debian  device  distro  docs  envsetup.sh  external  .git  .gitignore  kernel  Makefile  mkfirmware.sh  prebuilts  rk3399-linux-sdk-20200728.tar  rkbin  rkflash.sh  tools  u-boot  ubuntu

5 编译出可以在开发板上运行的一系列镜像并编译

mkdir rk3399-linux

cd rk3399-linux/

tar xvf rk3399-linux-sdk-20200728.tar

git reset --hard

git branch -a

git checkout master

./build.sh init,选择9. BoardConfig_rp3399_buildroot

修改tools\linux\Linux_Pack_Firmware\rockdev\package-file为如下图所示

./build.sh,可以生成u-boot、kernel相关的img文件,但是生成rootfs.img时会报错。

./build.sh buildroot,在buildroot/output/rockchip_rk3399/images/下应该会生成一个400多M大小的ext2文件系统。

./build.sh,此时会在 rockdev/下生成例如update-rp3399-buildroot-20210507-225122.img的400多M大小的文件,使用烧录工具AndroidTool.exe烧录该文件即可。

6 修改kernel并编译

cd kernel

make menuconfig

cd ..

./build.sh

在rockdev目录生成update包。

7 支持telnetd

默认buildroot的配置支持ssh远程登录,登录账号:root,密码:rockchip

7.1 修改kernel并编译

cd kernel

make menuconfig,选中Device Drivers->Character devices->Legacy (BSD) PTY support,(256)Maximum number of legacy PTY in use

cd ..

./build.sh

在rockdev目录生成update包。

7.2 修改busybox并编译

cd buildroot

make busybox-menuconfig

确保选中Networking Utilities->telnet及其子选项、Networking Utilities->telnetd及其子选项。

make busybox-update-config

cd ..

./build.sh buildroot

./build.sh

在rockdev目录生成update包。

使用telnet登录

板端支持telnetd

远程端登录账号:root,密码:rockchip

7.3 使串口登录时需要密码

默认buildroot生成的系统不需要密码直接可以使用串口访问

需要修改/etc/inittab

注释掉::respawn:-/bin/sh,将出现/sbin/getty的行注释掉

在::sysinit:/etc/init.d/rcS的后面添加::respawn:/sbin/getty -L  ttyFIQ0 0 vt100

8 基本组件测试

8.1 网口测试

直接用网线接入路由器,打印如下,

[root@rk3399:/]# [  508.222449] rk_gmac-dwmac fe300000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx

可自动获取到IP地址,如果路由器可以上外网则可以直接ping通www.baidu.com

可以执行ifconfig eth0 down禁用以太网功能,之后执行ifconfig eth0 up可启用以太网功能

8.2 USB3.0接口测试

插入U盘,自动识别到U盘并打印相关信息,且自动挂载U盘到/media/usb0。只支持FAT32文件系统,不支持exFAT和NTFS文件系统。

8.3 USB2.0接口测试

插入U盘,自动识别到U盘并打印相关信息,且自动挂载U盘到/media/usb0。只支持FAT32文件系统,不支持exFAT和NTFS文件系统。

8.4 SD卡接口测试

插入SD卡,自动识别到SD卡并打印相关信息,且自动挂载SD卡到/mnt/sdcard。只支持FAT32文件系统,不支持exFAT和NTFS文件系统。

9 应用程序开发

终端打印字符串

编写测试代码,调用printf函数简单打印几个字符。编译成可执行程序,通过挂载或者拷入板端运行。

cd /home/lijun/tmp_mount/

/home/lijun/rk3399-linux/buildroot/output/rockchip_rk3399/host/bin/aarch64-buildroot-linux-gnu-gcc testPrint.c -o testPrint

10 更改根文件系统

应用程序做好之后需要放入根文件系统,做成烧录文件烧到板端。比如做好wifi相关移植之后,相关的依赖程序放入/home/WIFI。

根文件系统路径为:buildroot/output/rockchip_rk3399_recovery/target,默认没有home目录,直接创建即可,其他文件依次拷贝进去。

./build.sh buildroot(这一步不能省略)

./build.sh

在rockdev目录生成update包。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ta是一个搬运工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值