正点原子RV1126SDK包使用

1.SDK资源介绍

1)app:存放上层应用程序的目录

2)buildroot:SDK包使用的文件系统为buildroot

3)build.sh:编译用的脚本

4)docs:存放RK开发指导文件、平台支持列表、工具使用文档等等

5)envsetup.sh:要修改文件系统时候要设置的环境脚本

6)external:存放相关的库,包括音频、视频等

7)kernel:kernel源码

8)makefile:整个SDK包编译的makefile

9)mkfirmware.sh:固件打包使用的脚本,默认在当前路径下的rockdev目录。

10)prebuilts:存放交叉编译工具链。

11)rkbin:存放固件和工具

12)rkflash.sh:linux下的系统烧录脚本

13)tools:存放固件和工具的目录

14)uboot:uboot源码目录

15)rockev:存放编译输出固件的目录(整个SDK包编译完成后就会创建)

 1.1 SDK包下脚本介绍

1.1.1 build.sh脚本介绍

        使用build.sh脚本来控制整个SDK包的编译、打包镜像,可以使用 -h 或者 help 来查看支持哪些参数。

build.sh参数 说明 例子
BoardConfig*.mk 选择板级的配置文件

./build.sh device/rockchip/rv1126_rv1

109/BoardConfig-alientek-rv1126.mk

lunch 列出支持的板级配置文件,再选择板级的配置文件

./build.sh lunch

uboot

编译uboot

./build.sh uboot

kernel 编译kernel

./build.sh kernel

modules

编译内核模块

./build.sh modules

rootfs

编译文件系统

./build.sh rootfs

recovery

编译
recovery

./build.sh recovery

all

编译整个
SDK
模块代码包

./build.sh all

cleanall

清除整个 SDK 包

./build.sh cleanall

firmware

打包系统镜像

./build.sh firmware

updateimg

打包
update
镜像

./build.sh updateimg

app/<pkg>

编译
app
里面的模块代码

./build.sh app/ipc-daemon

external/<pkg>

编译
external
里面的模块代码

./build.sh external/rkmedia

         

1.1.2 envsetup.sh介绍

         不太很懂。用到再说

        envsetup.sh脚本主要的作用是,使能buildroot的配置文件。

        rv1126芯片中,可以选择的配置文件有3种:

        1)文件系统的配置文件

        2)recovery分区的配置文件(此分区用作升级和复原的文件系统,也是一个文件系统)

        3)libs的配置文件(生成一些库,方便应用层测试)

        运行如下代码

./envsetup.sh

        显示如下

        图中1是文件系统的配置文件

        图中2是libs的配置文件

        图中3是recovery分区的配置文件 

        Buildroot的输出目录下只能有一个“.config”文件,所以我们修改文件系统的配置文件,需要先使用./envsetup.sh选择相应的配置文件,就会在输出目录下生成 “.config”文件,运行结果如下:

1.1.3 mkfirmware.sh介绍

        mkfirmware.sh 脚本主要的作用是,把
uboot

kernel
、文件系统等等进行打包和生成镜像。

1.1.4 rkflash.sh介绍

         rkflash.sh 脚本主要的作用是,在 linux 系统下进行固件的烧录

2.SDK编译

        rk提供一键编译功能,使用一条命令编译出镜像文件。

./build.sh lunch
./build.sh

 3.编译第三方库或者APP

./build.sh external/mpp app/mediaserver
./build.sh rootfs

4.编译rkmedia 

source envsetup.sh alientek_rv1126  //选择环境变量 alientek_rv1126
make rkmedia-dirclean               //清除刚刚编译的 rkmedia
make rkmedia                        //重新编译 rkmedia
./build.sh rootfs                   //打包到文件系统里面

rkmedia编译文件输出目录

源码目录

/buildroot/output/alientek_rv1126/oem/usr/bin