一個通用 Linux SDK 工程目錄包含有buildroot、app、kernel、device、docs、external 等目錄。其中一些特性芯片如RK3308/RV1108/RV1109/RV1126等,會有所不同。
● app:存放上層應用 app,主要是 qcamera/qfm/qplayer/settings 等一些應用程序。
● buildroot:基于 buildroot (2018.02-rc3) 開發的根文件系統。
● device/rockchip:存放各芯片板級配置和Parameter文件,以及一些編譯與打包固件的腳本和預備文件。
● docs:存放芯片模塊開發指導文檔、平臺支持列表、芯片平臺相關文檔、Linux開發指南等。
● IMAGE:存放每次生成編譯時間、XML、補丁和固件目錄。
● external:存放第三方相關倉庫,包括音頻、視頻、網絡、recovery 等。
● kernel:存放 kernel 4.4 或 4.19 開發的代碼。
● prebuilts:存放交叉編譯工具鏈。
● rkbin:存放 Rockchip 相關的 Binary 和工具。
● rockdev:存放編譯輸出固件。
● tools:存放 Linux 和 Windows 操作系統環境下常用工具。
本 SDK 開發環境是在Ubuntu 系統上開發測試。我們推薦使用 Ubuntu 18.04 的系統進行編譯。其他的Linux 版本可能需要對軟件包做相應調整。除了系統要求外,還有其他軟硬件方面的要求。
●硬件要求:64 位系統,硬盤空間大于40G。如果您進行多個構建,將需要更大的硬盤空間。
●軟件要求:Ubuntu 18.04 系統。
編譯 SDK 環境搭建所依賴的軟件包安裝命令如下:
sudo apt-get installuuid uuid-dev zlib1g-dev liblz-dev liblzo2-2 liblzo2-dev git curl \
u-boot-tools mtd-utilsandroid-tools-fsutils openjdk-8-jdk device-tree-compiler gdisk m4 \
gnupg flex bison gperflibsdl1.2-dev libesd-java libwxgtk3.0-dev squashfs-tools \
build-essential zipunzip libncurses5-dev pngcrush schedtool libxml2 libxml2-utils xsltproc \
lzop libc6-devg++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-dev gcc-multilib \
libswitch-perllibssl-dev liblz4-tool gconf2 net-tools lib32ncurses5-dev tree vim gparted \
g++ libyaml-devlibpython2.7-dev make libssl-dev lib32z1 p7zip-full python-pip libgmp-dev \
libmpc-dev
建議使用 Ubuntu18.04 系統或更高版本開發,若編譯遇到報錯,可以查看報錯信息,安裝對應的軟件包。
在SDK目錄下輸入./build.sh -h可以得知SDK支持的命令,如下所示。
SDK支持單獨編譯以及整體編譯,單獨編譯。單獨編譯在下面獨立章節會詳細介紹,此處先介紹整體編譯方法。步驟如下:
· 選擇默認配置,./build.sh lunch,選擇第5個配置(rk3568評估套件)
· 執行編譯操作,./build.sh all
· 執行打包操作,./mkfirmware.sh
· 等待編譯完成獲取編譯固件
具體操作命令如下:
./build.shBoardConfig-rk3568-evb1-ddr4-v10.mk
./build.shall
./mkfirmware.sh
編譯到內核階段時,第一次編譯需要對電源域進行判斷,這里全部選擇第2個3300000,如下圖所示:
得到的編譯固件路徑為SDK包根目錄下的rockdev目錄,如下所示。
然后再更新萬象提供的光盤資料出廠鏡像中的對應固件即可,如下所示。
rockdev目錄內的燒錄文件實際是把各個組成部分的編譯結果鏈接到此目錄,各個編譯結果的鏈接情況如下所示。
圖3.1 rockdev目錄內容
所以各個組成部分的來源如下所示。
來源 | 文件 | 描述 |
Uboot | MiniLoaderAll.bin | 引導文件 |
uboot.img | uboot代碼主體 | |
Kernel | boot.img | kernel代碼主體 |
Buildroot | recovery.img | 來源于buildroot |
rootfs.ext4 | 這兩個文件為同一個文件,為buildroot代碼主體 | |
rootfs.img | ||
雜項 | misc.img | 來自rockchip的自定義文件 |
oem.img | oem分區的固件鏡像 | |
parameter.txt | 參數保存文件,由原廠定義 | |
userdata.img | 用戶空間的固件鏡像 |
./build.shBoardConfig-rk3568-evb1-ddr4-v10.mk
./build.sh kernel
./build.sh rootfs
./build.sh updateimg
IT之家訊 微軟今天面向開發者發布了全新的Windows Update SDK,將有助于開發者增加廣告收益,這得益于新版SDK中對視頻插播廣告的支持。新版SDK特性:
? 針對Win10的通用廣告客戶端SDK(Microsoft Universal Ad Client SDK);
? 支持在Win8.1、WP8.1以及Windows10中播放視頻插播廣告,有利于游戲等內容的展示;
? 為Windows 8.1與Win10應用添加廣告中介支持,可輔助管理多個廣告SDK并增加廣告覆蓋率;
以下為微軟官方頁面中的介紹:
? 針對Win10的通用廣告客戶端SDK——該SDK已面向Win10發布,同樣支持Windows與WP8.1應用。新廣告SDK利用本地代碼構建,無需.NET runtime進行托管,在降低內存占用的同時可提升性能。另外,新廣告SDK還修復了一些Bug,同時將最低刷新時間減少到30秒(之前當應用在計費網絡中運行時,最低刷新時間為60秒)。開發者只需安裝全新廣告SDK,然后直接拖放并配置控件即可。
? 支持視頻插播廣告——在今天推出的通用廣告客戶端SDK中,新增了視頻插播功能支持。對于付費應用和游戲來說,視頻廣告是一種非常流行的宣傳推廣方式。相比banner廣告,視頻廣告可提供更高的eCPM(千次廣告展示可獲得的收入)。新SDK中的視頻廣告支持Win10、Win8.1以及WP8.1。(via: Microsoft-News)
更過內容可參考微軟官方發布頁面,點此進入。