源码编译 《外设开发》 主要针对两种用户。(一)外接设备,用于识别成功、失败后进行一些物理上的 控制。这时候 可能需要添加对应外设驱动,或者修改内核源码。(二)定制根 文件系统或者内核。用户可能不需要官方固 件上部分功能或者需要添加额外功 能,这种情况用户可以自行对源码进行裁剪或者二次开发。 源码获取 注意 如果需要开发"Facial_Gate"类型应用请下载 "rv1126_rv1109_linux_release" REPO_SDK 软件包,如果需要开发"AI_UVC"应用请下载 "rv1126_rv1109_linux_ai_camera_release" REPO_SDK 软件包。方法相同,下 面只以其中一种进行说明。 方式一(国内用户) 从资源下载页面下载 REPO_SDK 软件包。
比较 REPO_SDK 软件包的 MD5 码校验完整性,然后解压。 md5sum rv1126_rv1109_linux_release_20211022.tgz 596c6bc6bb3095aea97d54c9df4cf333 rv1126_rv1109_linux_release_20211022.tgz tar xvf rv1126_rv1109_linux_release_20211022.tgz 解压后进入文件夹,完成同步工作。 #本压缩包内包含一个.repo目录,解压之后,在当前目录下执行以下操作 .repo/repo/repo sync -l .repo/repo/repo sync -c --no-tags .repo/repo/repo start firefly --all #后续可以使用以下命令更新SDK .repo/repo/repo sync -c --no-tags #因为网络环境等原因,`.repo/repo/repo sync -c --no-tags` 命令更新代码可能会失败,可多次反复执行 方式二(国外用户) repo init --no-clone-bundle --repo-url https://gitlab.com/firefly-linux/git-repo.git -u https://gitlab.com/firefly-linux/manifests.git -b master -m rv1126_rv1109_linux_release.xml repo sync -c #需反复确认代码下载是否成功 源码编译 搭建环境 Ubuntu 16.04 x86 PC 主机: sudo apt-get install repo git-core 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 libtool keychain Ubuntu 17.04 除以上软件包外还需安装以下依赖: sudo apt-get install lib32gcc-7-dev g++-7 libstdc++-7-dev 编译配置 SDK 包含 "uboot"、"kernel"、"recovery"、"buildroot"、"spl"等等全套源码 ,编译前需要选好配置文件,用于 配置每一个仓库编译时需要用到的配置项。 # 文件存放在 sdk/device/rockchip/rv1126_rv1109/XXXXX.mk # RV1109: 编译人脸识别闸机固件 适配的屏幕为 DM-M10R800 V2 屏幕模组 ./build.sh device/rockchip/rv1126_rv1109/cam-crv1109s2u-facial_gate-BE-45.mk # RV1126: 编译人脸识别闸机固件 适配的屏幕为 DM-M10R800 V2 屏幕模组 ./build.sh device/rockchip/rv1126_rv1109/cam-crv1126s2u-facial_gate-BE-45.mk # RV1109: 编译 AI-UVC-CAMERA 固件 适配的屏幕为 DM-M10R800 V2 屏幕模组 ./build.sh device/rockchip/rv1126_rv1109/cam-crv1109s2u-uvcc-BE-45.mk # RV1126: 编译 AI-UVC-CAMERA 固件 适配的屏幕为 DM-M10R800 V2 屏幕模组 ./build.sh device/rockchip/rv1126_rv1109/cam-crv1126s2u-uvcc-BE-45.mk 开始编译 编译完成后固件输出路径"rockdev/update.img",该目录下也包含了所有单独编 译项目的编译输出。编译完成后 烧写升级操作请参考《固件升级》。源码 SDK 介绍也可以直接参考 SDK 的 doc 文件夹。 # 全局编译命令 ./build.sh # 如果需要单独编译某一项执行以下操作 # uboot ./build.sh uboot # kernel ./build.sh kernel # rootfs ./build.sh rootfs