最近无聊,看到了这块板子,所以整了一块玩。
SDK: https://github.com/LuckfoxTECH/luckfox-pico.git
Wiki: https://wiki.luckfox.com/zh/Luckfox-Pico/Core3566-SDK/
按Wiki来:
# in ubuntu 18.04, normal user
sudo apt-get install repo 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
git clone https://github.com/LuckfoxTECH/luckfox-pico.git
cd luckfox-pico
pushd tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf
./env_install_toolchain.sh
popd
./build.sh lunch # 预配置
内核配置:
pushd sysdrv/source/kernel
cp ./arch/arm/configs/luckfox_rv1106_linux_defconfig .config
make ARCH=arm menuconfig
# in menuconfig
# 关闭 DebugFs
# 不选中
Kernel hacking -> Generic Kernel Debugging Instruments -> Debug Filesystem
# 启用 RKNPU 支持
# 选中
Device Drivers -> RKNPU -> ROCKCHIP_RKNPU
编译:
popd
# 先全部编译一遍,生成必要的文件
./build.sh
下载稳定版本:
cd ~
wget https://buildroot.org/downloads/buildroot-2023.02.4.tar.gz
tar xvfz buildroot-2023.02.4.tar.gz
cd buildroot-2023.02.4
make menuconfig
如图配置:
构建需要的软件包不再赘述。
make
# make -j4
编译telnetd(因为没有adbd):
make busybox-menuconfig
# 启用 telnetd
# 选中
Networking Utilities -> telnetd
重新编译(不需要清除output):
make
# make -j4
配置 inittab:
# nano output/target/etc/inittab
# 任意地方加入
::sysinit:/usr/sbin/telnetd
::sysinit:/sbin/udhcpc -b -i eth0 -p /var/run/udhcpc.pid -R
# 修改
ttyFIQ0::respawn:/sbin/getty -L ttyFIQ0 0 vt100
不知道怎么回事,Buildroot 打包的 ubi 不能用,所以需要使用 SDK 提供的打包脚本。
计算UBI大小:
32 * 0x0100000
打包:
cd ~
# mkfs_ubi.sh <source dir> <output dir> <partition size> <partition name> <fs type> <fs comp>
~/luckfox-pico/sysdrv/tools/pc/mtd-utils/mkfs_ubi.sh ~/buildroot-2023.02.4/output/target ~ 33554432 rootfs ubifs lzo
# 会在当前目录下生成 ubi 文件
烧录部分不再赘述。
在串口上电时疯狂按下 Ctrl + C:
# 编辑 mtd 分区(按实际配置)
=> env edit mtdparts
edit: spi-nand0:256K(env),256K@256K(idblock),512K(uboot),4M(boot),64M(rootfs)
# 编辑启动选项
=> env edit sys_bootargs
edit: ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs rk_dma_heap_cma=24M
# rk_dma_heap_cma 是预分配给 npu 的内存大小
在内核启用支持后,dev目录下现在有个 rknpu 设备:
编译例程:
cd ~
git clone https://github.com/rockchip-linux/rknpu2
cd rknpu2/examples/RV1106_RV1103/rknn_yolov5_demo
export RK_RV1106_TOOLCHAIN=arm-rockchip830-linux-uclibcgnueabihf
./build-linux_RV1106.sh
运行:
# 编译后拷贝 install/rknn_yolov5_demo_Linux 目录到开发板
# 在开发板上进入 rknn_yolov5_demo_Linux 目录
export LD_LIBRARY_PATH=$(pwd)/lib
./rknn_yolov5_demo model/RV1106/yolov5s-640-640.rknn model/bus.jpg
结果:
BBcode十分难用(
离线