目录

一、  RV1126 CE 板上的 Buildroot 和 Debian

二、 安装 Buildroot & Debian

2.1 从主机安装镜像 - pc

2.1.1 安装前提

2.1.2 安装概述

2.1.3 第一步。下载 Buildroot & Debian 镜像和 flash 下载工具

2.1.4 步骤二、在主机上安装瑞芯微闪存下载驱动

2.1.5 step 3. 让板子进入maskrom或者rockusb loader模式

2.1.6 步骤四、在主机PC上启动rockchip flash下载工具

2.1.7 step 5. 刷入 buildroot & debian 镜像

3.构建Buildroot源码

3.1 下载 GNU 跨工具链二进制文件并安装所需的软件包(主机 Ubuntu 14.04 或 Ubuntu 16.04)

3.2 获取RV1126 CE Boards Buildroot源代码

3.3 选择板配置

3.4 构建Uboot

3.5 构建Linux内核

3.6 构建 Rootfs

3.7 构建恢复

3.8 全部构建

3.9 生成 RV1126 CE Boards Buildroot 镜像以供 flash 下载

4. 开发Buildroot驱动示例

4.1 简单驱动示例

4.1.1 进入内核驱动补丁,创建hello dir和hello.c:

4.1.2 在hello.c中开始编码:

4.1.3 创建Makefile和Kconfig:

4.1.4 修改Makefile:

4.1.5 构建模块:

4.1.6 安装模块:

4.1.7运行看日志:

4.1.8 卸载模块:

5. 开发 Buildroot 应用示例

5.1 简单的 Buildroot 应用示例

5.1.1 源码位置

5.1.2 在builderroot中创建配置

5.1.3 将Hello应用添加到buildroot菜单

5.1.4 加入项目配置

5.1.5 编译Hello应用

6.开发Linux(Debian)应用示例

6.1.1 创建helloworld dir和helloworld.c:

6.1.2 在helloworld.c中开始编码:

6.1.3 构建应用程序:

6.1.4 运行应用程序并查看输出:

6.2 简单的rga演示

6.2.2 编译演示:

6.2.3 运行demo查看输出:

6.3 简单的mpp演示

6.1.4 mpp demo源码及分析:

6.4 简单的npu c++演示

6.4.4 npu c++ demo源码及分析:

6.4.4 编译演示:

6.4.4 运行demo查看输出:


一、  RV1126 CE 板上的 Buildroot 和 Debian

RV1126 CE Boards 软件支持两种操作系统:Buildroot 和 Debian。 RV1126 CE 板的 Debian 映像基于 Debian 9 版本构建。

二、 安装 Buildroot & Debian

当前支持在 RV1126 CE 板上安装 Buildroot 或 Debian 映像的方法:
        • 通过 USB 数据线和 Rockchip Flash 下载工具从主机安装映像
以下章节将详细介绍该方法。

2.1 从主机安装镜像 - pc

对于将下载许多自编译操作系统的迭代实验版本的经验丰富的用户,建议使用此方法。如果第一种方法由于无法检测到显示器或鼠标和键盘而失败,这也是一种备用方法。由于此方法使用主机 PC 对电路板进行编程,因此无需将单独的显示器和鼠标/键盘连接到电路板。本指南描述了 Windows 主机系统的过程。

2.1.1 安装前提

此方法需要在Host PC 上安装rockchip flash 下载工具和相应的驱动程序。瑞芯微闪存下载工具是一个与 RV1126 CE 板的引导加载程序通信并允许您将图像闪存到板上的工具。有关如何在您的主机 PC 上安装 Rockchip 闪存下载工具驱动程序的说明,请参见下文。

2.1.2 安装概述

要从主机 PC 安装 Buildroot,只需遵循以下简单步骤:

  • 步骤 1. 下载 Buildroot 和 Debian 映像
  • 步骤 2. 在主机上安装 Rockchip Flash 下载驱动
  • 步骤 3. 将开发板带入 maskrom 或 rockusb 加载器模式
  • 步骤 4. 在主机 PC 上启动瑞芯微闪存下载工具
  • 步骤 5. 刷新 buildroot 映像步骤
  • 6. 重新启动并使用

以下章节更详细地描述了每个步骤:

2.1.3 第一步。下载 Buildroot & Debian 镜像和 flash 下载工具

1. 从以下网盘下载 buildroot 和 debian 镜像: (后面下载好了贴链接)

https://1drv.ms/u/s!AhoFWWcHV7rXklDzYPeAll4WLSRx?e=Ff0usx

2. 从下面的网盘下载rockchip flash下载工具(window & linux版本):

https://1drv.ms/u/s!AhoFWWcHV7rXklDzYPeAll4WLSRx?e=Ff0usx

2.1.4 步骤二、在主机上安装瑞芯微闪存下载驱动

在网盘工具目录:tools\windows\Driver Assitant_v5.0.zip
双击Driver Assitant _ v5.0\ Driver Install.exe,然后自动在你的windows主机上安装rockchip flash下载驱动。

2.1.5 step 3. 让板子进入maskrom或者rockusb loader模式

使用 typec usb 电缆连接 RV1126 CE 板和主机 PC。

然后让您的 RV1126 CE 板进入下载模式(maskrom 或 rockusb 加载器模式)。

下载模式的方法如下:先按开发板的reset键,然后长按recovery键3-4秒左右进入。

2.1.6 步骤四、在主机PC上启动rockchip flash下载工具

主机 PC 操作系统是 Windows:
在网盘工具目录:tools\windows\RK Dev Tool_Release.zip 双击RK Dev Tool_Release\RK Dev Tool.exe。
Flash buildroot 系统映像:

Flash debian 系统映像:

主机 PC 操作系统是 Linux:
在网盘工具目录:tools\linux\Linux_升级_工具_v1.57.zip
解压Linux_升级_工具_v1.57.zip,将镜像解压到Linux_升级_工具文件夹。

如:rv1126-buildroot,rv1126-debian。

2.1.7 step 5. 刷入 buildroot & debian 镜像

主机 PC 操作系统是 Windows:

打开该工具,然后单击“下载镜像”菜单。单击红色箭头标记的每一行结束,会弹出文件选择框,然后选择相应分区的img文件路径。依次设置所有img文件路径。配置完成后,单击“运行”。右侧信息框将显示相关信息。

主机 PC 操作系统是 Linux:

1. Flash buildroot 镜像

sudo ./upgrade_tool ul rv1126-buildroot/MiniLoaderAll.bin
sudo ./upgrade_tool di -p rv1126-buildroot/parameter.txt
sudo ./upgrade_tool di -u rv1126-buildroot/uboot.img
sudo ./upgrade_tool di -misc rv1126-buildroot/misc.img
sudo ./upgrade_tool di -b rv1126-buildroot/boot.img
sudo ./upgrade_tool di -recovery rv1126-buildroot/recovery.img sudo ./upgrade_tool di -oem rv1126-buildroot/oem.img
sudo ./upgrade_tool di -rootfs rv1126-buildroot/rootfs.img
sudo ./upgrade_tool di -userdata rv1126-buildroot/userdata.img

sudo ./upgrade_tool rd

2. Flash debian 镜像

sudo ./upgrade_tool ul rv1126-debian/MiniLoaderAll.bin

sudo ./upgrade_tool di -p rv1126-debian/parameter.txt

sudo ./upgrade_tool di -u rv1126-debian/uboot.img

sudo ./upgrade_tool di -misc rv1126-debian/misc.img

sudo ./upgrade_tool di -b rv1126-debian/boot.img

sudo ./upgrade_tool di -recovery rv1126-debian/recovery.img

sudo ./upgrade_tool di -oem rv1126-debian/oem.img

sudo ./upgrade_tool di -rootfs rv1126-debian/rootfs.img

sudo ./upgrade_tool di -userdata rv1126-debian/userdata.img

sudo ./upgrade_tool rd

2.1.8 第 6 步。重新启动并使用!

镜像下载完成后,请执行以下步骤:

● 断开 USB 电缆
● 按下复位按钮
如果你刷入 buildroot 镜像,重启后你应该会看到 buildroot 启动。

如果你刷入 debian 镜像,重启后你应该会看到 debian 启动。

3.构建Buildroot源码

本节提供从 x86 主机在 RV1126 CE 板上构建和 Buildroot 系统的说明。

3.1 下载 GNU 跨工具链二进制文件并安装所需的软件包(主机 Ubuntu 14.04 或 Ubuntu 16.04)

您需要根据您的主机/目标架构下载正确的 GCC 工具链。通常主机是 Ubuntu 16.04 或 18.04 的标准 Intel x86 - 64 计算机,目标是 Arm ARMHF 的 RV1126 CE 板。

sudo apt-get install repo device-tree-compiler git-core u-bo
ot-tools mtools parted libudev-dev libusb-1.0-0-dev python-linaro-image-tools linaro-image-tools autoconf autotools-dev libs
igsegv2 m4 intltool libdrm-dev curl sed make binutils build-es
sential gcc g++ bash patch gzip gawk bzip2 perl tar cpio pytho
n unzip rsync file bc wget libncurses5 libqt4-dev libglib2.0-d
ev libgtk2.0-dev libglade2-dev cvs git mercurial openssh-clien
t subversion asciidoc w3m dblatex graphviz python-matplotlib l
ibc6:i386 libssl-dev expect fakeroot cmake flex bison liblz4-t
ool libtool keychain

3.2 获取RV1126 CE Boards Buildroot源代码

# repo init --repo-url=https://gitlab.com/bearkey-tools/repo -u \https://gitlab.com/bearkey-1126-linux/manifests.git --no-clone-bundle
# repo sync

3.3 选择板配置

$ ./build.sh BoardConfig-rv1126-bearkey-ce.mk

3.4 构建Uboot

$ ./build.sh uboot

3.5 构建Linux内核

$ ./build.sh kernel

3.6 构建 Rootfs

$ ./build.sh rootfs

3.7 构建恢复

$ ./build.sh recovery

3.8 全部构建

$ ./build.sh

3.9 生成 RV1126 CE Boards Buildroot 镜像以供 flash 下载

$ ./mkfirmware.sh

ps:生成的固件在SDK的rockdev目录下。

4. 开发Buildroot驱动示例

4.1 简单驱动示例

4.1.1 进入内核驱动补丁,创建hello dir和hello.c:

$ cd kernel/drivers
$ mkdir hello
$ cd hello
$ vim hello.c

4.1.2 在hello.c中开始编码:

#include <linux/init.h>
#include <linux/module.h> #include <linux/kernel.h>
MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) {
");
printk(KERN_ALERT "hello,I am a simple driver sample\n
return 0;
}
static void hello_exit(void) {
}
printk(KERN_ALERT "goodbye,kernel\n");
module_init(hello_init);
module_exit(hello_exit);
MODULE_AUTHOR("Beiqi");
MODULE_DESCRIPTION("This is a simple driver example!\n"); MODULE_ALIAS("A simplest example");

4.1.3 创建Makefile和Kconfig:

//Makefile
obj-$(CONFIG_BEIQI_HELLO)    += hello.o
//Kconfig
#
#gpio device configuration
#
menuconfig BEIQI_HELLObool "support beiqi hello test devices" default y---help---Say Y here if you support beiqi hello device

4.1.4 修改Makefile:

$ cd ..
$ git diff
diff --git a/drivers/Makefile b/drivers/Makefile
index 4fa22d2..62a54d1 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -192,3 +192,4 @@ obj-$(CONFIG_RK_NAND) += rk_nand/
obj-$(CONFIG_RK_HEADSET) += headset_observe/obj-$(CONFIG_RK_FLASH) += rkflash/
obj-$(CONFIG_BEIQI_ADC) += beiqi_adc/
+obj-m$(CONFIG_BEIQI_HELLO) += hello/hello.o

4.1.5 构建模块:

$ cd ../../
$ ./build.sh kernel
$ ls kernel/drivers/hello/
hello.c hello.ko hello.mod.c hello.mod.o hello.o Kconfig Mak efile

4.1.6 安装模块:

$ sudo insmod hello.ko

4.1.7运行看日志:

$ dmesg | tail -5

4.1.8 卸载模块:

$ sudo rmmod hello.ko

5. 开发 Buildroot 应用示例

Builderroot 添加编译应用,请参考以下内容。

5.1 简单的 Buildroot 应用示例

5.1.1 源码位置

选择SDK中源码的位置,例如:external。以添加hello应用为例。

$ ls external/hello
hello.c Makefile
$ cat external/hello/hello.c
#include <stdio.h> int main(void)
{printf("hello world,I am a simple linux application sample\n ");
return 0;
}
$ cat external/hello/Makefile
CROSS_COMPILE=arm-linux-gnueabi- CC = ${CROSS_COMPILE}gcc
CXX = ${CROSS_COMPILE}g++
LIBS += -lm
LIBS += -ldl
CFLAGS += -I./include -I$(STAGING_DIR)/usr/include CFLAGS += -O2
#CFLAGS += -fno-stack-protector
LDFLAGS += -L$(STAGING_DIR)/usr/lib -L./
OBJECTS = $(SOURCES:.c=.o) PRJOBJS = hello.c
PRJNAME = hello
all: ${PRJNAME} $(PRJNAME):$(OBJECTS) $(PRJOBJS)
$(CC) -o $@ $(OBJECTS) $(PRJOBJS) $(LIBS) $(LDFLAGS) $(CFLA
GS) .c.o:
$(CC) $(INC) $(CFLAGS) -c -o $@ $<
.cpp.o:
$(CXX) $(INC) $(CFLAGS) -c -o $@ $<
clean:
rm -rf $(PRJNAME) *.so *.o

5.1.2 在builderroot中创建配置

选择buildroot的包配置位置,例如:buildroot/package/rockchip。以添加hello应用为例。

$ ls buildroot/package/rockchip/hello
Config.in hello.mk
$ cat buildroot/package/rockchip/hello/Config.in config BR2_PACKAGE_HELLO
bool "hello" help
All files for hello
$ cat buildroot/package/rockchip/hello/hello.mk HELLO_SITE_METHOD = local
HELLO_SITE = ${TOPDIR}/../external/hello HELLO_DEPENDENCIES =
define HELLO_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) CC=$(TARGET_CC) CXX=$(TARGET_CX
X) -C $(@D)
endef
define HELLO_INSTALL_TARGET_CMDS
cp $(@D)/hello ${TARGET_DIR}/usr/bin endef
$(eval $(generic-package))
$(CXX) $(INC) $(CFLAGS) -c -o $@ $<

5.1.3 将Hello应用添加到buildroot菜单

添加以下内容:

$ git diff buildroot/package/rockchip/Config.in
+source "package/rockchip/hello/Config.in"

5.1.4 加入项目配置

工程编译选择rootfs配置。在boardconfig-ce.mk中可以看到rootfs的配置是rockchip_rv1126_rv1109_defconfig。

$ git diff buildroot/configs/rockchip_rv1126_rv1109_defconfig +BR2_PACKAGE_HELLO=y

5.1.5 编译Hello应用

$ ./buildroot/build/envsetup.sh
This script is executed directly...
Top of tree: /home/qianchen/proj/rv1126p2
You're building on Linux Lunch menu...pick a combo:
0. non-rockchip boards
1. rockchip_px30_32
2. rockchip_px30_64
78. rockchip_rv1126_rv1109
79. rockchip_rv1126_rv1109_ab
80. rockchip_rv1126_rv1109_facial_gate 81. rockchip_rv1126_rv1109_libs
82. rockchip_rv1126_rv1109_ramboot_uvcc
83. rockchip_rv1126_rv1109_recovery
84. rockchip_rv1126_rv1109_sl
85. rockchip_rv1126_rv1109_spi_nand
86. rockchip_rv1126_rv1109_spi_nand_recovery 87. rockchip_rv1126_rv1109_systemd
88. rockchip_rv1126_rv1109_tiny
89. rockchip_rv1126_rv1109_toolchain 90. rockchip_rv1126_rv1109_uvcc
91. rockchip_rv1126_rv1109_uvcc_spi_nand Which would you like? [0]: 78
$ make hello //compile
$ make hello-dirclean //clean
$ ls buildroot/output/rockchip_rv1126_rv1109/build/hello //demo hello

以上只是一个例子。需要了解builderroot编译器才能看懂官方文档。

6.开发Linux(Debian)应用示例

Debian 是一个 linux 桌面系统。开发debian应用程序和linux一样。所以我们开发linux应用程序示例如下。

6.1.1 创建helloworld dir和helloworld.c:

$mkdir helloworld
$ vim helloworld.c

6.1.2 在helloworld.c中开始编码:

#include <stdio.h>
int main(void)
{
printf("hello world,I am a simple linux application sample\ n");
}

6.1.3 构建应用程序:

$ gcc helloworld.c -o helloworld

6.1.4 运行应用程序并查看输出:

$ ./helloworld

运行输出为:
hello world,我是一个简单的 linux 应用示例

暂时用不到,有需要的私信

6.2 简单的rga演示

6.2.2 编译演示:

6.2.3 运行demo查看输出:

6.3 简单的mpp演示

6.1.4 mpp demo源码及分析:

6.1.4 编译演示:

6.1.4 运行demo查看输出:

6.4 简单的npu c++演示

6.4.4 npu c++ demo源码及分析:

6.4.4 编译演示:

6.4.4 运行demo查看输出:

附言:
它将生成 out.jpg。该图像标记了已识别的对象。

【智能硬件】RV1126 CE 板软件指导相关推荐

  1. 智能硬件生态未成,打造平台为时尚早

    摘要:当前的智能硬件产业发展是由创业公司探路,巨头纷纷跟进打造开放平台.但智能硬件市场至今无标杆性产品.开发者及应用前景不明.尚未找到用户"痛点"等特征表明市场仍处于萌芽阶段,打造 ...

  2. 【STM32-V7】STM32H743XIH6开发板,丰富软件资源,强劲硬件配置,大量软件解决方案持续更新中(2020-07-22)

    [STM32-V7]STM32H743XIH6开发板,丰富软件资源,强劲硬件配置,大量软件解决方案持续更新中(2020-07-22) 参考文章: (1)[STM32-V7]STM32H743XIH6开 ...

  3. EasyNVR智能云终端硬件与EasyNVR解决方案软件综合对比

    背景分析 互联网视频直播越来越成为当前视频直播的大势,对于传统的安防监控,一般都是局限于内网,无法成批量上云台.传统的海康和大华的平台虽然可以通过自身私有协议上云平台 集总管控,但是往往只是支持自身的 ...

  4. 安卓系统管理软件_AIoT 告别功能机时代,智能硬件的安卓和 iOS 指日可待

    智能硬件也要操作系统? 根据 Marketsandmarkets 的报告预测,边缘计算人工智能硬件市场的出货量在 2019 年有望达到 6.1 亿部,到2024 年,这一数字将超过 12.59 亿部, ...

  5. 4g/GPRS DTU 开发板软件代码硬件图纸料

    资料:4g/GPRS DTU 开发板软件代码硬件图纸料包括:原理图,版图,单片机代码,sim800c官方资料 不含PCB板 本公司批产产品,已无故障运行数年 全套硬件图纸和软件代码. 程序比正点原子的 ...

  6. 【链环科技】智能硬件APP开发——通过硬件对接,实现软件与硬件设备的完美结合

    2020年,当物联网.智能家居.5G等科技词汇大范围的进入群体视线时,意味着新型互联网技术的研究和兴起.[重庆链环科技]目前的发展方向"软件开发+硬件对接"这是一种全新的科技概念. ...

  7. 【智能硬件】RV1126 基础环境配置

    1.查看当前开发板ip地址 查看ipv4地址 二.烧录方法 window上操作方法: 链接:https://pan.baidu.com/s/1VAK0gG_BTJI76mPHsysxHg  提取码:3 ...

  8. 消除软硬件鸿沟,芯客网完美支持智能硬件在移动互联时代的爆发

    2019独角兽企业重金招聘Python工程师标准>>> 如果说2013年是智能硬件的元年,那么2014年已把智能生活的未来打下了一个主基调,而在2015年,或许将真正迎来一个全新的拐 ...

  9. 如何为编程爱好者设计一款好玩的智能硬件(十)——无线2.4G通信模块研究·一篇说完...

    六.温湿度传感器DHT11驱动封装(下):如何为编程爱好者设计一款好玩的智能硬件(六)--初尝试·把温湿度给收集了(下)! 七.点阵字符型液晶显示模块LCD1602驱动封装(上):如何为编程爱好者设计 ...

最新文章

  1. [译]深入理解JVM
  2. Windows路由表配置:双网卡同时上内外网
  3. 【水滴石穿】imooc_gp
  4. python 自动控制仿真_Python自动控制鼠标操作pymouse,python
  5. 编程是一门实践性的科学
  6. 美国oracle球场,美国体育馆考察——美国体育产业是如何盈利的?
  7. 指令系统——数据寻址(1)(详解)
  8. 手机电脑的芯片主要是由_全体起立!苹果自研电脑芯片登场,iOS迎大更新…WWDC20精彩远不止这些...
  9. 解决The‘Access-Control-Allow-Origin‘ header contains multiple values‘*, ....‘, but only one is allowed
  10. Linux Shell脚本入门教程系列之(十六) Shell输入输出重定向
  11. 以xml html编写的的学生管理系统,基于.NET和XML的学生中心数据库管理系统的研究与实现...
  12. php input file 上传文件类型,php轻松实现文件上传功能
  13. 桌面云计算: 提供灵活、可靠双保险
  14. 17款最佳的代码审查工具
  15. 北邮带研究生的计算机导师有哪些,GitHub - sunichi/BUPTNiceMentors: 北邮研究生导师口碑榜...
  16. 字幕/打轴/压制小tip——Aegisub MeGUI 极简操作指南
  17. linux 查看kernel log,Linux Kernel Log
  18. 金山 V8 终端安全系统 默认弱口令漏洞
  19. 微信分享接口配置和调用
  20. apt apt-get_Windows用户准备好进行apt-get吗?

热门文章

  1. 找工作选国企还是选私企?别说外行话,内部人把这8点区别说透了
  2. oracle remap others,WindowsCE目录解析
  3. 超硬核Java学习路线图+学习资源+实战项目汇总,看完以后不用再问我怎么学Java了!
  4. Verilog实现VGA通信的驱动
  5. (转) SonicStage 4.4 已经被我汉化,现提供下载
  6. AcrGIS Pro一键出图
  7. (php)泛微E-Office文件上传漏洞(原理分析+复现+批量检测)
  8. C语言小项目——通讯录的存储系统(静态版,动态版,文件版)
  9. Hibernate学习总结(5)——一对多的级联操作
  10. Solidworks安装