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

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

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

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

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

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

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

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

整個(gè)存儲(chǔ)庫分為3個(gè)目錄:

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

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

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

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

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

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

vitis工作區(qū)將在下一章中詳細(xì)介紹,但一般結(jié)構(gòu)不需要將其放在ROS2工作區(qū)旁邊,因?yàn)樗灰蕾囉谒褂玫牟僮飨到y(tǒng)。內(nèi)核組織在源代碼中的文件夾中,腳本從其中準(zhǔn)備工作空間并生成所有組件。成功執(zhí)行后,結(jié)果存儲(chǔ)在exports文件夾中,以便復(fù)制到電路板上。

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

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

與最初的KRS流程相比,KRS Unleashed將這兩個(gè)步驟提取到單獨(dú)的工作區(qū)中,以使鏈接更加有形和可調(diào)整。對(duì)于交叉編譯,之前隱式的Ubuntu系統(tǒng)根準(zhǔn)備被移到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)的版本是基于一個(gè)非lts的Yocto版本(Langdale),其中ROS 2層從未真正工作過,因?yàn)樵谠摪姹酒陂g維護(hù)者發(fā)生了變化,現(xiàn)在需要將Kirkstone的錯(cuò)誤修復(fù)后移植到Langdale。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

本文編譯自hackster.io

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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