首页专栏详情
打赏
rv1126 201版本手把手教你开箱
rv1126 201版本手把手教你开箱
易百纳技术社区 Marc 2022-10-24 15:11:40

这个你要是再不会, 你把板子咸鱼卖掉吧, 或者私信我, 卖给我…
首先预备知识, 你要有一点点的C语言知识, ubuntu下面的交叉编译的经验包括linux的一些命令, 解压, ls, cd之类, 一点点就行.

  1. 新建一个ubuntu的虚拟机, 18lts64位的版本是ok的.

  2. 从客服那里要来sdk的网盘链接, 下载sdk, 本次使用的是rv1126_rv1109_linux_sdk_v1.8.0.0_PuerVersion.tar.gz

  3. 打开瑞星开发工具, 就是RKDevTool_Release_v2.86, 网盘资料面有提供

刷固件, 版本是: update_415_2053.img

我只有一个imx415摄像头, 就用这个固件, 如果你是双目, 就选择对应的固件, 如果是GC2053, 也是这个固件, 只是记得把摄像头接入CSI1就行.
我现在是这么接的:

  1. 在ubuntu虚拟机, 安装编译环境需要的包
    sudo apt update
    sudo apt upgrade
    sudo apt install -y repo gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted libudev-dev libusb-1.0-0-dev python-linaro-image-tools linaro-image-tools autoconf autotools-dev libsigsegv2 m4 intltool libdrm-dev curl sed make binutils build-essential gcc g++ bash patch gzip gawk bzip2 perl tar cpio python unzip rsync file bc wget libncurses5 libqt4-dev libglib2.0-dev libgtk2.0-dev libglade2-dev cvs git mercurial rsync openssh-client subversion asciidoc w3m dblatex graphviz python-matplotlib libc6:i386 libssl-dev expect fakeroot cmake flex bison liblz4-tool

  2. 把sdk复制到ubuntu里面, 解压
    先运行, 设置环境变量, 编译器路径之类
    ./envsetup.sh, 选择78 rockchip_rv1126_rv1109
    然后运行
    ./build.sh lunch 选择BoardConfig-aybering.mk
    然后分别编译一下uboot, kernel, 跟external/rkmedia
    ./build.sh uboot
    ./build.sh kernel
    ./build.sh rootfs
    ./build.sh external/rkmedia

  3. 在虚拟机里面访问vscode的官网, 下载vscode, 方便后面的coding的工作.

  4. 推荐安装几个vscode的插件:
    Atom One Dark Them
    C/C++
    Rainbow Brackets
    github copilot(可选)
    eclipse keymap(可选)
    也可以跳过这一步

  5. 用vscode打开sdk里面的external/rkmedia文件夹, 不好意思,差点说成mpp文件夹(海思玩太多)

  6. 修改Makefile, 让它可以顺利的进行编译

hide := @
ECHO := echo

编译器的位置, 根据你实际的sdk的编译器的路径进行修改

GCC := /home/marc/rv1126_rv1109_linux_sdk_v1.8.0_20210224/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc-8.3.0

buildroot的根目录

SYSROOT = /home/marc/rv1126_rv1109_linux_sdk_v1.8.0_20210224/buildroot/output/rockchip_rv1126_rv1109/host/arm-buildroot-linux-gnueabihf/sysroot

头文件的位置, 注意rkaiq的位置需要修改成你的sdk的具体位置

CFLAGS := -I../include/rkmedia \
-I/home/marc/rv1126_rv1109_linux_sdk_v1.8.0_20210224/external/camera_engine_rkaiq/include/common \
-I/home/marc/rv1126_rv1109_linux_sdk_v1.8.0_20210224/external/camera_engine_rkaiq/include/xcore \
-I/home/marc/rv1126_rv1109_linux_sdk_v1.8.0_20210224/external/camera_engine_rkaiq/include/uAPI \
-I/home/marc/rv1126_rv1109_linux_sdk_v1.8.0_20210224/external/camera_engine_rkaiq/include/algos \
-I/home/marc/rv1126_rv1109_linux_sdk_v1.8.0_20210224/external/camera_engine_rkaiq/include/iq_parser

库文件的位置, 注意加入rtsp的库文件位置

LIB_FILES := -L$(SYSROOT)/usr/lib \
-L/home/marc/rv1126_rv1109_linux_sdk_v1.8.0_20210224/external/rkmedia/examples/librtsp/

link库名

LD_FLAGS := -lpthread -leasymedia -ldrm -lrockchip_mpp \
-lavformat -lavcodec -lswresample -lavutil \
-lasound -lv4l2 -lv4lconvert -lrga \
-lRKAP_ANR -lRKAP_Common -lRKAP_3A \
-lmd_share -lrkaiq -lod_share -lrtsp

CFLAGS += -DRKAIQ

SAMPLE_COMMON := common/sample_common_isp.c

这里就编一个文件,rkmedia_vi_venc_rtsp_test.c, 注意加入sysroot变量

all:
$(GCC) rkmedia_vi_venc_rtsp_test.c $(SAMPLE_COMMON) $(LIB_FILES) $(LD_FLAGS) $(CFLAGS) -o build/rkmedia_vi_venc_rtsp_test —sysroot=$(SYSROOT)

$(hide)$(ECHO) "Build Done ..."

这个makefile的目的就是编译rkmedia_vi_venc_rtsp_test.c这个文件.
然后就cd 进入这个example的目录, make即可.
出现提示Build Done … 没报错, 就成功了

可能出错的, 比如找不到aiq

应该是CFLAGS里面没有指定正确的aiq的库位置.

  1. 编译完之后, 用adv push xx /userdata/xxx 把编译好的可执行文件推到开发板, 前提是你的开发板的otg的usb口接到ubuntu虚拟机上了.

  2. 然后在开发板上运行这个app就可以了, 记得后面要加一个-a, 即运行
    chmod +x rkmedia_vi_venc_rtsp_test
    ./rkmedia_vi_venc_rtsp_test -a
    如果你看到滚动显示Get packet表示这个应用跑起来了.

否则, 则检车是不是摄像头接错了CSI口, 或者命令后面没有加-a指定aiq配置文件位置.

  1. 如果你没有改过开发板的ip, 目前ip就是192.168.100.75, 这个时候回到ubuntu, 用apt安装vlc, 然后用usb的网卡接到开发板, 把ubuntu的usb网卡ip设置成192.168.100.0这个网段, 拉条网线到开发板, 直到你能ping通192.168.100.75, 使用vlc, 播放
    rtsp://192.168.100.75/live/main_stream
    这个串流, 可以可以看到画面了(可能是反的)

  2. 祝你顺利, 有问题随时留言.


声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。

打赏
共1人已赏
评论
4个
内容存在敏感词
  • 易百纳技术社区
    这算是扶着入门了。。。
  • 易百纳技术社区
    完全是从零开始,请问你这个支架是自己3D打印的还是哪里买的啊?
  • 易百纳技术社区
    给我一个支点,让我撬动地球~
    这个3D打印~
  • 易百纳技术社区
    期待多些这种入门教程哈
相关专栏
打赏作者
易百纳技术社区
Marc
您的支持将鼓励我继续创作!
打赏金额:
¥1 易百纳技术社区
¥5 易百纳技术社区
¥10 易百纳技术社区
¥50 易百纳技术社区
¥100 易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区 微信支付
易百纳技术社区
打赏成功!

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

审核成功

发布时间设置
发布时间:

审核失败

失败原因
备注
Loading...
易百纳技术社区
确定要删除此文章、专栏、评论吗?
确定
取消
易百纳技术社区
易百纳技术社区
在专栏模块发布专栏,可获得其他E友的打赏
易百纳技术社区
回答悬赏问答,被题主采纳后即可获得悬赏金
易百纳技术社区
在上传资料时,有价值的资料可设置为付费资源
易百纳技术社区
达到一定金额,收益即可提现~
收益也可用来充值ebc,下载资料、兑换礼品更容易
易百纳技术社区
活动规则
  • 1.周任务为周期性任务,每周周一00:00刷新,上周完成的任务不会累计到本周,本周需要从头开始任务,当前任务完成后才可以完成下一个任务
  • 2.发布的专栏与资料需要与平台的板块有相关性,禁止注水,专栏/资料任务以审核通过的篇数为准
  • 3.任务完成后,现金奖励直接打款到微信账户;EBC/收益将自动发放到个人账户,可前往“我的钱包”查看;其他奖励请联系客服兑换
  • 4.每周最后三个任务将会有以下奖品掉落:社区热卖开发板、小米音响、视频年度会员、京东卡、华为手机等等
易百纳技术社区
升级提醒
易百纳技术社区

恭喜您由入门

社区送出礼品一份

请填写您的收件地址,礼品将在3个工作日寄出

易百纳技术社区