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