使用build root工具制作RV1126 IMG固件

使用build root工具制作RV1126 IMG固件

使用build root工具将你编译的可执行文件打包到固件中 (图像文件)

介绍两种常用的方法

方法 1:

将编译好的可执行文件放入sdk的buildroot/board/rockchip/rv1126_rv1109/fs-overlay-sysv/etc/init.d目录下, 并全部编译并打包.

133a7e994d72869d3e26b28bef94066

例如, 这里我把编译好的可执行文件test-app放在目录下

  1. 下一个, 只需要重新编译整个固件

编译固件的命令是

Use the build root tool to make RV1126 IMG firmware 1
  1. 编译后. 你会看到测试应用程序, 这个可执行文件, 板端/etc/init.d目录下.
97070806817f267e200fd98ad4315a6

然后你就可以运行它, 或者将其复制到另一个目录并运行它.

这个方法最简单也是最推荐的

方法 2:

遵循SDK编译规则,将自己的程序添加到buildroot中.

1) 添加test.c文件

在源码目录下, 使用以下命令创建您自己的 APP 文件夹:

$mkdir 应用程序/mytest

运行结果如下图所示:

Use the build root tool to make RV1126 IMG firmware 2

可以在mytest目录下创建自己的APP程序. 这里我将创建test.c的测试代码, 例子

代码如下

Use the build root tool to make RV1126 IMG firmware 3

仍然, 在 mytest 目录中, 创建一个编译 test.c 程序的 Makefile. 示例代码如下:

Use the build root tool to make RV1126 IMG firmware 4

创建完成结果如下图所示:

Use the build root tool to make RV1126 IMG firmware 5

2) 添加到菜单配置

配置buildroot包时, 大家需要在图形配置界面启用, 所以我们的

APP还需要生成一个选项. SDK包源码下, 打开 “buildroot/package/Config.in” 文件.

跳到最后 “结束菜单” 并添加以下示例代码 (笔记: 它必须位于该文件的最后一个结束菜单之前

添加). 代码看起来像这样:

Use the build root tool to make RV1126 IMG firmware 6

添加的结果如下所示:

Use the build root tool to make RV1126 IMG firmware 7

第2061号 好的, 它在 itsource 中被引用”package/mytest/Config.in”文件, 所以我们需要创建

创建此文件, 命令如下:

$mkdir buildroot/package/mytest/

创建目录后 (mytest是buildroot下的package包名), 我们需要创建 mytest 目录

“配置输入” 文件, 内容如下:

Use the build root tool to make RV1126 IMG firmware 8

添加的结果如下所示:

Use the build root tool to make RV1126 IMG firmware 9
  1. APP版本及编译规则

在上一节中, 我们在配置选项中添加了APP. 此时, buildroot 仍然不知道如何

下载, 提炼, 编译, 等等, 我们需要添加一个配置文件来告诉buildroot如何操作, 我们需要创建 “构建根目录/

包/mytest/mytest.mk”, 名称必须是 mytest.mk. 将以下示例代码复制到 mytest.mk

示例代码 mytest.mk 代码

Use the build root tool to make RV1126 IMG firmware 10

这个文件告诉buildroot如何编译, 下载, 复制, 等等. 所有大写的宏都以 “我的测试”

标头是根据我们的包的名称确定的.

排队 1, _VERSION 末尾的变量是源代码版本.

排队 2, _SITE末尾的变量是源码下载的地址.

排队 3, _SITE_METHOD最后的变量是源码下载方法, local表示本地下载.

线路 4 10~12自动执行安装并将我们的mytest可以运行的文件复制到bin目录下.

线 6, _BUILD_CMDS 末尾的变量会在 buildroot 框架编译时执行, 和 用于将 M 添加到源代码中.

akefile 传递编译选项和链接选项并调用源代码的 Makefile.

第14~16行赋予文件权限.

线 18, 该函数会将整个 .mk 文件构建为脚本.

进入

buildroot/输出/rockchip_rv1126_rv1109_spi_nand

执行 make menuconfig

打开我的测试

Use the build root tool to make RV1126 IMG firmware 11

配置完成后, 我们可以测试一下我们的mytest是否可以编译, 在 buildroot/output/rockchip_rv1126_rv1109_spi_nand 中

在目录下测试, 命令如下:

$进行我的测试

运行结果如下图所示:

Use the build root tool to make RV1126 IMG firmware 12

下载PDF文件

问一个问题

← 返回

感谢您的回复。 ✨