日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 工業(yè)控制 > 電路設(shè)計項目集錦
[導(dǎo)讀]本文介紹了KRS Unleashed的新分離的3個工作區(qū)是如何一起工作的,并解釋了如何在KRS Unleashed中生成交叉編譯的工件和設(shè)計新的應(yīng)用程序。上一篇文章已經(jīng)介紹了誰可以獲得用于交叉編譯的系統(tǒng)根,但它獨立于KRS。

這個項目是KRS Unleashed系列的一部分,KRS是原始KRS的修訂版。本文將介紹KRS工作空間。

本文介紹了KRS Unleashed的新分離的3個工作區(qū)是如何一起工作的,并解釋了如何在KRS Unleashed中生成交叉編譯的工件和設(shè)計新的應(yīng)用程序。上一篇文章已經(jīng)介紹了誰可以獲得用于交叉編譯的系統(tǒng)根,但它獨立于KRS。

在這里,我們將首先討論文件夾結(jié)構(gòu),以及在KRS Unleashed中交叉編譯應(yīng)用程序?qū)嶋H上需要哪些包。此外,還將解釋配置所選系統(tǒng)根或后續(xù)HLS內(nèi)核的所有相關(guān)位置。

最后,將顯示為示例應(yīng)用程序的Kria KR260生成二進制文件的命令。

文件夾結(jié)構(gòu)

由于將工作作為論文的一部分發(fā)布,存儲庫包含一個示例應(yīng)用程序,其中包括用于重現(xiàn)結(jié)果的配置文件。實際的KRS Unleashed隱藏在內(nèi)部,但由于應(yīng)用于原始KRS的更改,KRS Unleashed的核心更加可見,也更小。

整個存儲庫分為3個目錄:

?基米-雷克南;包含與ROS 2相關(guān)的工作空間

?os_workspace;包含創(chuàng)建系統(tǒng)根和準備SD卡的模塊

?vitis;包含下一篇文章中要創(chuàng)建的Vitis工作區(qū)。Xclbin文件與合成的內(nèi)核

ROS 2工作空間通常將所有包都包含在“src”文件夾中。在這里,KRS Unleashed Core軟件包被放在一個名為“base”的特殊目錄中?!?adaptive_component ’是可選的,包含一些很好的實用程序。剩余的包確保使用Vitis支持的標志編譯主機代碼/是舊合成流(‘ ament_acceleration ‘, ‘ ament_vitis ’和’ Vitis common ‘)的回憶,配置工具鏈以針對sysroot (’ krs_firmware ’)進行交叉編譯或引入基于ros2-tracing (' tracetools_kernels ')的進一步跟蹤功能。

‘ Apriltag_* ’, ‘ minimal_image_pub ’和‘ ros2_tracing ’只是可選的,特定于應(yīng)用程序的包為Apriltag算法提供硬件加速、軟件版本和ros2消息定義,一個用于測試和ros2跟蹤的簡單消息虛擬節(jié)點(必須添加到repo以進行交叉編譯)。

上一篇文章已經(jīng)介紹了os_workspace,但是總結(jié)一下它的結(jié)構(gòu)。我們目前支持KR260板的兩個流程,一個是位于“firmware_kr260_ubuntu”中的基于ubuntu的流程,它包含一個腳本,用于獲取包含sysroot的tar存檔文件,另一個是補丁腳本,用于修改tar archive/bin目錄下的customize.sh shell腳本,以安裝sysroot中的依賴項。firmware_kr260_petalinux流程稍微復(fù)雜一些,但同樣通過petalinux.sh腳本自動執(zhí)行,該腳本首先檢查artifacts文件夾中的一些文件,如XSA文件或BSP(需要下載),然后繼續(xù)在“build_petalinux/images”下創(chuàng)建petalinux項目。然后調(diào)用生成的sdk.sh腳本生成包含sysroot文件的固件文件夾。可選地提供了用于生成設(shè)備樹的進一步腳本,并且可以對‘ petalinx_config文件夾’中的配置應(yīng)用配置。

vitis工作區(qū)將在下一章中詳細介紹,但一般結(jié)構(gòu)不需要將其放在ROS2工作區(qū)旁邊,因為它只依賴于所使用的操作系統(tǒng)。內(nèi)核組織在源代碼中的文件夾中,腳本從其中準備工作空間并生成所有組件。成功執(zhí)行后,結(jié)果存儲在exports文件夾中,以便復(fù)制到電路板上。

本地/本地構(gòu)建

正如在論文和第一篇文章中所解釋的那樣,修訂的主要動機之一是在更改系統(tǒng)時涉及的復(fù)雜性,例如使用不同版本的Vitis或集成另一個操作系統(tǒng)。

與最初的KRS流程相比,KRS Unleashed將這兩個步驟提取到單獨的工作區(qū)中,以使鏈接更加有形和可調(diào)整。對于交叉編譯,之前隱式的Ubuntu系統(tǒng)根準備被移到OS工作區(qū)中,而mixin生成則保留在ROS 2中的新krs_firmware repo中。Krs_firmware在' base/ Krs_firmware /cmake/firmware_setup中定義了一些常量。,但目前只有這一行是真正相關(guān)的:

在這里,需要指定包含要使用的‘ sysroots ’文件夾的文件夾。遺憾的是,Petalinux支持ROS 2(2022.1-2024.1)的版本是基于一個非lts的Yocto版本(Langdale),其中ROS 2層從未真正工作過,因為在該版本期間維護者發(fā)生了變化,現(xiàn)在需要將Kirkstone的錯誤修復(fù)后移植到Langdale。

因此,我們使用兼容abi的Ubuntu系統(tǒng)根作為Petalinux交叉編譯應(yīng)用程序的臨時解決方案。這在簡單的例子中工作得很好,但當庫版本不同時(如OpenCV的情況)會導(dǎo)致問題。我們目前的計劃是將整個工具鏈升級到Jazzy/2025.1作為下一步。

在調(diào)整了變量firmware_dir之后,您只需要執(zhí)行原始KRS框架的命令+額外的環(huán)境準備:

1. 添加遺漏的libpython庫以便交叉編譯,一旦Ubuntu遺漏(使用絕對路徑!!)

2. 源ROS 2, Vitis和定義一些變量

Unset RMW Implementation只有在您為ROS 2安裝了多個DDS時才需要,這只是防止錯誤消息的預(yù)防步驟-如果您遇到一些關(guān)于DDS的依賴關(guān)系,請將此簡單地忽略,導(dǎo)出PATH只是為了防止意外使用Vitis Cmake,…版本

如果你在本地安裝了多個OpenCV版本來測試Petalinux,你需要為本地構(gòu)建設(shè)置一些進一步的變量:

3. 構(gòu)建應(yīng)用程序

這將生成一個構(gòu)建和安裝文件夾,其中包含應(yīng)用程序的本機構(gòu)建,您可以使用它來測試應(yīng)用程序的軟件版本。此外,已經(jīng)通過krs_firmware在系統(tǒng)上安裝了colcon mixin,它允許您對應(yīng)用程序進行交叉編譯

只需通過正常的ROS 2命令運行SW應(yīng)用程序:

交叉編譯配置和如何集成內(nèi)核

之后,我們需要找到生成的安裝腳本并運行交叉編譯命令。打開一個新的終端并運行:

這將創(chuàng)建一個build-kr260和一個install-kr260文件夾。要在板上部署應(yīng)用程序,只需通過scp復(fù)制install-kr260文件夾:

這里需要注意的是,這個安裝文件夾只包含交叉編譯的二進制文件、啟動文件……最后合成的內(nèi)核丟失了,需要在下一篇文章中通過vitis工作空間流在主板上單獨生成和設(shè)置。

到內(nèi)核文件的實際鏈接只發(fā)生在主機代碼上,其中xclbin的名稱、頂級函數(shù)和方法簽名需要與內(nèi)核匹配。

本文編譯自hackster.io

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉