一,前期准备
准备材料: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_pcba96. rockchip_rv1126_rv1109_ramboot_uvcc97. rockchip_rv1126_rv1109_recovery98. rockchip_rv1126_rv1109_sl99. rockchip_rv1126_rv1109_spi_nand100. rockchip_rv1126_rv1109_spi_nand_recovery101. rockchip_rv1126_rv1109_systemd选[99] rockchip_rv1126_rv1109_spi_nand
./build.sh lunch
Youre building on LinuxLunch menu…pick a combo:0. default BoardConfig.mk1. BoardConfig-38×38-emmc.mk2. BoardConfig-38×38-spi-nand-ab.mk3. BoardConfig-38×38-spi-nand.mk4. BoardConfig-ab-v13.mk5. BoardConfig-aybering(bk).mk6. BoardConfig-aybering.mk选[3]BoardConfig-38×38-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#fiB,修改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=yBR2_TARGET_TZ_INFO=yBR2_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 zcxBR2_PACKAGE_CAMERA_ENGINE_RKAIQ_RKISP_DEMO=yBR2_PACKAGE_ROCKIT=yBR2_PACKAGE_ROCKIT_TGI=yBR2_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=yBR2_PACKAGE_RKWIFIBT_RTL8188FU=yBR2_PACKAGE_IO=yBR2_PACKAGE_VENDOR_STORAGE=yBR2_PACKAGE_RKMEDIA_V4L2_CAPTURE=yBR2_PACKAGE_RKMEDIA_USE_AIQ=yBR2_PACKAGE_DRM_DISPLAY_OUTPUT=yBR2_PACKAGE_RKMEDIA_MPP=yBR2_PACKAGE_RKMEDIA_ALSA=yBR2_PACKAGE_RKMEDIA_ALSA_PLAYBACK=yBR2_PACKAGE_RKMEDIA_ALSA_CAPTURE=yBR2_PACKAGE_RKMEDIA_AUDIO_ALGORITHM=yBR2_PACKAGE_RKMEDIA_AUDIO_CODEC=yBR2_PACKAGE_RKMEDIA_AUDIO_ENCODER=yBR2_PACKAGE_RKMEDIA_AUDIO_DECODER=yBR2_PACKAGE_RKMEDIA_RKRGA=yBR2_PACKAGE_RKMEDIA_RKNN=y #add by zcxBR2_PACKAGE_RKMEDIA_ROCKFACE=y #add by zcxBR2_PACKAGE_RKMEDIA_ROCKX=y #add by zcxBR2_PACKAGE_RKMEDIA_MOVE_DETECTION=yBR2_PACKAGE_RKMEDIA_OCCLUSION_DETECTION=yBR2_PACKAGE_RKMEDIA_EXAMPLES=y #add by zcxBR2_PACKAGE_RKMEDIA_LIVE555=yBR2_PACKAGE_RKMEDIA_RTSP_SERVER=yBR2_PACKAGE_RKMEDIA_RTSP_SERVER_H264=yBR2_PACKAGE_RKMEDIA_RTSP_SERVER_H265=y# BR2_PACKAGE_MINIGUI_SOFTWARE_SCALE is not setBR2_PACKAGE_RKNPU_USE_MINI_DRIVER=yBR2_PACKAGE_RKNPU_USE_RKNN_API=yBR2_PACKAGE_IPCWEB_BACKEND=yBR2_PACKAGE_DBSERVER=yBR2_PACKAGE_NETSERVER=yBR2_PACKAGE_STORAGE_MANAGER=yBR2_PACKAGE_MEDIASERVER=yBR2_PACKAGE_MEDIASERVE_OSD_SERVER=yBR2_PACKAGE_MEDIASERVE_EXIV2_FEATURE=y# BR2_PACKAGE_MEDIASERVE_USE_ROCKFACE_RECOGNIZE is not set# BR2_PACKAGE_MEDIASERVE_USE_ROCKX is not setBR2_PACKAGE_RK_OEM=yBR2_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=0x6400000BR2_PACKAGE_IPC_DAEMON=yBR2_PACKAGE_CALLFUNIPC=yBR2_PACKAGE_ISP2_IPC=yBR2_PACKAGE_ISP2_IPC_DBUS=yBR2_PACKAGE_ISP2_IPC_DBSERVER=yBR2_PACKAGE_ISP2_IPC_MINILOGGER=yBR2_PACKAGE_PCBA_ADB_TEST=yBR2_PACKAGE_DBUS_GLIB=yBR2_PACKAGE_FDK_AAC=yBR2_PACKAGE_USBMOUNT=yBR2_PACKAGE_SQLITE_STAT3=yBR2_PACKAGE_SQLITE_ENABLE_FTS3=yBR2_PACKAGE_SQLITE_ENABLE_JSON1=yBR2_PACKAGE_SQLITE_ENABLE_UNLOCK_NOTIFY=yBR2_PACKAGE_SQLITE_SECURE_DELETE=y#BR2_PACKAGE_LIBYUV=y#BR2_PACKAGE_LIBV4L=y#BR2_PACKAGE_LIBV4L_UTILS=yBR2_PACKAGE_AVAHI=yBR2_PACKAGE_AVAHI_DAEMON=yBR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=yBR2_PACKAGE_ATFTP=yBR2_PACKAGE_CONNMAN=yBR2_PACKAGE_CONNMAN_WIFI=yBR2_PACKAGE_CONNMAN_LOOPBACK=yBR2_PACKAGE_CONNMAN_CLIENT=yBR2_PACKAGE_FCGIWRAP=yBR2_PACKAGE_NGINX=yBR2_PACKAGE_NGINX_HTTP_SSL_MODULE=yBR2_PACKAGE_NGINX_DEBUG=yBR2_PACKAGE_NGINX_HTTP_FLV_LIVE=y#BR2_PACKAGE_NGINX_RTMP=y# BR2_PACKAGE_NTP_NTPD is not setBR2_PACKAGE_TFTPD=yBR2_PACKAGE_ANDROID_TOOLS=yBR2_TARGET_ROOTFS_SQUASHFS4_XZ=yBR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=4096C,编译
将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 即可。免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:EB-RV1126-BC-191_SDKV2.2.0-入门开发-eb-1002cw https://www.yhzz.com.cn/a/8834.html