EB-RV1126-BC-191_SDKV2.2.0-入门开发
一,前期准备
准备材料:ubuntu1804虚拟机
SDK:RV1126_RV1109_LINUX_SDK_V2.2.5_20221009.tar.gz
(为什么不用1.8.0,因为有坑,因为这个版本更好用一点)
板子:EB-RV1126-BC-191+ IMX415
二,编译
安装依赖包:
apt-get install repo git ssh make gcc libssl-dev liblz4-tool expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib unzip device-tree-compiler python-pip libncurses5-dev
编译
在复制SDK的时候想要吐槽一下,是哪位大佬打的包SDK文件近40G,没有把中间文件删除掉再去压缩,作案手法不是太专业。
如果想瘦身一下的话可以先看步骤四。
解压SDK
tar -xvf RV1126_RV1109_LINUX_SDK_V2.2.5_20221009.tar.gz
到RV1126目录下
cd RV1126_RV1109_LINUX_SDK_V2.1.0_20210512
. envsetup.sh
95. rockchip_rv1126_rv1109_pcba
96. rockchip_rv1126_rv1109_ramboot_uvcc
97. rockchip_rv1126_rv1109_recovery
98. rockchip_rv1126_rv1109_sl
99. rockchip_rv1126_rv1109_spi_nand
100. rockchip_rv1126_rv1109_spi_nand_recovery
101. rockchip_rv1126_rv1109_systemd
选[99] rockchip_rv1126_rv1109_spi_nand
./build.sh lunch
You're building on Linux
Lunch menu...pick a combo:
0. default BoardConfig.mk
1. BoardConfig-38x38-emmc.mk
2. BoardConfig-38x38-spi-nand-ab.mk
3. BoardConfig-38x38-spi-nand.mk
4. BoardConfig-ab-v13.mk
5. BoardConfig-aybering(bk).mk
6. BoardConfig-aybering.mk
选[3]BoardConfig-38x38-spi-nand.mk
完整编译./build.sh
目前文件
rockdev/update.img
分步编译
编译UBOOT执行:./build.sh uboot
编译kernel执行:./build.sh kernel
编译buildroot执行:./build.sh buildroot
编译软件包执行:make xxx
例如:make ffmpeg 或者 make libsrtp
编译external和app目录下的软件
make mediaserver
make ispserver
三,烧写
打开tools工具
瑞芯微开发工具v2.84
如上所示,点切换,即可进入Loader模式。
选择-->固件(刚刚编译生成的:rockdev/update.img)
如果因为烧了错误的固件导致变砖-不要慌,使用如下方便进入MASKROM模式
找到ebaina给的文档<02.EB-RV1126-BC-191型整板快速入门手册V2.1.pdf> 6.4节
如上方法可进入MASKROM模式,然后选择正确的固件烧写。
四,遇到的一些问题
使用ebaina给的SDK,如上编译出来的固件发现登录web网页,看不到视频。
于是检查buildroot的配置
修改如下位置
A,修改mediaserver的启动参数(在可以设备端去修改)
位置:device/rockchip/oem/oem_ipc/RkLunch.sh
# TODO:
# HasAudio=0
#if [ $HasDisplay -eq 1 ]; then
# if [ $HasHDMI -eq 1 ]; then
# mediaserver -c /oem/usr/share/mediaserver/rv1109/ipc-hdmi-display.conf &
# else
# if [ -z "$QUICKDISPLAY" ]; then
# if [ $HasAudio -eq 1 ]; then
# mediaserver -c /oem/usr/share/mediaserver/rv1109/ipc-display.conf &
# else
# mediaserver -c /oem/usr/share/mediaserver/rv1109/ipc-display-without-audio.conf &
# fi
# else
# if [ $HasAudio -eq 1 ]; then
# mediaserver -c /oem/usr/share/mediaserver/rv1109/ipc.conf &
# else
# mediaserver -c /oem/usr/share/mediaserver/rv1109/ipc-without-audio.conf &
# fi
# fi
# fi
#else
# if [ $HasAudio -eq 1 ]; then
mediaserver -c /oem/usr/share/mediaserver/rv1109/ipc.conf &
# else
# mediaserver -c /oem/usr/share/mediaserver/rv1109/ipc-without-audio.conf &
# fi
#fi
B,修改buildroot配置
位置:buildroot/configs/rockchip_rv1126_rv1109_spi_nand_defconfig
#include "base.config"
#include "base_extra.config" #add by zcx
#include "debug.config"
#include "audio.config"
#include "wifi.config"
#include "network.config"
#include "video_mpp.config"
#include "rv1126_rv1109_arm.config"
#include "ubifs.config"
#include "camera.config"
#include "updateEngine.config"
#include "ipc_quick_display.config" #add by zcx ####
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_TARGET_TZ_INFO=y
BR2_ROOTFS_OVERLAY="board/rockchip/rv1126_rv1109/fs-overlay-sysv/"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/rockchip/common/post-image-ubi.sh"
BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE="imx415_YT10092_IR0147-28IRC-8M-F20.xml" #change by zcx
BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_RKISP_DEMO=y
BR2_PACKAGE_ROCKIT=y
BR2_PACKAGE_ROCKIT_TGI=y
BR2_PACKAGE_ROCKIT_MPI=y
#BR2_PACKAGE_RKFACIAL=y
#BR2_PACKAGE_UVC_APP=y
#BR2_PACKAGE_UAC_APP=y
#BR2_PACKAGE_UVC_APP_MINILOGGER=y
#BR2_PACKAGE_UAC_APP_ALSA_PLAYBACK=y
BR2_PACKAGE_RKWIFIBT_RTL8188FU=y
BR2_PACKAGE_IO=y
BR2_PACKAGE_VENDOR_STORAGE=y
BR2_PACKAGE_RKMEDIA_V4L2_CAPTURE=y
BR2_PACKAGE_RKMEDIA_USE_AIQ=y
BR2_PACKAGE_DRM_DISPLAY_OUTPUT=y
BR2_PACKAGE_RKMEDIA_MPP=y
BR2_PACKAGE_RKMEDIA_ALSA=y
BR2_PACKAGE_RKMEDIA_ALSA_PLAYBACK=y
BR2_PACKAGE_RKMEDIA_ALSA_CAPTURE=y
BR2_PACKAGE_RKMEDIA_AUDIO_ALGORITHM=y
BR2_PACKAGE_RKMEDIA_AUDIO_CODEC=y
BR2_PACKAGE_RKMEDIA_AUDIO_ENCODER=y
BR2_PACKAGE_RKMEDIA_AUDIO_DECODER=y
BR2_PACKAGE_RKMEDIA_RKRGA=y
BR2_PACKAGE_RKMEDIA_RKNN=y #add by zcx
BR2_PACKAGE_RKMEDIA_ROCKFACE=y #add by zcx
BR2_PACKAGE_RKMEDIA_ROCKX=y #add by zcx
BR2_PACKAGE_RKMEDIA_MOVE_DETECTION=y
BR2_PACKAGE_RKMEDIA_OCCLUSION_DETECTION=y
BR2_PACKAGE_RKMEDIA_EXAMPLES=y #add by zcx
BR2_PACKAGE_RKMEDIA_LIVE555=y
BR2_PACKAGE_RKMEDIA_RTSP_SERVER=y
BR2_PACKAGE_RKMEDIA_RTSP_SERVER_H264=y
BR2_PACKAGE_RKMEDIA_RTSP_SERVER_H265=y
# BR2_PACKAGE_MINIGUI_SOFTWARE_SCALE is not set
BR2_PACKAGE_RKNPU_USE_MINI_DRIVER=y
BR2_PACKAGE_RKNPU_USE_RKNN_API=y
BR2_PACKAGE_IPCWEB_BACKEND=y
BR2_PACKAGE_DBSERVER=y
BR2_PACKAGE_NETSERVER=y
BR2_PACKAGE_STORAGE_MANAGER=y
BR2_PACKAGE_MEDIASERVER=y
BR2_PACKAGE_MEDIASERVE_OSD_SERVER=y
BR2_PACKAGE_MEDIASERVE_EXIV2_FEATURE=y
# BR2_PACKAGE_MEDIASERVE_USE_ROCKFACE_RECOGNIZE is not set
# BR2_PACKAGE_MEDIASERVE_USE_ROCKX is not set
BR2_PACKAGE_RK_OEM=y
BR2_PACKAGE_RK_OEM_RESOURCE_DIR="$(TOPDIR)/../device/rockchip/oem/oem_ipc"
BR2_PACKAGE_RK_OEM_INSTALL_TARGET_DIR="$(BASE_DIR)/target/oem"
BR2_PACKAGE_RK_OEM_IMAGE_FILESYSTEM_TYPE="NONE"
BR2_PACKAGE_RK_OEM_IMAGE_PARTITION_SIZE=0x6400000
BR2_PACKAGE_IPC_DAEMON=y
BR2_PACKAGE_CALLFUNIPC=y
BR2_PACKAGE_ISP2_IPC=y
BR2_PACKAGE_ISP2_IPC_DBUS=y
BR2_PACKAGE_ISP2_IPC_DBSERVER=y
BR2_PACKAGE_ISP2_IPC_MINILOGGER=y
BR2_PACKAGE_PCBA_ADB_TEST=y
BR2_PACKAGE_DBUS_GLIB=y
BR2_PACKAGE_FDK_AAC=y
BR2_PACKAGE_USBMOUNT=y
BR2_PACKAGE_SQLITE_STAT3=y
BR2_PACKAGE_SQLITE_ENABLE_FTS3=y
BR2_PACKAGE_SQLITE_ENABLE_JSON1=y
BR2_PACKAGE_SQLITE_ENABLE_UNLOCK_NOTIFY=y
BR2_PACKAGE_SQLITE_SECURE_DELETE=y
#BR2_PACKAGE_LIBYUV=y
#BR2_PACKAGE_LIBV4L=y
#BR2_PACKAGE_LIBV4L_UTILS=y
BR2_PACKAGE_AVAHI=y
BR2_PACKAGE_AVAHI_DAEMON=y
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
BR2_PACKAGE_ATFTP=y
BR2_PACKAGE_CONNMAN=y
BR2_PACKAGE_CONNMAN_WIFI=y
BR2_PACKAGE_CONNMAN_LOOPBACK=y
BR2_PACKAGE_CONNMAN_CLIENT=y
BR2_PACKAGE_FCGIWRAP=y
BR2_PACKAGE_NGINX=y
BR2_PACKAGE_NGINX_HTTP_SSL_MODULE=y
BR2_PACKAGE_NGINX_DEBUG=y
BR2_PACKAGE_NGINX_HTTP_FLV_LIVE=y
#BR2_PACKAGE_NGINX_RTMP=y
# BR2_PACKAGE_NTP_NTPD is not set
BR2_PACKAGE_TFTPD=y
BR2_PACKAGE_ANDROID_TOOLS=y
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=4096
C,编译
将buildroot/output/rockchip_rv1126_rv1109_spi_nand 删掉重启编译。
D,注意
RV1126的sensor配置在builroot defconfig文件和内核设备树均有配置支持的sensor型号
核对好自己的sensor板型号对号修改。
默认ebaina发的是imx415。如图rockchip_rv1126_rv1109_spi_nand_defconfig有支持。
四,SDK瘦身
发现SDK中无用的文件是有点太多(编译后的废料文件,repo备份)
rm .repo 删除掉repo备份,这个一般用不上,自己重新建一个git就可以了。
rm rockdev/ 编译后的镜像文件
rm IMAGE/ 每次编译生成的镜像文件
rm buildroot/output/* 编译时生成的中间文件。
删除完以上文件之后,就可以重新创建git仓库,硬盘空间会空出很多很多。
如果想重新打包SDK的话,
只需要压缩.git文件夹的就可以了
tar zcvf RV1126_RV1109_LINUX_SDK.tar.gz RV1126_RV1109_LINUX_SDK_V2.1.0_20210512/.git
使用时
解压SDK
git rest --hard 即可。
- 分享
- 举报
-
-Links- 2023-04-14 11:10:06回复 举报RV1126_RV1109_LINUX_SDK_V2.2.5_20221009.tar.gz 请问如何获取
-
浏览量:1199次2023-12-21 18:26:41
-
浏览量:3942次2021-06-18 16:05:42
-
浏览量:957次2023-11-10 15:08:11
-
浏览量:634次2023-12-21 16:28:56
-
浏览量:762次2023-12-25 14:23:01
-
浏览量:1805次2024-01-05 14:15:33
-
浏览量:1349次2023-07-21 17:25:16
-
2023-03-14 17:30:00
-
浏览量:421次2023-10-27 10:03:42
-
浏览量:3366次2023-04-16 20:29:23
-
浏览量:2821次2023-06-26 08:57:07
-
浏览量:971次2023-11-30 11:48:53
-
浏览量:1183次2024-01-09 17:35:19
-
浏览量:1156次2023-11-27 14:02:37
-
浏览量:4753次2022-06-11 13:46:26
-
浏览量:1640次2023-05-10 19:31:01
-
浏览量:396次2023-10-30 16:16:11
-
浏览量:3341次2023-03-24 16:30:17
-
浏览量:1591次2023-12-29 17:51:55
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
艾编程的鲁小班
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明