幸狐picomax SDK 适配 rv1160G2 摄像头
前段时间在老王那里收了一些RV1106G2的摄像头主板,刚好幸狐的picomax也是使用RV1106主控,提供的SDK修改一下就能适配这个主板。
摄像头主板参数
本摄像头主板用RV1106G2做主控,CMOS传感器为SC2226,wifi模块为wq9001,ROM为16MB的nor-flash。
预处理
16MB的nor-flash太小,USB口被wq9100占用,所以无法通过USB口烧写固件,故把flash拆除,通过tf卡启动。
编译主机为Ubuntu 22.04
在编译主机上安装依赖环境
sudo apt update
sudo apt-get install -y git ssh make gcc gcc-multilib g++-multilib module-assistant expect g++ gawk texinfo libssl-dev bison flex fakeroot cmake unzip gperf autoconf device-tree-compiler libncurses5-dev pkg-config bc python-is-python3 passwd openssl openssh-server openssh-client vim file cpio rsync
下载SDK
SDK的部署说明见
幸狐SDK使用说明
下载SDK
git clone https://gitee.com/LuckfoxTECH/luckfox-pico.git
第一次编译
进入sdk的顶层目录
luckfox-pico$ git branch -a
* main
remotes/origin/5.10.110
remotes/origin/HEAD -> origin/main
remotes/origin/busybox
remotes/origin/main
remotes/origin/prebuilt-rootfs
cat ./sysdrv/source/kernel/Makefile
得到版本信息
VERSION = 5
PATCHLEVEL = 10
SUBLEVEL = 160
EXTRAVERSION =
NAME = Dare mighty things
可见kernel的当前版本为5.10.160
由于我对5.10.110比较熟悉
所以切换到该版本
git checkout origin/5.10.110
确认一下版本
cat ./sysdrv/source/kernel/Makefile
VERSION = 5
PATCHLEVEL = 10
SUBLEVEL = 110
EXTRAVERSION =
NAME = Dare mighty things
第一次编译
luckfox-pico$ ./build.sh
接下来选择以下选项
[4] RV1106_Luckfox_Pico_Pro_Max
[0] SD_CARD
[0] Buildroot(Support Rockchip official features)
第一次编译需要下载buildroot的组件,所以要比较长时间。
第一次编译主要是为了验证依赖是否正常,能正常编译后,修改sdk适配主板。
更改BoardConfig文件
创建BoardConfig-SD_CARD-Buildroot-RV1106_Luckfox_Pico_Pro_Max-IPC.mk文件的副本
BoardConfig-SD_CARD-Buildroot-RV1106g2_-IPC.mk
luckfox-pico$ cp ./project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Buildroot-RV1106_Luckfox_Pico_Pro_Max-IPC.mk ./project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Buildroot-RV1106g2_-IPC.mk
不想更改build.sh文件,直接创建链接到该文件
luckfox-pico$ rm ./.BoardConfig.mk
luckfox-pico$ ln -s ./project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Buildroot-RV1106g2_-IPC.mk ./.BoardConfig.mk
使用自己的设备树
# Kernel dts
# 修改这个设备树,适应自己的主板
export RK_KERNEL_DTS=rv1106g2-ipc.dts
创建自己的设备树
把rv1106g-38x38-ipc-v10.dts 改为 rv1106g2-ipc.dts
cp ./sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-38x38-ipc-v10.dts ./sysdrv/source/kernel/arch/arm/boot/dts/rv1106g2-ipc.dts
生成固件
./build.sh
得到img文件,烧录到tf卡,能正常启动内核。