rv1126-rv1109-编译的剖析


./build.sh uboot:cmds

./build.sh uboot

cd u-boot
make rv1126_defconfig
make menuconfig
### 保存配置到对应的⽂件rv1126_defconfig
make savedefconfig
cp defconfig configs/rv1126_defconfig
//剖析 ./build.sh uboot
//调用 ./mk-loader.sh

build.sh -> mk-all.sh -> mk-loader.sh -> make.sh

这个就是调用的脚步

RK_UBOOT_CFG=rv1126

根据make rv1126_defconfig -j8

ARG_BOARD = rv1126

所以

./build.sh uboot


================================
cd u-boot 
./make.sh rv1126

===============================
make rv1126_defconfig -j8
make -j8
 

============================================================================


============Start building kernel============
TARGET_KERNEL_VERSION =4.19
TARGET_KERNEL_ARCH   =arm
TARGET_KERNEL_CONFIG =rv1126_defconfig
TARGET_KERNEL_CONFIG_FRAGMENTS =
TARGET_KERNEL_DTS    =rv1126-evb-ddr3-v13
==========================================

经验证都是rv1126_defconfig

RK_KERNEL_CFG = rv1126_defconfig

RK_KERNEL_DTS_NAME = rv1126-evb-ddr3-v13

TARGET_KERNEL_CONFIG_FRAGMENTS是附加的config,在rv1126_defconfig基础上添加(后面补充)

rv1126-evb-ddr3-v13.dtb是指定好的

 build.sh -> mk-all.sh -> mk-kernel.sh

//∴ ./build.sh kernel

////////////////////////////////////////////////////////////////////////
//////////////./build.sh lunch : rockchip_defconfig  ///////////////////
////////////////////////////////////////////////////////////////////////
make ARCH=arm rv1126_defconfig
make ARCH=arm rv1126-evb-ddr3-v13.img -j8
 

补充:

这里就修改了uboot的,调用rv1126-emmc-tb-defconfig

这里添加了RK_KERNEL_CFG_FRAGMENTS

覆盖rv1126_defconfig一些共有的

在文档快速开机的文档Rockchip_Developer_Guide_RV1126_RV1109_Battery_Product_CN.pdf

在这里说了

make ARCH=arm rv1126_defconfig rv1126-tb.config
cp .config rv1126.config
make ARCH=arm rv1126_defconfig rv1126-tb.config rv1126-battery-evb.config
ARCH=arm make menuconfig
# 进行修改
make savedefconfig
scripts/diffconfig -m rv1126.config .config > arch/arm/configs/rv1126-battery-evb.config

 这里就是关于rv1126-xxxx.config的用法

===========================================================================

./build.sh rootfs
source envsetup.sh rockchip_rv1126_rv1109
make menuconfig
make update-defconfig

然后跟随mk-all.sh->mk-rootfs.mk ->mk-buildroot.sh

mk-rootfs.mk里面做了选择,是buildroot/yocto/debian

默认是buildroot

根据rockchip_rv1126_rv1109_defconfig里面的变量来编译

//∴ ./build.sh rootfs

////////////////////////////////////////////////////////////////////////
//////////////source envsetup.sh : rockchip_rv1126_rv1109  ////////////
////////////////////////////////////////////////////////////////////////
make -j8



///////////////////////////////打包////////////////////////////////////
./build.sh updateimg

///////////////////////////////////////////////////////////////////////
./mkfirmware.sh

 ===========================================================================


RV1126B-P 是 Rockchip 推出的一款嵌入式芯片,主要用于视频编解码和图像处理应用。它属于 RV1126 系列的一部分,具备较强的 H.264/H.265 编码能力,适用于智能摄像头、视频分析设备等场景。 ### 硬件特性 RV1126B-P 支持多种视频输入接口,包括 MIPI CSI 和 BT.656/BT.1120 等,能够处理高达 1080p@30fps 的视频流。其内置的 NPU 支持高效的神经网络推理,适用于边缘 AI 应用场景。此外,RV1126B-P 提供了丰富的外设接口,包括 USB 2.0、SPI、I²C、UART 等,便于连接各种外部设备和传感器 [^1]。 ### 开发文档与资源 针对 RV1126B-P 的开发,Rockchip 提供了完整的开发文档套件,包括: - **数据手册(Datasheet)**:详细描述芯片的电气特性、引脚定义、时钟配置等。 - **用户指南(User Guide)**:涵盖硬件设计建议、电源管理、时钟配置等内容。 - **SDK(Software Development Kit)**:提供 Linux BSP(Board Support Package),包含内核、U-Boot、驱动程序以及多媒体框架。 - **参考设计(Reference Design)**:提供 PCB 设计参考、DDR 布线建议、电源管理配置等信息。 ### 开发环境搭建 在 RV1126B-P 上进行嵌入式开发通常需要搭建 Linux 开发环境。推荐使用 Ubuntu 系统,并安装必要的编译工具链,如 GCC、Make、Git 等。Rockchip SDK 提供了完整的交叉编译工具链,支持 ARM 架构的编译与调试。 #### 编译示例 ```bash # 安装依赖 sudo apt-get install build-essential libncurses-dev flex bison libssl-dev # 克隆 SDK git clone https://github.com/rockchip-linux/rk1126_rk3308.git # 配置编译环境 cd rk1126_rk3308 source buildroot/build/envsetup.sh # 选择目标平台 lunch rk1126_rk1126d-userdebug # 开始编译 make -j$(nproc) ``` ### 调试与烧录 完成编译后,可以通过 USB 烧录工具(如 RKDevTool)将固件烧录到 RV1126B-P 的 Flash 存储中。调试过程中可使用串口终端(如 minicom 或 screen)连接调试串口,查看启动日志和系统信息。 ### 应用开发 RV1126B-P 支持多种应用开发模式,包括: - **视频采集与编码**:通过 V4L2 接口实现摄像头数据采集,并使用 Rockchip MPP(Media Process Platform)进行编码。 - **AI 推理**:利用内置 NPU 进行图像分类、目标检测等任务,使用 RKNN Toolkit 进行模型转换与部署。 - **网络通信**:通过以太网或 Wi-Fi 模块实现远程视频传输与控制。 ### 示例代码:视频采集 ```c #include <stdio.h> #include <fcntl.h> #include <unistd.h> #include <sys/ioctl.h> #include <linux/videodev2.h> int main() { int fd = open("/dev/video0", O_RDWR); if (fd < 0) { perror("Failed to open video device"); return -1; } struct v4l2_capability cap; if (ioctl(fd, VIDIOC_QUERYCAP, &cap) < 0) { perror("Failed to query device capabilities"); close(fd); return -1; } printf("Driver: %s\n", cap.driver); printf("Card: %s\n", cap.card); close(fd); return 0; } ``` ### 总结 RV1126B-P 是一款功能强大的嵌入式芯片,适用于视频处理与边缘 AI 应用。通过 Rockchip 提供的完整 SDK 和开发工具,开发者可以快速构建高效的嵌入式系统。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旋风旋风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值