本文介紹一下RV1103 SDK的部署,以及初步修改,并編譯出一個(gè)能在設(shè)備上運(yùn)行的基礎(chǔ)版本的固件。
SDK介紹
RK公版的SDK解壓之后內(nèi)容如下。RV1103和RV1106是公用一套SDK的。這套SDK和RV1109/RV1126系列不能共用。

其中
1、.repo
整個(gè)工程的版本管理工具
2、docs
開發(fā)文檔
3、media
多媒體開發(fā)工具。里面包含了v4l2視頻輸入庫, mpp編解碼庫,alsa音頻庫等音視頻組件庫。
4、project
里面的內(nèi)容如下

其中app目錄是一些更上層的應(yīng)用示例,比如ipc的應(yīng)用demo。
cfg目錄是板級(jí)編譯配置。目前支持的配置如下

scripts目錄里面是編譯腳本和一些打包配置,比如打包內(nèi)核鏡像+設(shè)備樹的its文件。
這個(gè)cfg目錄+scripts目錄在常規(guī)的RK SDK里面一般是放在device目錄里面。
5、sysdrv
目錄里面內(nèi)容如下

cfg目錄是編譯配置
drv_ko存放部分不開源的驅(qū)動(dòng),以及WiFi驅(qū)動(dòng)的源碼。
source是uboot和kernel源碼
tools目錄用于構(gòu)建rootfs。其中board是板端的軟件組件包源碼,比如busybox和adb等。pc是pc端的工具源碼,比如mtd-tools編譯出來的mtd工具可用于打包nand分區(qū)鏡像。
這個(gè)tools目錄類似于其它RK SDK的buildroot
6、tools
包含Windows和Linux下面的固件制作工具以及燒錄工具。此外交叉編譯工具在linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf下
這個(gè)SDK跟之前RK其它系列的Linux SDK不一樣,它的目錄更少,而且沒有那么多種rootfs的支持。此外,libc庫更改為uclibc而不是其它系列使用的glibc。
新建編譯配置
首先進(jìn)入project/cfg/BoardConfig_IPC目錄,注意到里面并沒有RV1103 SPI NAND的配置,因此要新建一個(gè)??梢栽赟PI NOR的基礎(chǔ)上修改。這個(gè)開發(fā)板名叫PICO,因此可以執(zhí)行如下操作

然后打開這個(gè)文件,進(jìn)行如下修改

uboot里面的defconfig,默認(rèn)都是rv1106的defconfig,這個(gè)defconfig是從SPI NAND啟動(dòng)的

分區(qū)表配置,修改為這樣,適配W25N01 128MB的

文件系統(tǒng)類型

如果是讀寫分區(qū),spi nand一般用ubifs,spi nor用jffs2。只讀分區(qū)都用squashfs。建議rootfs改為只讀,以提升系統(tǒng)可靠性
另外最后還要加上如下內(nèi)容,指定SPI NAND的塊大小和頁大小

設(shè)備樹需要新建一個(gè)支持SPI NAND的。打開sysdrv/source/kernel/arch/arm/boot/dts,找到rv1103g-evb-v10.dts,直接基于這個(gè)進(jìn)行修改。執(zhí)行

然后將默認(rèn)的spi nor改成spi nand。在復(fù)制過來的這個(gè)dts末尾增加

然后修改mk文件種的這個(gè)DTS為新建的

其余的暫時(shí)不修改,嘗試執(zhí)行構(gòu)建。在SDK根目錄下執(zhí)行
./build.sh lunch
找到新建的這個(gè)方案,輸入對應(yīng)的序號(hào),這里是3

然后執(zhí)行
./build.sh
進(jìn)行完整構(gòu)建
如果沒有出現(xiàn)錯(cuò)誤,會(huì)生成固件,放在output/image下

這個(gè)update.img就是打包后的固件
將構(gòu)建后的固件燒錄到設(shè)備上。重新上電,可以看到內(nèi)核的編譯信息

注意到編譯的時(shí)間已經(jīng)更新。說明燒錄進(jìn)去的固件已經(jīng)能正常運(yùn)行。到這里,SDK部署就完成了。后續(xù)可以在此配置上面進(jìn)行相關(guān)功能的開發(fā)。
構(gòu)建中出現(xiàn)的問題
1、media部分編譯報(bào)錯(cuò)

此問題第一次執(zhí)行構(gòu)建時(shí)必現(xiàn),再次執(zhí)行構(gòu)建消失。初步看是media有很多個(gè)模塊組成,模塊之間有依賴關(guān)系,不能并行編譯
解決方案為media部分強(qiáng)制改為單線程編譯

審核編輯 黃宇
-
嵌入式
+關(guān)注
關(guān)注
5186文章
20133瀏覽量
328338 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
6112瀏覽量
112927 -
SDK
+關(guān)注
關(guān)注
3文章
1093瀏覽量
51146 -
Rockchip
+關(guān)注
關(guān)注
0文章
82瀏覽量
19486
發(fā)布評(píng)論請先 登錄
【新品體驗(yàn)】LuckFox Pico 開發(fā)板免費(fèi)試用
【LuckFox Pico Plus開發(fā)板免費(fèi)試用】-01-資料收集和分享
【LuckFox Pico Plus開發(fā)板免費(fèi)試用】02_SDK和開發(fā)環(huán)境部署
【LuckFox Pico 開發(fā)板免費(fèi)試用】1. 開發(fā)環(huán)境搭建
【LuckFox Pico 開發(fā)板免費(fèi)試用】+ 系統(tǒng)燒寫
【LuckFox Pico Plus開發(fā)板免費(fèi)試用】上手體驗(yàn)
【LuckFox Pico 開發(fā)板免費(fèi)試用】1.初次開箱
【LuckFox Pico Plus開發(fā)板免費(fèi)試用】RKNN模型推理測試
【LuckFox Pico開發(fā)板免費(fèi)試用】RKNN SDK使用教程
基于瑞芯微 RV1103 芯片,微型 Linux 開發(fā)板LuckFox Pico Plus開發(fā)實(shí)踐
RV1126開發(fā)板數(shù)據(jù)手冊
【LuckFox Pico Plus開發(fā)板免費(fèi)試用】+開發(fā)板上手

RV1103 開發(fā)板+SDK部署
評(píng)論