基于系統(tǒng)設(shè)備樹的構(gòu)建流程
簡(jiǎn) 介
用于構(gòu)建 AMD embeddedsw 組件的舊方法將 .xsa 用作來自硬件人員的交接文件,并將 mdd、mld 和 mss 文件用于不同的軟件配置。這使得舊方法依賴于 AMD 專屬工具,如軟件命令行工具 (XSCT) 和硬件軟件接口 (HSI)。如果沒有這些專屬工具,就無法使用舊方法來編譯 embeddedsw 組件。
基于系統(tǒng)設(shè)備樹的新流程旨在通過采用開源行業(yè)標(biāo)準(zhǔn)來避免這種相依性。它使用系統(tǒng)設(shè)備樹 CMAKE 和基于 Python 的開源工具 Lopper 來組織所需的構(gòu)建系統(tǒng)。
系統(tǒng)設(shè)備樹是常規(guī) Linux 設(shè)備樹的超集。與僅呈現(xiàn) Linux/APU 所需硬件信息的常規(guī) Linux 設(shè)備樹不同,系統(tǒng)設(shè)備樹以設(shè)備樹格式呈現(xiàn)完整的硬件信息,從而為用戶創(chuàng)造了處理更多用例的機(jī)會(huì)。它包含有關(guān)所有處理器的信息,如平臺(tái)管理控制器 (PMC)、PS 管理控制器 (PSM)、實(shí)時(shí)處理單元 (RPU)、應(yīng)用處理單元 (APU) 以及系統(tǒng)中的所有外設(shè)。要生成系統(tǒng)設(shè)備樹,請(qǐng)參閱 附錄 A: 使用 XSCT 生成系統(tǒng)設(shè)備樹。
基于系統(tǒng)設(shè)備樹的流程使用 Lopper 從系統(tǒng)設(shè)備樹中提取所需的硬件元數(shù)據(jù)。舊方法使用 mld/mss 文件生成軟件配置,現(xiàn)在基于 CMAKE 的基礎(chǔ)架構(gòu)通過設(shè)置 CMAKE 變量來生成所需的報(bào)頭文件,用于取代舊的軟件配置。在舊流程中,組件專屬的信息存儲(chǔ)在 mdd/mld/mss 文件中,而在新流程中,這些信息存儲(chǔ)在 YAML 文件中。Python 腳本會(huì)讀取這些 YAML 文件,使用 Lopper 和 CMAKE 命令配置組件的源代碼,并相應(yīng)地填充 BSP 專屬的獨(dú)立數(shù)據(jù)。由此,整個(gè)構(gòu)建系統(tǒng)不再使用 AMD 專屬文件和工具,而改為使用可用的開源基礎(chǔ)架構(gòu)。
因此有必要移植現(xiàn)有的 embeddedsw 獨(dú)立組件和 RTOS 組件,以確保原有軟件組件能夠在這個(gè)基于系統(tǒng)設(shè)備樹的流程中無縫銜接工作。文檔中的章節(jié)解釋了將原有 embeddedsw 驅(qū)動(dòng)程序/庫(kù)/應(yīng)用移植到基于系統(tǒng)設(shè)備樹的新流程所需的步驟和更改。
新增內(nèi)容
以下更改是此流程的新增內(nèi)容:
開源系統(tǒng)設(shè)備樹規(guī)范大量借鑒了 Linux 設(shè)備樹規(guī)范。這些規(guī)范中沒有用于區(qū)分相似外設(shè)的“Device ID”(器件ID)的概念。例如,在舊流程中,如果系統(tǒng)中具有來自同一供應(yīng)商的兩個(gè)以太網(wǎng) MAC,則會(huì)為每個(gè) MAC 分配一個(gè)單獨(dú)的器件 ID。器件 ID 是從 0 開始的正整數(shù)。驅(qū)動(dòng)程序配置結(jié)構(gòu)始終具有一個(gè) u16 DeviceId 字段用于表示已分配的器件 ID。
-
Linux
+關(guān)注
關(guān)注
87文章
11199瀏覽量
208681 -
移植
+關(guān)注
關(guān)注
1文章
376瀏覽量
28092 -
設(shè)備樹
+關(guān)注
關(guān)注
0文章
38瀏覽量
3105
原文標(biāo)題:embeddedsw 組件移植指南(附下載)
文章出處:【微信號(hào):賽靈思,微信公眾號(hào):Xilinx賽靈思官微】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論