泰山派RK3566学习记录
一.烧录环境
1.rkdeveloptool SPL烧录命令格式
For with SPL:
rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt
rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 u-boot.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
- rkdeveloptool miniloader 烧录命令格式
For with miniloader
rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt
rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
1、设置Rkdeveloptool
进入源码目录
cd prebuilts/rkdeveloptool
安装依赖
sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf pkg-config libusb-1.0
编译
autoreconf -i
./configure
make
sudo make install
出现以下打印即安装成功
如果使用rkdeveloptool下载loader.bin 时,出现错误Creating Comm Object failed!
,使用如下解决方法:
sudo sh -c 'echo SUBSYSTEM==\"usb\", ATTR{idVendor}==\"2207\", MODE=\"0666\", GROUP=\"plugdev\" > /etc/udev/rules.d/51-android.rules'
sudo udevadm control --reload-rules
sudo udevadm trigger
二、编译u-boot、kernel
修改uboot目录:make.sh中的CROSS_COMPILE_ARM64为自己的编译器
./make.sh rk3566_defconfig
编译生成uboot.img并不是要烧录的镜像,根据瑞芯微wiki,bl31.bin+u-boot-nodtb+uboot.dtb=u-boot.itb才是要烧录的镜像
ARCH=arm64 CROSS_COMPILE=aarch64-gnu-linux- make u-boot.itb -j12
生成u-boot.itb
烧录
rkdeveloptool db rk356x_spl_loader_v1.13.112.bin
2.烧录分区表
rkdeveloptool gpt ../rockdev/out/parameter.txt
验证分区表
3.烧录启动文件
rkdeveloptool ul rk356x_spl_loader_v1.13.112.bin
4.烧录uboot
rkdeveloptool wl 0x4000 u-boot.itb
5.烧录kernel
rkdeveloptool wl 0x8000 boot.img
6.烧录rootfs
rkdeveloptool wl 0x58000 rootfs.img
连接WIFI
1.iwlist wlan0 scan //扫描WiFi命令
2.vi /data/cfg/wpa_supplicant.conf //修改配置文件
network={
ssid="WiFi-AP" // WiFi 名字
psk="12345678" // WiFi 密码
key_mgmt=WPA-PSK // 加密方式
# key_mgmt=NONE // 不加密
}
3.wpa_supplicant -B -i wlan0 -c /data/cfg/wpa_supplicant.conf //连接WiFi
开机自动连接WiFi
打开编辑 /etc/inittab
追加 ::sysinit:/root/test.sh,即在系统初始化后启动对应路径的脚本
创建文件 /路径/wifi_con.sh
在 wifi_con.sh 中添加上述文本 ,头文件写成#!/bin/sh
udhcpc -i wlan0 自动分配 IP 地址
iwgetid 查看已连接WiFi
Buildroot命令行里报电源域警告
隔一段时间打印一段红色的如下内容:
/usr/bin/list-iodomain.sh version: V1.0.1
Get CHIP ID: rk356x
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXX PLEASE CHECK IO-DOMAIN !!!!!!!!!!!!!!!
XXXXXXXXXX 请务必检查IO电源域配置 !!!!!!!!!!!!!!!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Get IO DOMAIN VALUE:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
注意事项:PMUIO1/PMUIO2 固定不可配
VCCIO2电平由硬件FLASH_VOL_SEL决定:
当VCCIo2供电是1.8V,则FLASH_VOL_SEL管脚必须保持为高电平;
当VCCIO2供电是3.3V,则FLASH_VOL_SEL管脚必须保持为低电平;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
pmuio2_vsel: 3.3V
vccio7_vsel: 3.3V
vccio6_vsel: 1.8V
vccio5_vsel: 3.3V
vccio4_vsel: 1.8V
vccio3_vsel: 3.3V
vccio2_vsel: 3.3V
vccio1_vsel: 3.3V
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
该脚本的地址就是:/usr/bin/list-iodomain.sh
把最后三行注释掉,如下:
if [ "$1" = "-h" -o "$1" = "--help" ]; then
help_msg
fi
#chk_env
#get_chip_id $1
#echo_msg "Get CHIP ID: $CHIP_ID"
#get_iodomain_val
LVGL移植
参考:https://wei-ruitong.gitee.io
CMakeLists.txt文件中需要指定编译器
SET(CMAKE_C_COMPILER /home/yw/linux/linux-kerinal/rk3566/buildroot/output/rockchip_rk3566/host/bin/aarch64-buildroot-linux-gnu-gcc)
project(tspi_lvgl) //放在设置编译器后面才生效
移植 lottie 动画
在泰山派/test文件夹中要有/test/emoji_shock.json文件
调节屏幕亮度
echo 50 > /sys/devices/platform/backlight/backlight/backlight/brightness
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)