PPOCR是由百度開(kāi)發(fā)的一款開(kāi)源深度學(xué)習(xí)OCR(光學(xué)字符識(shí)別)模型,專注于文本檢測(cè)、識(shí)別與理解任務(wù),具備多場(chǎng)景、多語(yǔ)言的字符識(shí)別能力。該模型基于大規(guī)模多樣化的文本圖像數(shù)據(jù)訓(xùn)練而成,能夠有效應(yīng)對(duì)復(fù)雜背景、模糊字跡、傾斜變形及特殊字體等挑戰(zhàn),在圖像轉(zhuǎn)文本任務(wù)中展現(xiàn)出優(yōu)異的準(zhǔn)確性和魯棒性。其支持多種圖像格式輸入和輕量化部署特性,使其廣泛應(yīng)用于文檔數(shù)字化、票據(jù)識(shí)別、車牌識(shí)別、工業(yè)質(zhì)檢、智能辦公等多個(gè)領(lǐng)域。
PPOCR的開(kāi)源生態(tài)為OCR技術(shù)的研究與應(yīng)用提供了重要支撐,尤其在與移動(dòng)端、嵌入式設(shè)備結(jié)合時(shí),通過(guò)模型壓縮與優(yōu)化可實(shí)現(xiàn)高效的端側(cè)文本識(shí)別,進(jìn)一步拓展了其在智能終端、物聯(lián)網(wǎng)設(shè)備、自動(dòng)化系統(tǒng)等場(chǎng)景中的實(shí)用價(jià)值。隨著端側(cè)計(jì)算能力的持續(xù)提升,PPOCR有望在更多實(shí)時(shí)文本交互場(chǎng)景中發(fā)揮關(guān)鍵作用,推動(dòng)OCR技術(shù)的普惠化與商業(yè)化落地。
一、環(huán)境搭建
1. Anaconda安裝及使用
1.1Anaconda介紹
Anaconda是一個(gè)流行的開(kāi)源軟件包管理和環(huán)境管理系統(tǒng),用于科學(xué)計(jì)算、數(shù)據(jù)分析和大數(shù)據(jù)處理,特別是在Python環(huán)境中。它包含了許多常用的科學(xué)計(jì)算和數(shù)據(jù)分析的軟件包,并提供了一個(gè)方便的方式來(lái)管理這些軟件包的安裝、更新和環(huán)境配置。以下是Anaconda的一些主要特點(diǎn)和用途:
軟件包管理
Anaconda提供了一個(gè)名為conda的包管理工具,可以輕松安裝、更新和刪除軟件包。它支持?jǐn)?shù)千個(gè)科學(xué)計(jì)算和數(shù)據(jù)分析相關(guān)的軟件包,如NumPy、Pandas、Matplotlib等。
環(huán)境管理
Anaconda允許用戶創(chuàng)建和管理多個(gè)獨(dú)立的Python環(huán)境。每個(gè)環(huán)境可以有不同版本的Python和不同的軟件包集合,這樣可以避免版本沖突和環(huán)境污染。
跨平臺(tái)
Anaconda可以在Windows、macOS和Linux上運(yùn)行,使其成為開(kāi)發(fā)人員和研究人員之間共享和復(fù)制數(shù)據(jù)分析項(xiàng)目的理想工具。
集成開(kāi)發(fā)環(huán)境(IDE)
Anaconda還包含了Jupyter Notebook等強(qiáng)大的交互式開(kāi)發(fā)工具,使用戶能夠在瀏覽器中創(chuàng)建和分享文檔,結(jié)合代碼、公式、可視化和解釋性文本。
大數(shù)據(jù)支持
Anaconda不僅適用于單機(jī)環(huán)境,還支持分布式計(jì)算平臺(tái),如Apache Spark,從而能夠處理大規(guī)模數(shù)據(jù)和復(fù)雜的計(jì)算任務(wù)。
總之,Anaconda提供了一個(gè)全面的解決方案,使得科學(xué)計(jì)算和數(shù)據(jù)分析的開(kāi)發(fā)和部署變得更加簡(jiǎn)單和高效。
1.2Anaconda安裝
我們提供的虛擬機(jī)系統(tǒng)內(nèi)已預(yù)裝了Python 3.10及RKNN-Toolkit 2.1.0,專為模型轉(zhuǎn)換與量化打造。若使用其他版本Python或相關(guān)工具的需求,推薦在虛擬機(jī)中另行安裝Anaconda,以此避免環(huán)境沖突實(shí)現(xiàn)環(huán)境的完全隔離。
虛擬機(jī)系統(tǒng)使用的是“ELF 2開(kāi)發(fā)板資料包”中提供的開(kāi)發(fā)環(huán)境(路徑:ELF 2開(kāi)發(fā)板資料包\08-開(kāi)發(fā)環(huán)境)您可以選擇從網(wǎng)絡(luò)上下載Linux 版本的Miniconda,推薦訪問(wèn)清華大學(xué)的鏡像庫(kù)進(jìn)行下載。
具體網(wǎng)址為:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
另外,您也可以在“ELF 2開(kāi)發(fā)板資料包”的“06-常用工具\(yùn)06-2 環(huán)境搭建工具\(yùn)AI 安裝腳本”路徑下找到名為“Miniconda3-4.7.12.1-Linux-x86_64.sh”的執(zhí)行腳本。只需將該腳本上傳至虛擬機(jī)中,并執(zhí)行它即可完成Miniconda的安裝。
首先對(duì)執(zhí)行腳本賦予執(zhí)行權(quán)限并執(zhí)行腳本:
elf@ubuntu:~$ chmod +x Miniconda3-4.7.12.1-Linux-x86_64.sh elf@ubuntu:~$ ./Miniconda3-4.7.12.1-Linux-x86_64.sh
按enter按鍵,之后輸入yes,然后再設(shè)置安裝路徑,進(jìn)行安裝。

安裝完之后如下圖所示:

重新打開(kāi)終端。命令行之前出現(xiàn)(base)代表安裝成功。

1.3Anaconda基本使用
以下是關(guān)于conda操作指令的跨平臺(tái)說(shuō)明及在虛擬機(jī)上的示范:conda的操作指令是跨平臺(tái)的,這意味著它們既可以在Linux系統(tǒng)上運(yùn)行,也可以在Windows系統(tǒng)上執(zhí)行。接下來(lái)將在虛擬機(jī)環(huán)境中進(jìn)行示范。
查看虛擬環(huán)境列表:
condaenvlist

創(chuàng)建新的虛擬環(huán)境:
conda create --name<虛擬環(huán)境名稱>python=<版本號(hào)>
例如:conda create --name myenv python=3.10
說(shuō)明:此命令會(huì)創(chuàng)建一個(gè)名為<虛擬環(huán)境名稱>的新虛擬環(huán)境,并安裝指定版本的Python。如果不指定Python版本,則會(huì)安裝Anaconda發(fā)行版中附帶的Python版本。

激活虛擬環(huán)境:
例如:conda activate myenv
說(shuō)明:激活虛擬環(huán)境后,在該環(huán)境下安裝的包將僅在該環(huán)境中可用,從而避免了不同項(xiàng)目之間的依賴沖突。

退出虛擬環(huán)境:
condadeactivate
說(shuō)明:此命令用于退出當(dāng)前激活的虛擬環(huán)境,返回到基礎(chǔ)環(huán)境(base環(huán)境)。如再次執(zhí)行命令,則會(huì)退出base環(huán)境。

給虛擬環(huán)境安裝庫(kù):
pip install <包名> conda install <包名>
例如:conda install numpy 或 pip install numpy
說(shuō)明:通常推薦使用conda安裝庫(kù),因?yàn)樗鼤?huì)自動(dòng)處理依賴關(guān)系。但在某些情況下,如果conda中沒(méi)有可用的包版本,也可以使用pip進(jìn)行安裝。

刪除虛擬環(huán)境:
condaenvremove --name <虛擬環(huán)境名稱>
例如:conda env remove --name myenv
說(shuō)明:此命令會(huì)刪除指定的虛擬環(huán)境及其下安裝的所有包。

1.4. 創(chuàng)建用于部署的虛擬環(huán)境
創(chuàng)建新的虛擬環(huán)境:
elf@ubuntu:~$ conda create --name RKLLM-Toolkit-pyth3.10python=3.10
conda create --name <虛擬環(huán)境名稱> python=<版本號(hào)>
說(shuō)明:此命令會(huì)創(chuàng)建一個(gè)名為<虛擬環(huán)境名稱>的新虛擬環(huán)境,并安裝指定版本的Python。如果不指定Python版本,則會(huì)安裝Anaconda發(fā)行版中附帶的Python版本。
激活虛擬環(huán)境:
elf@ubuntu:~$conda activateRKLLM-Toolkit-pyth3.10
conda activate <虛擬環(huán)境名稱>
說(shuō)明:激活虛擬環(huán)境后,在該環(huán)境下安裝的包將僅在該環(huán)境中可用,從而避免了不同項(xiàng)目之間的依賴沖突。

2.RKNN-Toolkit2介紹及安裝
2.1RKNN-Toolkit2介紹
RKNN-Toolkit2是由瑞芯微電子開(kāi)發(fā)的一套深度學(xué)習(xí)模型優(yōu)化和推理工具。它支持多種深度學(xué)習(xí)框架(如Caffe、TensorFlow、PyTorch 等)的模型轉(zhuǎn)換為RKNN格式,并提供了模型轉(zhuǎn)換、量化、推理等功能。RKNN-Toolkit2主要面向在瑞芯微SoC上進(jìn)行AI應(yīng)用開(kāi)發(fā),但也可以用于PC平臺(tái)進(jìn)行模型的轉(zhuǎn)換、量化、推理等操作。
2.2RKNN-Toolkit2安裝
將以下兩個(gè)文件拷貝到虛擬機(jī)中進(jìn)行安裝。
文件一:rknn_toolkit2-2.1.0+708089d1-cp310-cp310-linux_x86_64.whl ??rknn_toolkit2-2.1.0+708089d1-cp310-cp310-linux_x86_64.zip
文件二:requirements_cp310-2.1.0.txt ??requirements_cp310-2.1.0.txt
也可以在 ELF 2 開(kāi)發(fā)板資料包\03-例程源碼\03-4 AI例程源碼\rknn-toolkit2-2.1.0\rknn-toolkit2\packages路徑下找到rknn_toolkit2-2.1.0+708089d1-cp310-cp310-linux_x86_64.whl 和requirements_cp310-2.1.0.txt
(RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work/qwen2_vl$pip install -r requirements_cp310-2.1.0.txt -ihttps://mirrors.tuna.tsinghua.edu.cn/pypi/web/simplesome-package

(RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work/qwen2_vl$pip install rknn_toolkit2-2.1.0+708089d1-cp310-cp310-linux_x86_64.whl -ihttps://mirrors.tuna.tsinghua.edu.cn/pypi/web/simplesome-package

注意:在安裝中如果出現(xiàn)庫(kù)版本沖突問(wèn)題,再次執(zhí)行安裝命令會(huì)解決庫(kù)版本沖突的報(bào)錯(cuò)問(wèn)題。
3.RKNN-Toolkit-Lite2介紹及安裝
3.1RKNN-Toolkit-Lite2介紹
RKNN-Toolkit-Lite2 是Rockchip為其輕量級(jí)神經(jīng)網(wǎng)絡(luò)處理單元提供的一款工具包。它專注于簡(jiǎn)化和加速深度學(xué)習(xí)模型在Rockchip硬件平臺(tái)上的部署和推理過(guò)程。與RKNN-Toolkit2相比,RKNN-Toolkit-Lite2主要針對(duì)輕量級(jí)應(yīng)用和較小的計(jì)算需求進(jìn)行優(yōu)化。
3.2開(kāi)發(fā)板安裝RKNN-Toolkit-Lite2
將以下文件拷貝到板卡中進(jìn)行安裝。
文件:rknn_toolkit_lite2-2.1.0-cp310-cp310-linux_aarch64.whl
也可以在ELF 2開(kāi)發(fā)板資料包\03-例程源碼\03-4 AI例程源碼\rknn-toolkit2-2.1.0\rknn-toolkit-lite2\packages路徑下找到rknn_toolkit_lite2-2.1.0-cp310-cp310-linux_aarch64.whl 。
elf@elf2-desktop:~$ sudo apt-get update elf@elf2-desktop:~$ sudo apt-get install python3-pip elf@elf2-desktop:~$ pip install rknn_toolkit_lite2-2.1.0-cp310-cp310-linux_aarch64.whl -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple some-package

為了確認(rèn)rknnlite庫(kù)是否已成功安裝,請(qǐng)啟動(dòng)Python交互式環(huán)境,并嘗試導(dǎo)入該庫(kù)。
elf@elf2-desktop:~$ python3 Python 3.10.12 (main, Nov 6 2024, 20:22:13) [GCC 11.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from rknnlite.api import RKNNLite >>>

未出現(xiàn)報(bào)錯(cuò)代表安裝成功。
4.交叉編譯工具安裝
推薦使用交叉編譯工具gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu;交叉編譯工具往往向下兼容而無(wú)法向上兼容,因此不要使用10.2 以下的版本。
鏈接:Downloads | 10.2-2020.11 – Arm Developer
您也可以在ELF 2開(kāi)發(fā)板資料包\03-例程源碼\03-4 AI例程源碼\路徑下找到gcc-arm-10.2-2020.11- x86_64-aarch64-none-linux-gnu.tar.xz。
5.虛擬機(jī)內(nèi)存資源擴(kuò)展
在交叉編譯PPOCR時(shí),編譯器因內(nèi)存不足被強(qiáng)制終止。可通過(guò)增加8GB交換空間解決。
創(chuàng)建新的交換文件:
# 創(chuàng)建8GB的交換文件(根據(jù)需求調(diào)整大小) elf@ubuntu:~$ sudo dd if=/dev/zero of=/swapfile2 bs=1M count=8192 # 設(shè)置正確的權(quán)限 elf@ubuntu:~$ sudo chmod 600 /swapfile2 # 格式化為交換文件 elf@ubuntu:~$ sudo mkswap /swapfile2 # 啟用新的交換文件 elf@ubuntu:~$ sudo swapon /swapfile2
驗(yàn)證是否生效:
elf@ubuntu:~$ free-h total used free shared buff/cache available Mem: 15Gi 719Mi 6.5Gi 7.0Mi 8.4Gi 14Gi Swap: 9Gi 469Mi 9.5Gi
二、下載PPOCR模型
請(qǐng)將rknn_model_zoo-2.1.0.zip壓縮包首先上傳至虛擬機(jī)中,隨后使用以下指令進(jìn)行解壓操作,并為解壓后的rknn_model_zoo-2.1.0文件夾設(shè)置適當(dāng)?shù)臋?quán)限。
RKNN Model Zoo下載地址:airockchip/rknn_model_zoo at v2.1.0
您也可以在 ELF 2 開(kāi)發(fā)板資料包\03-例程源碼\03-4 AI例程源碼\路徑下找到rknn_model_zoo-2.1.0.zip。
(RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work$ unzip rknn_model_zoo-2.1.0.zip (RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work$ chmod -R 755 rknn_model_zoo-2.1.0
進(jìn)入rknn_model_zoo-2.1.0/examples/PPOCR/PPOCR-Det/model路徑下載PPOCR-Det模型。
(RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work/rknn_model_zoo-2.1.0/examples/PPOCR/PPOCR-Det/model$./download_model.sh

進(jìn)入rknn_model_zoo-2.1.0/examples/PPOCR/PPOCR-Rec/model路徑下載PPOCR-Det模型。
(RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work/rknn_model_zoo-2.1.0/examples/PPOCR/PPOCR-Rec/model$./download_model.sh

三、模型轉(zhuǎn)換成rknn格式
進(jìn)入rknn_model_zoo-2.1.0/examples/PPOCR/PPOCR-Det/python路徑下,執(zhí)行以下命令進(jìn)行OCR檢測(cè)模型轉(zhuǎn)換。
(RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work/rknn_model_zoo-2.1.0/examples/PPOCR/PPOCR-Det/python$python3 convert.py ../model/ppocrv4_det.onnx rk3588
進(jìn)入rknn_model_zoo-2.1.0/examples/PPOCR/PPOCR-Rec/python路徑下,執(zhí)行以下命令進(jìn)行OCR識(shí)別模型轉(zhuǎn)換。
(RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work/rknn_model_zoo-2.1.0/examples/PPOCR/PPOCR-Rec/python$python3 convert.py ../model/ppocrv4_rec.onnx rk3588
四、應(yīng)用編譯
確定模型正常轉(zhuǎn)換完成后,需要先將CPP目錄的例程編譯出來(lái),然后將編譯出來(lái)的文件夾推送到開(kāi)發(fā)板中進(jìn)行板端部署推理。進(jìn)入rknn_model_zoo-2.1.0路徑下,先執(zhí)行環(huán)境變量,然后編譯例程。
(RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work$ export GCC_COMPILER=/home/elf/work/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu (RKLLM-Toolkit-pyth3.10) elf@ubuntu:~/work/rknn_model_zoo-2.1.0$ ./build-linux.sh -t rk3588 -a aarch64 -d PPOCR-System
五、板卡部署及測(cè)試
編譯完成會(huì)在modelzoo目錄下的install/rk3588_linux_aarch64/rknn_PPOCR-System_demo生成可執(zhí)行文件、庫(kù)文件、模型文件等。將模型和可執(zhí)行文件等都拷貝到開(kāi)發(fā)板上。
注意:庫(kù)文件拷貝到板卡的/usr/lib/目錄,可執(zhí)行文件、模型以及測(cè)試文件可以拷貝到板卡任意路徑。
elf@elf2-desktop:~$ ./rknn_ppocr_system_demo model/ppocrv4_det.rknn model/ppocrv4_rec.rknn model/test.jpg model input num: 1, output num: 1 input tensors: index=0, name=x, n_dims=4, dims=[1, 480, 480, 3], n_elems=691200, size=691200, fmt=NHWC, type=INT8, qnt_type=AFFINE, zp=-14, scale=0.018658 output tensors: index=0, name=sigmoid_0.tmp_0, n_dims=4, dims=[1, 1, 480, 480], n_elems=230400, size=230400, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003922 model is NHWC input fmt model input height=480, width=480, channel=3 model input num: 1, output num: 1 input tensors: index=0, name=x, n_dims=4, dims=[1, 48, 320, 3], n_elems=46080, size=92160, fmt=NHWC, type=FP16, qnt_type=AFFINE, zp=0, scale=1.000000 output tensors: index=0, name=softmax_11.tmp_0, n_dims=3, dims=[1, 40, 6625, 0], n_elems=265000, size=530000, fmt=UNDEFINED, type=FP16, qnt_type=AFFINE, zp=0, scale=1.000000 model is NHWC input fmt model input height=48, width=320, channel=3 origin size=500x500 crop size=496x496 input image: 500 x 500, subsampling: 4:4:4, colorspace: YCbCr, orientation: 1 src width=500 height=500 fmt=0x1 virAddr=0x0x39c28320 fd=0 dst width=480 height=480 fmt=0x1 virAddr=0x0x39cdf4e0 fd=0 color=0x0 rga_api version 1.10.1_[0] Error on improcess STATUS=-1 RGA error message: Unsupported function: src unsupport width stride 500, rgb888 width stride should be 16 aligned! try convert image use cpu finish DRAWING OBJECT [0] @ [(28, 37), (302, 39), (301, 71), (27, 69)] regconize result: 純臻營(yíng)養(yǎng)護(hù)發(fā)素, score=0.998116 [1] @ [(26, 82), (172, 82), (172, 104), (26, 104)] regconize result: 產(chǎn)品信息/參數(shù), score=0.994699 [2] @ [(27, 112), (332, 112), (332, 134), (27, 134)] regconize result: (45元/每公斤,100公斤起訂), score=0.961024 [3] @ [(28, 142), (282, 144), (281, 163), (27, 162)] regconize result: 每瓶22元,1000瓶起訂), score=0.989327 [4] @ [(25, 179), (298, 177), (300, 194), (26, 195)] regconize result: 【品牌】:代加工方式/OEMODM, score=0.986156 [5] @ [(26, 209), (234, 209), (234, 228), (26, 228)] regconize result: 【品名】:純臻營(yíng)養(yǎng)護(hù)發(fā)素, score=0.996216 [6] @ [(26, 240), (241, 240), (241, 259), (26, 259)] regconize result: 【產(chǎn)品編號(hào)】:YM-X-3011, score=0.983581 [7] @ [(413, 233), (429, 233), (429, 305), (413, 305)] regconize result: ODMOEM, score=0.992676 [8] @ [(25, 270), (179, 270), (179, 289), (25, 289)] regconize result: 【凈含量】:220ml, score=0.990945 [9] @ [(26, 303), (252, 303), (252, 321), (26, 321)] regconize result: 【適用人群】:適合所有膚質(zhì), score=0.995380 [10] @ [(26, 333), (341, 333), (341, 351), (26, 351)] regconize result: 【主要成分】:鯨蠟硬脂醇、燕麥β-葡聚, score=0.958008 [11] @ [(27, 363), (283, 365), (282, 384), (26, 382)] regconize result: 糖、椰油酰胺丙基甜菜堿、泛酸, score=0.963414 [12] @ [(368, 368), (476, 368), (476, 388), (368, 388)] regconize result: (成品包材), score=0.989339 [13] @ [(27, 394), (362, 396), (361, 414), (26, 413)] regconize result: 【主要功能】:可緊致頭發(fā)磷層,從而達(dá)到, score=0.973067 [14] @ [(27, 428), (371, 428), (371, 446), (27, 446)] regconize result: 即時(shí)持久改善頭發(fā)光澤的效果,給干燥的頭, score=0.997995 [15] @ [(27, 459), (136, 459), (136, 478), (27, 478)] regconize result: 發(fā)足夠的滋養(yǎng), score=0.998616 SAVE TO ./out.jpg write_image path: ./out.jpg width=500 height=500 channel=3 data=0x39c28320
至此,就已完成PPOC在ELF 2開(kāi)發(fā)板上的本地部署。希望本次實(shí)踐能對(duì)屏幕前的各位小伙伴有所幫助,如有任何問(wèn)題,歡迎隨時(shí)交流。
-
單片機(jī)
+關(guān)注
關(guān)注
6072文章
45304瀏覽量
662384 -
嵌入式
+關(guān)注
關(guān)注
5184文章
20116瀏覽量
327891 -
Linux系統(tǒng)
+關(guān)注
關(guān)注
4文章
609瀏覽量
29600 -
嵌入式開(kāi)發(fā)板
+關(guān)注
關(guān)注
5文章
103瀏覽量
19645 -
RK3588
+關(guān)注
關(guān)注
8文章
480瀏覽量
7013
發(fā)布評(píng)論請(qǐng)先 登錄
瑞芯微RK3588開(kāi)發(fā)板RK3588 EVB和RK3588S EVB解讀
ElfBoard技術(shù)實(shí)戰(zhàn)|ELF 2開(kāi)發(fā)板本地部署DeepSeek大模型的完整指南
ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開(kāi)發(fā)板上進(jìn)行根系統(tǒng)的定制
技術(shù)貼|【RK3588】ELF 2開(kāi)發(fā)板如何添加exFAT和NTFS文件系統(tǒng)格式
ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開(kāi)發(fā)板上進(jìn)行UART引腳復(fù)用配置
添越智創(chuàng)基于 RK3588 開(kāi)發(fā)板部署測(cè)試 DeepSeek 模型全攻略
迅為RK3588開(kāi)發(fā)板使用RKNN-Toolkit-lite2運(yùn)行測(cè)試程序
瑞芯微旗艦芯RK3588開(kāi)發(fā)板開(kāi)售 比亞迪為應(yīng)達(dá)利頒獎(jiǎng)
rk3588有哪些開(kāi)發(fā)板?
技術(shù)分享|iTOP-RK3588開(kāi)發(fā)板Ubuntu20系統(tǒng)旋轉(zhuǎn)屏幕方案
ElfBoard技術(shù)貼|【RK3588】ELF 2開(kāi)發(fā)板開(kāi)機(jī)自啟動(dòng)詳解
ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開(kāi)發(fā)板用戶空間更換開(kāi)機(jī)Logo

ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開(kāi)發(fā)板上完成PPOC本地化部署
評(píng)論