EB-RV1126-BC-191_SDKV2.2.0-入门开发

EB-RV1126-BC-191_SDKV2.2.0-入门开发 艾编程的鲁小班 2023-03-25 22:48:52 4589

一,前期准备

准备材料: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 即可。

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 4 4 评论 打赏
评论
1个
内容存在敏感词
手气红包
  • -Links- 2023-04-14 11:10:06
    回复
    RV1126_RV1109_LINUX_SDK_V2.2.5_20221009.tar.gz 请问如何获取
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
艾编程的鲁小班
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区