近期,軟通動力控股子公司鴻湖萬聯(江蘇)科技發展有限公司(以下簡稱“鴻湖萬聯”)將致遠開發板正式合入OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)社區主干。作為將開發板正式合入OpenHarmony主干的代碼提交者,我將和大家分享我們團隊在研發過程中的故事與心得,希望能給廣大開發者一些參考。
Q1
關于我以及我所在的團隊
大家好,我是鴻湖萬聯的高級技術專家李星。作為鴻湖萬聯南向芯片適配的“排頭兵”,我主要負責整個南向團隊進行多平臺芯片移植適配方案的設計與實施,包含ARM架構下的瑞芯微系列、全志系列等。
Q2
致遠開發板所具有的特性及優勢
鴻湖萬聯致遠開發板,基于全志ARM架構主頻為1.5GHz的T507芯片,采用了“核心板+底板”結構形式,并搭載四核Cortex-A53處理器,集成G31GPU,擁有豐富的音視頻接口的芯片。它具有低功耗、高性能、運行穩定等優點。另外,T507芯片具有高性能的外部存儲器接口和嵌入式的GPU,支持OpenGL ES 3.2/2.0/1.0、Vulkan 1.1以及OpenCL 2.0,有效保證了系統運行的高穩定性。它的工業級運行支持的溫度在-45℃到80℃之間,可以運行標準OpenHarmony操作系統,適用于車載終端、電力、醫療、工業控制、物聯網、智能終端等領域,而且使用壽命更長。
Q3
關于將致遠開發板合入OpenHarmony主干的契機
談及致遠開發板正式合入OpenHarmony主干的契機,離不開公司的戰略規劃和與開放原子開源基金會的合作。鴻湖萬聯作為軟通動力全資子公司,全面承接集團OpenHarmony戰略,積極投入到OpenHarmony生態共建中,包含南向生態共建與北向生態共建。在南向生態共建中,我們希望引入更多平臺的芯片進行適配和升級,基于全志T507芯片的致遠開發板在我們的商顯領域、交通領域均有對應的行業應用。開放原子開源基金會業務發展部了解到我們在做智能售貨機的項目,并且選用的是T507的芯片,于是雙方快速達成一致,經過多輪溝通,確定了路標和計劃。最終,在公司的支持和團隊的努力下,我們完成了致遠開發板合入主干這一很有意義的事情。
Q4
致遠開發板合入主干后會對OpenHarmony有哪些積極作用
T507作為低功耗、高性能、運行穩定的芯片,廣泛應用于車載信息娛樂系統以及汽車360度全景可視系統中。致遠開發板合入主干首先讓T507芯片擁有了OpenHarmony系統的開發案例,讓以前使用T507的開發者可以快速加入到OpenHarmony生態中,降低了開發者在T507上使用OpenHarmony的壁壘,免去了適配的過程,可以直接做產品相關的應用開發。 其次,致遠開發板合入主干能夠極大推動OpenHarmony在智能家居、智能醫療、智能終端等物聯網領域的應用落地。對于開發者而言,在做OpenHarmony開發項目時,會有更多的芯片和開發板的選擇。對于用戶而言,OpenHarmony系統的逐步完善也會讓用戶的使用體驗越來越好。此外,未來,我相信會有越來越多的廠商去適配OpenHarmony系統,能讓越來越多的人了解并且相信OpenHarmony,這是致遠開發板合入主干對OpenHarmony的積極作用。
Q5
參與了核心代碼合入主干的全過程,我有以下經驗和收獲
將核心代碼合入主干,首先得保證代碼要能符合合入的標準,所以我們從代碼設計階段開始,對代碼的架構設計、安全規范和編譯規范,以及在編碼過程中對各種語言的編碼規范都實行了高標準、嚴要求,一項一項進行調整。基于這樣的高標準,讓我們整個團隊在研發過程中一直嚴格要求自己,對我們以后的研發工作大有裨益。
Q6
在將致遠開發板合入主干的過程中,技術難題是最大的挑戰
在進行致遠開發板合入主干這個項目時,OpenHarmony主干更新比較快,整個團隊每天都需要解決不同的技術難題,比如版本不兼容的問題,為了能夠緊跟OpenHarmony的最新特性,我們的開發一直是以主干為核心的。最大的挑戰和難關主要在將OpenHarmony移植到致遠開發板上過程中,比如移植前期調試終端亂碼、調試工具HDC無法使用,以及后期的驅動適配,包括音頻驅動、WiFi驅動、藍牙驅動等問題。最具挑戰性的是后期的驅動適配,因為OpenHarmony采用的是HDF驅動框架,和以前我們所接觸的Linux驅動框架有很大的差異,這就需要我們驅動移植的相關人員以最短的時間學習和掌握HDF驅動框架,并完成相關驅動的適配。為了不影響項目進程,我們對團隊分工做了細化和調整,充分發揮各位研發人員的專長,將研究新的顯示框架和在舊有的基礎上做其他適配等多項任務同時進行。最終,在大家齊心協力的努力下,一起迎難而上,如期完成了致遠開發板合入主干這一項目。
Q7
如何攻克GPU適配這一技術難題
在適配完外設驅動后,播放視頻過程中會有卡頓,而且CPU占用率比較高,為了配合我們的商顯項目,保證視流暢播放并降低CPU占用率,在OpenHarmony上使能GPU就特別重要。 開始廠商提供的是4.19內核GPU的補丁文件,補丁文件涉及四萬行左右的代碼量,代碼量較大且目前社區主推5.10內核,導致大量的補丁無法直接使用。聽取廠商意見以及內部討論評估后,我們參考4.19的補丁文件直接在5.10上進行使能適配。適配難度比較大,涉及以下內容: (1)內核相關結構函數適配,主要包含一些結構體成員名稱的改變,比如5.10中將mmap_sem改為mmap_lock,將vm_insert_pfn改為vmf_insert_pfn等 (2)平臺代碼的適配主要涉及平臺驅動的編譯,修改相關Kbuid、Kconfig、Makefile等文件。 (3)解決驅動運行時的錯誤,包含中斷命名的修改,相關的有MMU、JOB、GPU等。以及mmap報錯,mmap失敗時的錯誤碼提示內存已用完,經過定位排查,解決辦法是在缺頁trap時需要調用vmf_insert_pfn。 經過前期的驅動適配和后期修改運行過程中的報錯,我們終于攻克GPU適配這一技術難題。
Q8
關于豐富OpenHarmony生態的愿景
起初,移植OpenHarmony到揚帆開發板上,是公司豐富OpenHarmony生態的預研類項目。在移植過程中,我們團隊被OpenHarmony以面向全場景、全連接、全智能時代的目標所吸引。這個過程中也學到了很多,比如OpenHarmony的啟動恢復子系統、圖形子系統、媒體子系統下的音視頻模塊等。而且我們在移植過程中也輸出了一些總結性的文檔,有《HDC適配說明》、《基于HDF框架的WiFi適配說明》、《基于alsa-lib的audio適配說明》,同時,也參考了OpenHarmony的相關文檔,收獲頗多。作為OpenHarmony生態的參與者和共建者,鴻湖萬聯始終以OpenHarmony為基礎持續進行技術研發和創新,致遠開發板合入主干不僅展現出了鴻湖萬聯其持續創新的研發能力,更是豐富了OpenHarmony的生態。 目前我們根據自身的發展需要,已經投入到網絡切換功能的研發中,我們希望更多的開發者和廠商能夠加入進來,為OpenHarmony貢獻自己的力量。
-
芯片
+關注
關注
463文章
54010瀏覽量
466151 -
開發板
+關注
關注
26文章
6291瀏覽量
118143 -
OpenHarmony
+關注
關注
33文章
3952瀏覽量
21104
原文標題:李星:如何攻克技術難題,完成全志T507芯片的移植與適配?
文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
觸覺智能Purple Pi OH開發板率先適配OpenHarmony6.0 Release,鴻蒙明星開發板
【精選資料】開發板測評大賽作品合集!
貝啟科技BQ3576HM開發板套件通過OpenHarmony 5.0.3 Release版本兼容性測評
【重要通知】OpenHarmony主干平臺開發板選型提報倒計時(參考工具發布)
搭載OpenHarmony操作系統,視美泰SC-3568HA開發板免費試用
【免費試用】開發板評測大賽開啟!OH 、RISC-V、Rockchip頂級開發板等你試用~
貝啟BQ3568HM 開發板被選用為 OpenHarmony 明星開發板
基于小凌派RK2206開發板:OpenHarmony如何使用IoT接口控制FLASH外設
基于小凌派RK2206開發板:OpenHarmony如何使用IoT接口控制UART外設
基于小凌派RK2206開發板:OpenHarmony如何使用IoT接口控制GPIO中斷
基于小凌派RK2206開發板:OpenHarmony如何使用IoT接口控制GPIO外設
【北京迅為】iTOP-RK3568開發板鴻蒙OpenHarmony系統南向驅動開發實操-HDF驅動配置UART
【北京迅為】iTOP-RK3568開發板OpenHarmony系統南向驅動開發-第4章 UART基礎知識
北京迅為iTOP-RK3568開發板OpenHarmony系統南向驅動開發實操-HDF驅動配置LED
致遠開發板合入主干后會對OpenHarmony有哪些積極作用
評論