RK3568常見(jiàn)問(wèn)題手冊(cè)-如何快捷的使用瑞芯微RK3568J開(kāi)發(fā)板

原創(chuàng) 作者 飛凌嵌入式 2024-12-19 16:19:00 rk3568 rk3568手冊(cè) rk3568問(wèn)題

概述

本文詳細(xì)介紹了RK3568Linux、Android、Ubuntu系統(tǒng)編譯過(guò)程中可能遇到的問(wèn)題,包括設(shè)備樹(shù)路徑、源碼編譯不通過(guò)、內(nèi)核編譯配置錯(cuò)誤、buildroot編譯問(wèn)題、交叉編譯工具位置、編譯與燒寫區(qū)別、rockdev目錄映像文件、串口數(shù)據(jù)丟失問(wèn)題、menuconfig配置不生效以及源碼解壓與編譯問(wèn)題等,并給出了相應(yīng)的解決方案,對(duì)于開(kāi)發(fā)者在編譯RK3568系統(tǒng)時(shí)具有很好的指導(dǎo)意義。

硬件平臺(tái):飛凌嵌入式RK3568/RK3568J 開(kāi)發(fā)板      

操作系統(tǒng):Linux、Android、Ubuntu

目錄

1、Linux設(shè)備樹(shù)的路徑是什么? 

2、Linux 源碼編譯不通過(guò),是什么原因?

3、Linux單獨(dú)編譯內(nèi)核提示Actions Semi Platforms (ARCH_ACTIONS) [N/y/?] (NEW),導(dǎo)致編譯失敗,這是為什么? 

4、Linux在buildroot編譯qt5webengine 5.14.2時(shí)出錯(cuò)退出,是什么原因? 

5:Linux在buildroot編譯linux-tools時(shí)報(bào)錯(cuò)出錯(cuò)退出,是什么原因? 

6、Linux源碼目錄下的交叉編譯工具的位置在哪? 

7、Linux交叉編譯配置的環(huán)境變量路徑: Linux執(zhí)行./build.sh buildroot與執(zhí)行全編譯的區(qū)別 

8:Linux在rockdev目錄下的misc.img oem.img recovery.img userdata.img分別是什么意思? 

9:Linux為什么運(yùn)行我們官方的QT程序會(huì)報(bào)以下錯(cuò)誤? 

10:Linux系統(tǒng)在使用串口和其他傳感器模塊,會(huì)發(fā)生丟少量字節(jié),怎樣保證串口不丟失數(shù)據(jù)? 

11:Linux/Ubuntu 通過(guò)make ARCH=arm64 menuconfig 配置內(nèi)核后沒(méi)有生效,是什么原因? 

12:Linux/Ubuntu/Android源碼解壓失敗,報(bào)錯(cuò)EOF歸檔失敗? 

13:Android 源碼編譯不通過(guò)? 

14:Android手冊(cè)內(nèi)沒(méi)有單獨(dú)燒寫部分,是不是不支持單獨(dú)燒寫?

15:源碼編譯圖形界面配置錯(cuò)誤電壓。


--正文開(kāi)始--

本文基于飛凌嵌入式RK3568開(kāi)發(fā)板作為硬件平臺(tái)展開(kāi)論述,同時(shí)也對(duì)其他開(kāi)發(fā)板用戶提供了參考價(jià)值。文章深入探討了在編譯RK3568芯片所支持的Linux、Ubuntu及Android系統(tǒng)過(guò)程中,開(kāi)發(fā)者可能遇到問(wèn)題。通過(guò)對(duì)這些常見(jiàn)編譯問(wèn)題的細(xì)致剖析,并配以相應(yīng)的解決思路,以期幫助開(kāi)發(fā)者在編譯RK3568相關(guān)系統(tǒng)時(shí)能更加順暢無(wú)阻。 在此過(guò)程中,我們特別提醒開(kāi)發(fā)者,面對(duì)編譯中的復(fù)雜性與不確定性,需保持高度的耐心與細(xì)致入微的態(tài)度。同時(shí),鼓勵(lì)開(kāi)發(fā)者積極利用官方發(fā)布的詳盡文檔以及活躍的社區(qū)資源,希望各位開(kāi)發(fā)者都能成功構(gòu)建出穩(wěn)定可靠的RK3568 Linux、Ubuntu及Android系統(tǒng)。

RK3568

1、Linux設(shè)備樹(shù)的路徑是什么?

當(dāng)您的產(chǎn)品是飛凌嵌入式RK3568系列板卡時(shí),在Linux內(nèi)核中,設(shè)備樹(shù)的路徑通常位于kernel/arch/arm64/boot/dts/rockchip/目錄下,具體文件名為OK3568-C-common.dtsi。這個(gè)文件包含了與OK3568-C系列處理器相關(guān)的設(shè)備樹(shù)定義。

2:Linux 源碼編譯不通過(guò),是什么原因?

問(wèn)題排查方向,你可以參考以下幾項(xiàng)。

①、源碼路徑與名稱的穩(wěn)定性:

全編譯流程結(jié)束后,請(qǐng)確保源碼的存儲(chǔ)路徑未發(fā)生變動(dòng),且源碼文件夾的名稱也未被更改。任何路徑或名稱的修改都可能阻礙后續(xù)的源碼編譯進(jìn)程。

②、操作系統(tǒng)與虛擬環(huán)境的核查:

驗(yàn)證您的電腦是否運(yùn)行的是Windows 10操作系統(tǒng)。

檢查VMware虛擬機(jī)的版本是否為15。

核實(shí)Ubuntu操作系統(tǒng)的版本是否為18.04。

檢查電腦是否達(dá)到16G內(nèi)存,虛擬機(jī)是否是達(dá)到8G內(nèi)存,虛擬機(jī)處理器數(shù)量4,每個(gè)處理器內(nèi)核數(shù)量1(如果編譯報(bào)錯(cuò),可以增大內(nèi)存到10G,配置為4M倍數(shù))。

③、編譯過(guò)程中的內(nèi)存與線程管理:

編譯失敗的一個(gè)常見(jiàn)原因是編譯過(guò)程中線程數(shù)量過(guò)多,導(dǎo)致內(nèi)存資源被過(guò)度占用。因此,合理管理編譯線程的數(shù)量,以避免內(nèi)存耗盡。

④、源碼完整性的校驗(yàn):

在拷貝并合并文件后,請(qǐng)利用md5sum OK3568-linux-source.tar.bz2命令生成校驗(yàn)碼,并將其與OK3568-linux-source.tar.bz2.checksum.txt文件中的內(nèi)容進(jìn)行比對(duì),以確保源碼的完整性。

⑤、虛擬機(jī)庫(kù)文件的安裝情況:

請(qǐng)檢查虛擬機(jī)中是否已安裝所有基本庫(kù)和必要的開(kāi)發(fā)庫(kù),這些庫(kù)文件對(duì)于編譯過(guò)程至關(guān)重要。

⑥、網(wǎng)絡(luò)連接的穩(wěn)定性:

使用ping www.gxjmg.com命令或打開(kāi)瀏覽器訪問(wèn)網(wǎng)頁(yè),以驗(yàn)證網(wǎng)絡(luò)連接是否穩(wěn)定。網(wǎng)絡(luò)連接問(wèn)題可能會(huì)影響編譯過(guò)程中的文件下載或更新。

⑦、特定編譯錯(cuò)誤的應(yīng)對(duì)措施:

若您在首次編譯RK3568 Linux時(shí)遇到錯(cuò)誤,建議再次執(zhí)行./build.sh腳本進(jìn)行嘗試。有時(shí),初次編譯中的某些錯(cuò)誤可能由于環(huán)境或配置的小幅波動(dòng)而產(chǎn)生,再次執(zhí)行腳本可能會(huì)解決這些問(wèn)題。

3:在Linux系統(tǒng)中單獨(dú)編譯內(nèi)核時(shí),提示“Actions Semi Platforms (ARCH_ACTIONS) [N/y/?] (NEW)”,并且導(dǎo)致編譯失敗,這是為什么?

這種情況的原因是 .config 文件中的架構(gòu)配置被錯(cuò)誤地修改為X86架構(gòu)。通常發(fā)生在用戶直接在內(nèi)核源代碼目錄下執(zhí)行 make menuconfig 命令時(shí),沒(méi)有指定正確的目標(biāo)架構(gòu)。正確的命令應(yīng)該是 make ARCH=arm64 menuconfig,其中 ARCH=arm64 指定了目標(biāo)架構(gòu)為ARM64。

為了解決這個(gè)問(wèn)題,可以取消之前對(duì)編譯腳本所做的修改,讓編譯腳本能夠重新生成 .config 文件。重新生成 .config 文件后,使用正確的命令執(zhí)行配置過(guò)程,這樣就可以確保使用正確的架構(gòu)配置進(jìn)行內(nèi)核編譯。

4:在Buildroot環(huán)境中編譯Qt5WebEngine 5.14.2時(shí),Linux系統(tǒng)報(bào)錯(cuò)并退出,可能的原因是什么?

編譯Qt5WebEngine 5.14.2時(shí)出錯(cuò)并退出的原因通常是由于虛擬機(jī)(VM)可用的運(yùn)行內(nèi)存不足。推薦的最低VM配置是8GB運(yùn)行內(nèi)存和200GB存儲(chǔ)空間。然而,很多用戶的宿主機(jī)只有8GB運(yùn)行內(nèi)存,這在實(shí)際操作中會(huì)導(dǎo)致問(wèn)題。即使VM被設(shè)置為使用8GB運(yùn)行內(nèi)存,宿主機(jī)本身也需要占用一定的運(yùn)行內(nèi)存來(lái)維持其正常運(yùn)行,因此實(shí)際上VM可用的內(nèi)存會(huì)少于8GB。

此外,有些用戶可能會(huì)修改產(chǎn)品資料中提供的VM鏡像配置,比如增加內(nèi)核數(shù)或調(diào)整運(yùn)存大小。在某些情況下,為了成功編譯Qt5WebEngine,用戶可能需要將VM的運(yùn)存增加到10GB或更高。

因此,如果在編譯Qt5WebEngine時(shí)遇到內(nèi)存不足的報(bào)錯(cuò),解決方法通常是增加VM可用的運(yùn)存空間。建議確保宿主機(jī)的運(yùn)行內(nèi)存在16GB及以上,以便為VM分配足夠的內(nèi)存資源。如果宿主機(jī)內(nèi)存不足,可以嘗試關(guān)閉一些不必要的應(yīng)用程序或服務(wù),或者升級(jí)宿主機(jī)的硬件配置。

5、在Buildroot環(huán)境中編譯linux-tools時(shí),Linux系統(tǒng)報(bào)錯(cuò)并退出,可能的原因是什么?

A:在Buildroot環(huán)境中編譯linux-tools時(shí)遇到報(bào)錯(cuò)并退出,通常是因?yàn)楫?dāng)前開(kāi)發(fā)環(huán)境中的/usr/bin/python軟鏈接指向了Python 3,而linux-tools的源碼編譯過(guò)程可能需要使用Python 2。為了驗(yàn)證這一點(diǎn),可以使用ls -l /usr/bin/python命令來(lái)查看/usr/bin/python軟鏈接實(shí)際指向的是哪個(gè)Python版本。

如果/usr/bin/python指向的是Python 3,那么你需要將其更改為指向Python 2。可以通過(guò)刪除現(xiàn)有的軟鏈接并重新創(chuàng)建一個(gè)指向Python 2的軟鏈接來(lái)完成。具體的命令如下:

首先,刪除現(xiàn)有的/usr/bin/python軟鏈接(需要管理員權(quán)限):

sudorm/usr/bin/python

然后,創(chuàng)建一個(gè)新的軟鏈接指向/usr/bin/python2(同樣需要管理員權(quán)限):

sudoln-s /usr/bin/python2 /usr/bin/python

注意,在執(zhí)行這些命令之前,確保你的系統(tǒng)中已經(jīng)安裝了Python 2,并且/usr/bin/python2是可用的。此外,更改系統(tǒng)級(jí)的軟鏈接可能會(huì)影響其他依賴于特定Python版本的程序,因此進(jìn)行此類更改之前,請(qǐng)備份重要數(shù)據(jù)。

6、Linux源碼目錄下的交叉編譯工具的位置在哪?

A:在正常使用情況下,我們推薦用戶采用位于OK3568-linux-source/buildroot/output/OK3568/host/bin目錄下的aarch64-linux-gcc和aarch64-linux-g++作為交叉編譯工具。

該編譯器查找的庫(kù)文件路徑位于OK3568-linux-source/buildroot/output/OK3568/host/aarch64-buildroot-linux-gnu/sysroot/usr目錄下。用戶可以在Buildroot的配置中實(shí)時(shí)更新或添加所需的編譯庫(kù)。

值得注意的是,因?yàn)樵创a的第一次編譯耗時(shí)較長(zhǎng),對(duì)于某些用戶而言可能并不希望進(jìn)行全編譯。針對(duì)這種情況,用戶可以嘗試使用位于OK3568-linux-source/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-***-gnu/bin目錄下的aarch64-linux-gnu-gcc和aarch64-linux-gnu-g++作為交叉編譯工具。

關(guān)于gcc-linaro-6.3.1和gcc-buildroot-9.3.0的詳細(xì)信息,用戶可以查閱OK3568-linux-source/docs/Rockchip_Developer_Guide_Linux_Software_CN.pdf這一瑞芯微官方文檔。在該文檔的5.2.4章節(jié)中,用戶可以找到關(guān)于交叉編譯工具的詳細(xì)介紹和使用指南。

7:Linux交叉編譯配置的環(huán)境變量路徑:

配置環(huán)境變量:

export PATH=$PATH:/home/forlinx/linux-3568/OK3568-linux-source/buildroot/output/OK3568/host/bin

設(shè)置交叉編譯并運(yùn)行程序的命令行:

export PATH=/home/forlinx/3568/OK3568-linux-source/buildroot/output/OK3568/host/bin/:$PATH

aarch64-linux-gcc test.c -o test

8:Linux環(huán)境下執(zhí)行./build.sh buildroot與執(zhí)行全編譯的區(qū)別

執(zhí)行./build.sh buildroot

執(zhí)行./build.sh buildroot只會(huì)在/OK3568-linux-source/buildroot/output/OK3568/images目錄下生成文件系統(tǒng)鏡像;

執(zhí)行全編譯:

執(zhí)行全編譯才會(huì)在/OK3568-linux-source/IMAGE/OK3568-C-LINUX_20230714.0034_RELEASE_TEST/IMAGES目錄下生成各個(gè)分區(qū)文件和update.img文件。

執(zhí)行./build.sh buildroot與進(jìn)行全編譯的主要區(qū)別在于它們的目標(biāo)和輸出。前者可能只生成一個(gè)或幾個(gè)特定的文件系統(tǒng)鏡像文件,而后者則生成一個(gè)完整的、可用于部署的軟件包或鏡像文件集合。使用RK3568進(jìn)行開(kāi)發(fā)或部署時(shí),您應(yīng)根據(jù)具體需求選擇適當(dāng)?shù)臉?gòu)建方式。

9:Linux在rockdev目錄下的misc.img oem.img recovery.img userdata.img分別是什么意思?

misc.img:

解釋:此映像文件包含了一些雜項(xiàng)(miscellaneous)信息,這些信息通常與設(shè)備啟動(dòng)和配置相關(guān)。例如,bootloader的狀態(tài)(如鎖定或解鎖),以及其他與設(shè)備安全和啟動(dòng)流程相關(guān)的參數(shù)。

oem.img:

解釋:此映像文件包含了設(shè)備制造商(OEM)定制的數(shù)據(jù)。這些數(shù)據(jù)一般包括設(shè)備制造商的LOGO、特定的驅(qū)動(dòng)程序、配置文件,以及用于設(shè)備初始化或特定功能的腳本。

recovery.img:

解釋:此映像文件包含了Recovery模式的文件系統(tǒng)。Recovery模式是一個(gè)獨(dú)立于主操作系統(tǒng)的環(huán)境,用于設(shè)備的恢復(fù)、更新、修復(fù)問(wèn)題,或創(chuàng)建/恢復(fù)備份。它通常提供了一個(gè)簡(jiǎn)單的用戶界面,允許用戶在沒(méi)有主操作系統(tǒng)的情況下執(zhí)行這些操作。

userdata.img:

解釋:此映像文件包含了用戶數(shù)據(jù),如應(yīng)用程序數(shù)據(jù)、用戶設(shè)置、任務(wù)信息等。這是用戶在使用設(shè)備時(shí)創(chuàng)建和存儲(chǔ)的數(shù)據(jù),對(duì)于設(shè)備的個(gè)性化配置和用戶體驗(yàn)至關(guān)重要。

這些映像文件通常在設(shè)備刷機(jī)或升級(jí)時(shí)被使用。因此,在進(jìn)行相關(guān)操作時(shí),須格外小心謹(jǐn)慎,以避免因操作不當(dāng)而導(dǎo)致的設(shè)備損壞或數(shù)據(jù)丟失。

10:Linux為什么運(yùn)行我們官方的QT程序會(huì)報(bào)以下錯(cuò)誤?

qt.qpa.wayland: No shell integration named “xdg-shell” found

A:此情況屬于正常現(xiàn)象,在編譯命令執(zhí)行完畢后,RK3568開(kāi)發(fā)板連接顯示屏?xí)r即可觀察到QT程序的界面已正常呈現(xiàn)。

11:Linux系統(tǒng)在使用串口和其他傳感器模塊,會(huì)發(fā)生丟少量字節(jié),怎樣保證串口不丟失數(shù)據(jù)?

可嘗試修改設(shè)備樹(shù)中與串口相關(guān)的配置,以啟用直接內(nèi)存訪問(wèn)(DMA)模式。具體操作步驟包括在對(duì)應(yīng)的串口配置函數(shù)中,添加如下配置:

dma-names = “tx” , “rx”;

通過(guò)啟用DMA模式,可以更有效地管理串口數(shù)據(jù)的傳輸,進(jìn)而減少數(shù)據(jù)丟失的風(fēng)險(xiǎn)。

12:Linux/Ubuntu 通過(guò)make ARCH=arm64 menuconfig 配置內(nèi)核后沒(méi)有生效,是什么原因?

在Linux內(nèi)核編譯過(guò)程中,使用menuconfig命令主要是用于生成和修改.config文件,該文件包含了內(nèi)核編譯時(shí)的各種配置選項(xiàng)。然而,如果在執(zhí)行menuconfig后,又通過(guò)編譯腳本(如build.sh)來(lái)生成鏡像,且該腳本中包含make defconfig命令,那么原本通過(guò)menuconfig設(shè)置的.config文件可能會(huì)被make defconfig命令重新生成的.config文件覆蓋。

基于這一原理,要使menuconfig的配置生效,可以采取以下兩種方法:

①、直接編輯defconfig文件:

找到與你的目標(biāo)硬件(如飛凌嵌入式RK3568開(kāi)發(fā)板)相對(duì)應(yīng)的配置文件,通常位于kernel/arch/arm64/configs/目錄下,文件名為OK3568-C-linux_defconfig。你可以直接編輯這個(gè)文件,將需要的配置選項(xiàng)添加進(jìn)去,或者基于這個(gè)文件創(chuàng)建一個(gè)新的配置文件。然后,在編譯時(shí),使用make ARCH=arm64 OK3568-C-linux_defconfig命令來(lái)生成.config文件,這樣.config文件就會(huì)包含你在defconfig文件中設(shè)置的配置選項(xiàng)。

②、修改編譯腳本:

打開(kāi)你的build.sh編譯腳本,找到其中包含make defconfig命令的行(第509行),并將其注釋掉。這樣,在執(zhí)行編譯腳本時(shí),就不會(huì)再執(zhí)行make defconfig命令,從而避免覆蓋通過(guò)menuconfig設(shè)置的.config文件。

13:在Linux/Ubuntu系統(tǒng)上解壓Android源碼時(shí)遇到“EOF歸檔失敗”的錯(cuò)誤

遇到“EOF歸檔失敗”的錯(cuò)誤通常意味著壓縮包在下載或傳輸過(guò)程中可能已損壞,或者解壓時(shí)使用的文件不完整。為了解決這個(gè)問(wèn)題,請(qǐng)按照以下步驟操作:

①、驗(yàn)證MD5碼:

首先,需要確認(rèn)你下載的壓縮包的MD5碼是否與提供的一致。MD5碼是一種校驗(yàn)和,用于驗(yàn)證文件的完整性和真實(shí)性。可以使用md5sum命令(在Linux/Ubuntu上)來(lái)計(jì)算下載的壓縮包的MD5碼,并將其與提供的MD5碼進(jìn)行比較。

如果MD5碼不一致,那么很可能是文件在下載過(guò)程中出現(xiàn)了損壞,或者下載的不是正確的文件。此時(shí),應(yīng)該重新下載文件,并確保下載過(guò)程中沒(méi)有中斷。

②、檢查壓縮包數(shù)量:

如果MD5碼一致,但解壓時(shí)仍然出現(xiàn)錯(cuò)誤,那么需要注意,RK3568系板卡的源碼包是以切包的方式存儲(chǔ)的,即生成了多個(gè)壓縮包(如.aa, .ab, .ac等,統(tǒng)稱為a*壓縮包)。在解壓前,需要將這些壓縮包合并成一個(gè)完整的壓縮包。

③、合并壓縮包:

使用cat命令將多個(gè)壓縮包合并成一個(gè)完整的壓縮包。例如 cat OK3568-linux-source.tar.bz2.a* > OK3568-linux-source.tar.bz2,這條命令會(huì)將所有以O(shè)K3568-linux-source.tar.bz2.a開(kāi)頭的文件合并成一個(gè)名為OK3568-linux-source.tar.bz2的完整壓縮包。

④、解壓合并后的壓縮包:

使用tar命令 tar -xvf OK3568-linux-source.tar.bz2 解壓合并后的壓縮包,這條命令會(huì)解壓OK3568-linux-source.tar.bz2文件,并將其內(nèi)容提取到當(dāng)前目錄下。

請(qǐng)確保在執(zhí)行這些步驟時(shí),你有足夠的磁盤空間和正確的權(quán)限來(lái)訪問(wèn)和修改這些文件。如果問(wèn)題仍然存在,請(qǐng)檢查你的系統(tǒng)環(huán)境是否支持解壓該類型的壓縮包,或者嘗試在不同的系統(tǒng)或環(huán)境中進(jìn)行解壓。

14:Android 源碼編譯不通過(guò)?

有用戶反饋,在編譯3568Android源碼的過(guò)程中,首次編譯會(huì)遇到錯(cuò)誤,但再次編譯時(shí)卻能成功,且之前的報(bào)錯(cuò)似乎并未對(duì)最終的編譯結(jié)果產(chǎn)生影響。

針對(duì)用戶反饋的這一問(wèn)題,我們注意到Android源碼編譯前需要執(zhí)行兩條關(guān)鍵命令,它們分別是:
①、source build/envsetup.sh

②、lunch ok3568_r-userdebug

這兩條命令的主要作用是配置編譯所需的環(huán)境變量,這些配置是臨時(shí)的,它們與當(dāng)前的終端窗口緊密相關(guān)。若用戶在新建的終端窗口中執(zhí)行編譯操作,那么需要重新執(zhí)行這兩條命令,以確保環(huán)境變量得到正確配置。

15:Android手冊(cè)內(nèi)沒(méi)有單獨(dú)燒寫部分,是不是不支持單獨(dú)燒寫?

A:Android系統(tǒng)在經(jīng)歷過(guò)一次全編譯后,是支持單獨(dú)編譯和燒寫的。

Q:源碼編譯過(guò)程中電壓域配置錯(cuò)誤導(dǎo)致內(nèi)核編譯失敗的解決方案

在源碼編譯過(guò)程中,若因圖形界面配置錯(cuò)誤電壓域而導(dǎo)致內(nèi)核編譯失敗,首先,確認(rèn)你正在編譯的是Linux系統(tǒng)、Forlinx Desktop系統(tǒng)還是Android系統(tǒng),這幾個(gè)操作系統(tǒng)的編譯和修復(fù)步驟略有不同。可按照以下步驟進(jìn)行故障排查與修復(fù)

①、針對(duì)Linux系統(tǒng)與Forlinx Desktop系統(tǒng)

定位并刪除臨時(shí)文件:

首先,需定位至內(nèi)核設(shè)備樹(shù)(DTS)文件所在的目錄。在Ubuntu系統(tǒng)中,若使用飛凌嵌入式提供的OK3568開(kāi)發(fā)板源碼,該目錄通常位于~/OK3568-linux-source/kernel/arch/arm64/boot/dts/rockchip。在此目錄下,查找名為.OK3568-C-linux.dtb.dts.tmp.domain的臨時(shí)文件,并使用rm命令將其刪除。執(zhí)行l(wèi)s -a命令可確認(rèn)文件是否已成功刪除。

重新編譯內(nèi)核鏡像:

刪除臨時(shí)文件后,返回至Linux源碼的根目錄(如~/OK3568-linux-source),并執(zhí)行編譯腳本(如./build.sh)以重新編譯內(nèi)核鏡像。

②、針對(duì)Android系統(tǒng)

定位并刪除臨時(shí)文件:

對(duì)于Android系統(tǒng),同樣需定位至內(nèi)核設(shè)備樹(shù)(DTS)文件所在的目錄,該目錄在Android源碼中通常位于~/android-ok3568/OK3568-android11-source/kernel/arch/arm64/boot/dts/rockchip。在此目錄下,查找名為.OK3568-C-android.dtb.dts.tmp.domain的臨時(shí)文件,并使用rm命令將其刪除。執(zhí)行l(wèi)s -a命令確認(rèn)文件刪除情況。

設(shè)置編譯環(huán)境并重新編譯:

刪除臨時(shí)文件后,返回至Android源碼的根目錄(如~/android-ok3568/OK3568-android11-source),并執(zhí)行以下命令以設(shè)置編譯環(huán)境、選擇編譯目標(biāo)并重新編譯鏡像:

source build/envsetup.sh:設(shè)置Android編譯環(huán)境變量。

lunch ok3568_r-userdebug:選擇編譯目標(biāo)配置。

./build.sh -UKAup:執(zhí)行編譯命令,其中-UKAup參數(shù)可能根據(jù)具體編譯需求而有所調(diào)整。



相關(guān)產(chǎn)品 >

  • FET3568-C核心板

    RK3568性能強(qiáng)而穩(wěn) 國(guó)產(chǎn)芯|飛凌嵌入式RK3568系列核心板,采用瑞芯微國(guó)產(chǎn)高性能AI處理器RK3568設(shè)計(jì)生產(chǎn),RK3568兼具CPU、GPU、NPU、VPU于一身,RK3568 性能、性價(jià)比在同類產(chǎn)品中具有較高優(yōu)勢(shì),RK3568處理器是一款定位中高端的通用型SoC, 飛凌RK3568核心板主要面向工業(yè)互聯(lián)網(wǎng)、HMI、NVR存儲(chǔ)、車載中控、工業(yè)網(wǎng)關(guān)等領(lǐng)域。目前RK3568系列已經(jīng)批量穩(wěn)定出貨

    了解詳情
    FET3568-C核心板
  • OK3568-C開(kāi)發(fā)板

    強(qiáng)而穩(wěn),國(guó)產(chǎn)芯,1Tops算力,多路高速接口|飛凌RK3568系列RK3568開(kāi)發(fā)板基于國(guó)產(chǎn)工業(yè)級(jí)AI處理器RK3568四核64位Cortex-A55 處理器設(shè)計(jì)。RK3568作為國(guó)產(chǎn)化高性能處理器,瑞芯微RK3568芯片是一款定位中高端的通用型SoC,瑞芯微RK3568芯片是一款定位中高端的通用型SoC,NPU達(dá)到1Tops,飛凌RK3568系列核心板提供瑞芯微RK3568規(guī)格書_datasheet_數(shù)據(jù)手冊(cè)_原理圖等,


    了解詳情
    OK3568-C開(kāi)發(fā)板

推薦閱讀 換一批 換一批