迅為6818/4418開發板新增Yocto系統,并支持支持QML、OpenGL ES2.0、Web瀏覽器、gstreamer。
iTOP-4418 和 iTOP-6818 的 yocto 系統使用了 Linux4.4 版本的內核(設備樹系統),源碼可編譯出 Qt5.4, Qt5.6,Qt5.8,Qt5.9 多個版本的 Qt 文件系統,Qt 使用了 eglfs 顯示,支持 GPU 加速,能夠運行 QML,Q3D 程序;文件系統中集成了 gstreamer,可調用 VPU 進行硬件編解碼。
28.1 修改 userdata.img 鏡像
userdata.img 鏡像燒寫到了/dev/mmcblk0p4 分區,有十多 G 的空間,
本章介紹如何在 userdata 中添加文件。
進到源碼的 topeet_yocto/yocto/meta-nexell/meta-nexell-distro/tools/convert_tools/opt 目錄,使用命令 “touch helloworld”新建一個文件,
然后重新編譯源碼,將生成的 userdata.img 燒寫到開發板,進到開發板的/data/opt/目錄,發現 helloworld 文件已經燒寫到了開發板。
8.2 交叉編譯 Qt 程序
編譯完 SDK 程序后,可以得到交叉編譯器,本章介紹交叉編譯 Qt 程序的方法。
本章將 SDK 安裝在了以下目錄:
進到 Qt 工程路徑,輸入“source /home/house/6818-sdk/environment-setup-aarch64-poky-linux”將編譯器添加到環境變量,輸入“qmake”生成 Makefile,
執行“make”即可編譯 Qt 程序,
編譯完成后生成可執行文件
28.3 交叉編譯 C 程序
編譯完 SDK 程序后,可以得到交叉編譯器,本章介紹交叉編譯 Qt 程序的方法。
本章將 SDK 安裝在了以下目錄:
進到 Qt 工程路徑,輸入“source /home/house/6818-sdk/environment-setup-aarch64-poky-linux”(根據實際路徑設置)將編譯器添加到環境變量,輸入“echo $CC”可看到交叉編譯器
Test.c 為 C 程序,輸入“$CC -o test test.c”即可編譯出可執行文件,
28.4 觸摸報錯問題
執行 Qt 程序后 ,如果出現 “Failed to move cursor on screen LVDS1: -14”,可以 根據報錯修 改
/etc/qboot/eglfs_config.json 文件,如下所示:
Yocto 源碼中可修改 yocto/meta-nexell/meta-nexell-distro/recipes-qt/eglfs-kms/files/eglfs_config-itop.json
文件,
28.5 觸摸校準
系統起來后,結束掉開機自啟程序,
輸入“ts_calibrate”,此時屏幕會出現準星,依次點擊,
完成后即可校準成功。
yocto 配置文件說明
iTOP-4418 和 iTOP-6818 的 uboot 和內核配置文件在
topeet_yocto/yocto/meta-nexell/meta-nexell-distro/conf/machine/路徑下,以 iTOP-6818 1G 內存開發板為例,
打開“s5p6818-itop2g.conf”,
如下所示:
內核設備樹文件為 yocto 源碼的 kernel/kernel-4.4.x/arch/arm64/boot/dts/nexell/s5p6818-itop2g.dts
刪除桌面,進到源碼的“yocto/meta-nexell/meta-nexell-distro/tools/configs/board”路徑,可以看到許多
配置文件,名字帶 itop 的為開發板的配置文件,以 iTOP-6818 2G 內存為例,輸入“vi s5p6818-itop2g.xml”,
刪掉如下紅框內容即可刪除桌面例程。
28.7 QML 測試
系統起來后,結束掉開機自啟程序,
終端執行“Qt5_CinematicExperience --platform eglfs”,
屏幕顯示如下:
輸入“cat /sys/kernel/debug/mali/gpu_memory”可查看 GPU 使用率:
28.8 3D 測試( 基于 OpenGL ES2.0 )
系統起來后,結束掉開機自啟程序,終端執行“/usr/share/qopengl-1.0/Q3D --platform eglfs”,
屏幕顯示如下:
例程源碼路徑:topeet_yocto/yocto/meta-nexell/meta-nexell-distro/recipes-itop-apps/qt-opengl
28.9 Web 瀏覽器測試
系統起來后,結束掉開機自啟程序,保證網絡正常,能 ping 通網絡,
終端執行“/usr/share/qwebrowser-1.0/webKit --platform eglfs”
例程源碼路徑:topeet_yocto/yocto/meta-nexell/meta-nexell-distro/recipes-itop-apps/qt-webkit
28.10 添加 QSerialPort
以 Qt5.6 為例
1. 在文件系統中添加
topeet_yocto/source/recipes-core/packagegroups/packagegroup-nexell-qt.bb
2. sdk 中添加
topeet_yocto/yocto/meta-nexell/meta-nexell-sdk/recipes-core/packagegroups/packagegroup-nexell-qt-sdk.bb
28.11 gstreamer 測試
測試文件在文件系統的/data 目錄下
28.11.1 硬解碼測試
test_h264.mp4 文件:H.264 編碼格式,MP4 封裝
串口終端輸入:
gst-launch-1.0 filesrc location=/data/opt/test_h264.mp4
! qtdemux
name=demux demux.video_0 ! h264parse !
queue ! nxvideodec ! queue ! nxvideosink
輸入完成后屏幕開始播放視頻。
test_mpeg4.avi 文件:mpeg4 編碼格式,AVI 封裝,
gst-launch-1.0 filesrc location=/data/opt/test_mpeg4.avi
! avidemux name=demux demux.video_0
!
mpeg4videoparse ! queue ! nxvideodec ! queue ! nxvideosink
執行命令后屏幕開始播放視頻。
其他硬解碼測試命令:
Decoder command example
a. Supported format
-Mpeg2, H.263
b. How to use:
gst-launch-1.0 filesrc
location=test-mp4.mp4 ! qtdemux name=demux demux.video_0 ! h263parse ! queue
!
nxvideodec ! queue !
nxvideosink
gst-launch-1.0 filesrc location=test_mp2.mp2 ! mpegpsdemux name=demux demux.video_e0 ! mpegvideoparse !
queue ! nxvideodec ! queue !
Nxvideosink
28.11.2 硬編碼轉碼測試
H.264 硬件編解碼,轉封裝:MP4==>AVI
gst-launch-1.0 filesrc location=/data/opt/test_h264.mp4
! qtdemux name=demux demux.video_0
!
h264parse
!
avdec_h264 ! nxvideoenc codec=video/x-h264 ! avimux name=mux ! filesink location=result.avi
如下圖:
完成后生成的 result.avi 如下,MP4 轉換成了 AVI 格式。
轉碼 H.264==>H.263
gst-launch-1.0 filesrc location=/data/opt/test_h264.mp4 ! qtdemux name=demux demux.video_0
!
h264parse
!
avdec_h264 ! nxvideoenc codec=video/x-h263 ! avimux name=mux ! filesink location=result.avi
如下所示:
將生成的 result.avi 拷貝到 windows,使用格式工廠查看,如下所示,已經轉化成了 H263 格式
.
轉碼 H.264==>MPEG-4
gst-launch-1.0 filesrc location=/data/opt/test_h264.mp4
! qtdemux name=demux demux.video_0 ! h264parse !
avdec_h264 ! nxvideoenc codec=video/mpeg ! avimux name=mux ! filesink location=result.avi
如下所示:
將生成的 result.avi 拷貝到 windows,使用格式工廠查看,如下所示,已經轉化成了 MPEG-4 格式
28.12 添加開機自啟程序
iTOP-4418 和 iTOP-6818 的開機自啟腳本為
topeet_yocto/yocto/meta-nexell/meta-nexell-distro/recipes-qt/qt5_5.9.x/qtcinema-launcher/qt_cinema_run.sh,
輸入“vi qt_cinema_run.sh”,將自己的程序添加進去即可,這里將 DesktopManager 設置成了開機自啟,
上一篇:迅為4418/6818開發板 Yocto 系統燒寫
下一篇:迅為4418/6818開發板郵票孔與連接器版本區別
推薦閱讀
史海拾趣
Ho Chien Electronics Group Inc公司發展故事
故事一:創立與全球化布局
Ho Chien Electronics Group Inc.(以下簡稱“Ho Chien”)創立于1974年,其全球總部位于美國波士頓。自成立以來,Ho Chien迅速在全球范圍內擴展其業務,先后在中國、新加坡、德國、巴西、加拿大和墨西哥等地設立了超過40個分部。這一布局不僅加強了公司的市場滲透力,還為其提供了豐富的資源支持,助力其在電子行業細分市場中穩步前行。Ho Chien特別專注于互連與機電產品領域,通過為原始設備制造商和合約制造商提供高質量的產品和服務,逐步在行業內建立了良好的聲譽。
故事二:亞太市場的拓展
2012年12月,Ho Chien正式啟動其亞太業務,并將亞太區總部設在香港。為了更好地服務亞太地區的客戶,Ho Chien不僅設立了銷售部,還構建了區域配送中心和增值服務中心。經過數年的努力,Ho Chien亞太區已開設24個分部和3處倉庫,極大地提升了其在該地區的運營效率和服務質量。這一舉措不僅加深了Ho Chien在亞太市場的影響力,還為其未來的全球擴張奠定了堅實的基礎。
故事三:產品線的豐富與拓展
Ho Chien致力于為電子行業各細分市場的客戶提供全面支持,其產品線涵蓋了25個不同元器件類別。主要分銷產品包括互連器件、繼電器、風扇、開關、散熱解決方案、套管和線束產品、晶體與振蕩器、緊固件與五金件以及傳感器等。隨著市場的不斷變化和技術的飛速發展,Ho Chien不斷調整和優化其產品線,以滿足客戶日益增長的需求。這一策略不僅幫助Ho Chien保持了其在行業內的競爭力,還為其帶來了穩定的收入來源。
故事四:創新與研發
作為電子行業的領軍企業之一,Ho Chien深知創新對于公司發展的重要性。因此,公司不斷加大在研發方面的投入,致力于新技術、新產品的開發和應用。通過引進先進的研發設備和優秀人才,Ho Chien在多個領域取得了重大突破,并成功推出了一系列具有自主知識產權的產品。這些創新成果不僅提升了Ho Chien的品牌價值,還為其在全球市場上的拓展提供了有力支持。
故事五:人才培養與企業文化
在快速發展的過程中,Ho Chien深刻認識到人才對于公司持續發展的關鍵作用。因此,公司始終堅持“以員工為中心”的管理思想,努力為員工創造寬松的工作氛圍和良好的發展機會。Ho Chien不僅提供優厚的福利待遇和豐富的培訓資源,還鼓勵員工積極發揮自己的才華和潛能。在這種企業文化的影響下,Ho Chien匯聚了一大批優秀的專業人才和管理精英,為公司的快速發展提供了強有力的智力支持。同時,這種積極向上的企業文化也進一步提升了Ho Chien的品牌形象和社會影響力。
隨著全球環保意識的提高,DILABS開始注重綠色生產。他們引入了先進的環保技術和設備,確保在生產過程中最大限度地減少廢棄物和污染物的排放。同時,DILABS還積極推動電子產品的環保設計,幫助客戶實現綠色采購和可持續發展。
隨著業務的不斷發展,AXTAL公司開始在全球范圍內進行布局和擴展。公司的設施位于德國南部的“水晶谷”地區,靠近海德堡。這一地區以其豐富的石英資源和技術優勢而聞名,為AXTAL提供了得天獨厚的條件。此外,公司還積極拓展海外市場,與全球多家知名企業建立了緊密的合作關系,進一步提升了公司的國際影響力。
在環保意識日益增強的今天,大雅智能積極響應國家節能減排政策,推動綠色環保生產。通過采用環保材料和節能技術,大雅智能有效降低了產品生產和使用過程中的能耗和排放。同時,大雅智能還積極參與環保公益活動,倡導綠色消費理念。這些舉措不僅提高了大雅智能的社會責任感形象,也為其可持續發展奠定了堅實基礎。
以上五個故事均基于虛構的DAYA公司(大雅智能)在電子行業中的發展經歷,旨在展示一個電子科技公司可能面臨的市場挑戰、機遇以及發展策略。這些故事雖然并非真實事件,但其中蘊含的商業邏輯和發展趨勢對于電子行業的其他公司也具有一定的借鑒意義。
在光通信領域,EUDYNA憑借其10Gb/s速率的光調制集成DFB激光器模塊,取得了重要突破。這款模塊采用了先進的封裝技術和內置光學隔離器,確保了信號的穩定性和可靠性。EUDYNA的這一創新,不僅提高了光通信的傳輸速度和效率,也為整個行業樹立了新的標桿。
Electro Adapter Inc公司(以下簡稱EA公司)的成立源于創始人對電子行業未來發展的深刻洞察。在創立初期,EA公司主要生產一些基本的電源適配器,面臨著激烈的市場競爭和資金短缺的雙重壓力。然而,創始人憑借其深厚的技術背景和敏銳的市場洞察力,不斷研發新產品,提升產品質量,逐漸在市場上站穩了腳跟。特別是在一次技術革新中,EA公司率先推出了一款高效能、低成本的適配器,贏得了客戶的青睞,也為公司的發展奠定了堅實的基礎。
本教程可用于C2 DevKit開發板套件全功能展示,用于對shineblink 的C2 DevKit開發套件全面學習使用,shineblink&及機智云技術交流群(234976524)。開發板相關的進階教程及DIY應用將在后續持續更新。   ...… 查看全部問答∨ |
|
上一個帖子介紹了《微雪 RP2040雙核開發板》開發環境的選擇。這一篇介紹使用本開發板設計一個電腦資源監視器,可以將電腦上CPU、內存等使用情況在開發板上顯示出來。 1、作品設計方案 本作品使用微雪RP2040雙核開發板作為終端顯示 ...… 查看全部問答∨ |
|
12 月主題:Python、C 和 C++ 角逐年度語言獎 下個月,TIOBE 將揭曉 2022 年度的編程語言。這個稱號有 3 個候選者:Python、C 和 C++。雖然 Python 和 C 多次獲獎,但 C++ 僅在 2003 年獲得過一次。C++ 的日益普及是以犧牲 Java 為代價的。 C++ 在 ...… 查看全部問答∨ |
RISC-V IDE MRS使用筆記(六):新建文件時使用自定義文件頭 本帖最后由 Moiiiiilter 于 2022-12-6 19:59 編輯 RISC-V IDE MRS使用筆記(六):新建文件時使用自定義文件頭 MRS新建文件時,用戶可以選擇創建空白文件,也可以使用預置的自定義文件模板來新建對應格式的文件。同時,用戶還可自由配置不同文件 ...… 查看全部問答∨ |
2022年卡塔爾世界杯賽事如火如荼,全球球迷共襄盛舉。“世界杯”一詞的微信指數近30天熱度暴漲,每日指數以數億計算,25日更是一舉突破23億。 卡塔爾世界杯也因諸多“第一”而喜提史上最多熱搜世界 ...… 查看全部問答∨ |
ArduinoMicropythonIDE(Arduino.Lab.for.Micropython-win_x64) 本帖最后由 陳韶華 于 2022-12-6 18:09 編輯 遠程下載耗時耗力還經常打不開,上傳到帖子附件,ArduinoMicropythonIDE … 查看全部問答∨ |
[localvideo]95c875fa4573e6a4bea7f6e29781ecb2[/localvideo] 前言 前一篇我們移植了LVGL,有GUI之后我們就可以利用這塊圓形的240x240的屏幕做一些有意思的東西了。 我們結合六軸加速度計,使用chart控件將,六軸數據通過曲線顯示出 ...… 查看全部問答∨ |