99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Vitis嵌入式Linux:Sysroot和庫(kù)的用法

jf_pJlTbmA9 ? 來(lái)源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-07-07 14:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

以下博文演示了在Vitis? 中對(duì) Linux 應(yīng)用程序開(kāi)發(fā)的過(guò)程中如何使用外部庫(kù)。

我將使用由 libxml2 庫(kù)所提供的“Parse and validate an XML file with an xmlReader”應(yīng)用示例來(lái)演示本示例,并且和基于 ZCU102 開(kāi)發(fā)板的 PetaLinux BSP 編譯出來(lái)的 Linux 鏡像相關(guān)聯(lián)。

創(chuàng)建 Linux 域

要在 Vitis 中開(kāi)發(fā)嵌入式 Linux 應(yīng)用,需要在工作空間內(nèi)創(chuàng)建含 Linux 域的平臺(tái)工程。

此平臺(tái)工程是根據(jù)所選的硬件規(guī)格文件 (XSA) 創(chuàng)建的,該文件可以是在 Vivado 中生成的定制 XSA,也可以是 Vitis 內(nèi)的預(yù)定義 XSA 文件。
由于本示例是使用 PetaLinux BSP 構(gòu)建的,因此用于創(chuàng)建平臺(tái)的 XSA 文件與用于 PetaLinux 工程的 XSA 文件相同。

此外,目標(biāo)的啟動(dòng)組件通常在 PetaLinux中生成(或者也可以使用pre-built中的組件),因此無(wú)需選中“Generate boot components”(生成啟動(dòng)組件)選項(xiàng)。

100569887-297773-0410-1.png

生成的硬件平臺(tái)工程提供了基本 Linux 域,其中所有可選設(shè)置均未定義。

此工程足以用于開(kāi)發(fā)簡(jiǎn)單的應(yīng)用,例如,hello world。

100569887-297774-0410-2.png

以該域?yàn)槟繕?biāo)的應(yīng)用將搭配 Vitis IDE 使用預(yù)定義的工具鏈和 sysroot。

編譯好的應(yīng)用程序可能可以在 Linux 鏡像上正常運(yùn)行,不出現(xiàn)任何問(wèn)題,但還請(qǐng)謹(jǐn)記,也可能因?yàn)橹鳈C(jī)上安裝的庫(kù)/頭文件與Linux鏡像上的不一致而導(dǎo)致出錯(cuò)。

預(yù)安裝的系統(tǒng)僅提供一些基本庫(kù),因此在編譯我們這個(gè)示例的時(shí)候,因?yàn)槿鄙龠@些頭文件和庫(kù),很可能無(wú)法編譯成功。

100569887-297775-0410-3.png

構(gòu)建 Linux 庫(kù)

PetaLinux 提供了根文件系統(tǒng)配置菜單,用于構(gòu)建庫(kù)并將其添加到生成的 Linux 鏡像或分發(fā)版中。如《PetaLinux 工具文檔:參考指南》(UG1144) 中所述,此配置為靜態(tài)菜單,其中提供了賽靈思支持的實(shí)用工具和庫(kù)。

此外,庫(kù)不支持的配方可從現(xiàn)有/已使用的層次或者從其它層次添加到鏡像中。如需獲取進(jìn)一步的指導(dǎo)信息,請(qǐng)參閱 (UG1144) 中的將現(xiàn)有配方添加到根文件系統(tǒng)中部分。

對(duì)于此示例,在鏡像中添加了包含開(kāi)發(fā)包和調(diào)試包在內(nèi)的 libxml2 庫(kù)。

100569887-297776-0410-4.png

使用 petalinux-build 命令把庫(kù)都編譯一下。

100569887-297777-0410-5.png

生成目標(biāo) sysroot

如 (UG1144) 的SDK 生成部分中所述,PetaLinux 提供了 SDK 生成功能,用于構(gòu)建和部署交叉編譯工具鏈和目標(biāo) sysroot 以供應(yīng)用開(kāi)發(fā)之用。

100569887-297778-0410-6.png

在默認(rèn)目錄內(nèi)封裝好 sysroot 后,即可在生成的 SDK 文件夾內(nèi)找到 libxml2 的庫(kù)和頭文件。

100569887-297779-0410-7.png

配置 Linux 域

Vitis 中的 Linux 域配置菜單提供了設(shè)置可選 sysroot 目錄的選項(xiàng)。完成配置和構(gòu)建后,sysroot 將復(fù)制到平臺(tái)的導(dǎo)出目錄中,以便后續(xù)供以 Linux 域?yàn)槟繕?biāo)的任何應(yīng)用使用。

此外,創(chuàng)建的應(yīng)用將自動(dòng)使用導(dǎo)出的 sysroot 目錄。

100569887-297780-0410-8.png

創(chuàng)建 Linux 應(yīng)用

使用定制 sysroot 配置完 Linux 域,并在 Vitis 中以該 Linux 域?yàn)槟繕?biāo)創(chuàng)建 Linux 應(yīng)用工程之后,該應(yīng)用將自動(dòng)配置為使用先前導(dǎo)出的 sysroot 路徑。

100569887-297781-0410-9.png

以上配置設(shè)置將自動(dòng)填充應(yīng)用工程的 C/C++ 設(shè)置,用來(lái)設(shè)置編譯器的“Include Paths (-I)”(包含路徑)選項(xiàng)和 sysroot (--sysroot) 選項(xiàng)以及連接器的庫(kù)搜索路徑 (-L)。由該工具配置的編譯器和連接器設(shè)置均可在軟件平臺(tái)配置的選項(xiàng)中找到。

有些庫(kù)文件,例如:libxml2 ,或是include 目錄中需要包含的額外的分層文件夾等,要配置額外的搜索路徑來(lái)查找這些頭文件。在此示例中,需將 /usr/include 內(nèi)的 libxml2 文件夾添加到工程設(shè)置中。

100569887-297782-0410-10.png

最后,在工程配置選項(xiàng)中,需通過(guò)庫(kù)選項(xiàng) (-l) 選中將在應(yīng)用中使用的所有庫(kù)。

100569887-297783-0410-11.png

現(xiàn)在 Linux 應(yīng)用工程已正確配置了所需要的第三方庫(kù),因此可成功構(gòu)建該工程。

100569887-297784-0410-12.png

結(jié)論

Vitis IDE 支持以開(kāi)箱即用方式進(jìn)行 Linux 應(yīng)用開(kāi)發(fā),在此過(guò)程中,它會(huì)使用預(yù)安裝的工具鏈和庫(kù)以及為您的目標(biāo)平臺(tái)而創(chuàng)建的默認(rèn) Linux 域。

此外,該域可配置為利用可選 sysroot 文件夾來(lái)使用第三方庫(kù)。該選項(xiàng)能夠與 PetaLinux 的 SDK 生成功能完美搭配,以便將該域配置為使用專(zhuān)為 Linux 鏡像構(gòu)建的庫(kù),并將這些庫(kù)部署在目標(biāo)平臺(tái)上。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5150

    文章

    19665

    瀏覽量

    317459
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11509

    瀏覽量

    213751
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1077

    瀏覽量

    49078
  • Vitis
    +關(guān)注

    關(guān)注

    0

    文章

    150

    瀏覽量

    7942
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Vitis里如何創(chuàng)建嵌入式軟件工程

    1. 介紹 Vitis是Xilinx新推出的統(tǒng)一軟件平臺(tái),可實(shí)現(xiàn)在 Xilinx 所有芯片(包括 FPGA、SoC 和 Versal ACAP)上開(kāi)發(fā)嵌入式軟件和加速應(yīng)用。Xilinx主要宣傳
    的頭像 發(fā)表于 11-04 12:03 ?5892次閱讀
    <b class='flag-5'>Vitis</b>里如何創(chuàng)建<b class='flag-5'>嵌入式</b>軟件工程

    嵌入式Linux嵌入式Linux開(kāi)發(fā)環(huán)境說(shuō)明

    嵌入式Linux嵌入式Linux開(kāi)發(fā)環(huán)境說(shuō)明
    發(fā)表于 03-28 09:49 ?30次下載

    基于嵌入式Linux的漁探系統(tǒng)

    針對(duì)漁探儀發(fā)展的現(xiàn)狀,提出了一種基于嵌入式Linux 的漁探儀系統(tǒng). 該系統(tǒng)將圖形用戶(hù)界面構(gòu)建在嵌入式Linux嵌入式GUI
    發(fā)表于 04-24 10:44 ?22次下載

    嵌入式Linux

    嵌入式Linux隨著Linux的迅速發(fā)展,嵌入式Linux現(xiàn)在已經(jīng)有許多的版本,包括強(qiáng)實(shí)時(shí)的嵌入式
    發(fā)表于 06-17 00:36 ?1041次閱讀

    嵌入式LINUX開(kāi)發(fā)基礎(chǔ)知識(shí)

    嵌入式LINUX簡(jiǎn)介,嵌入式LINUX開(kāi)發(fā)平臺(tái)簡(jiǎn)介,嵌入式LINUX開(kāi)發(fā)流程,建立
    發(fā)表于 07-31 21:34 ?261次下載

    嵌入式】基于ARM的嵌入式Linux開(kāi)發(fā)總結(jié)

    前言嵌入式知識(shí)點(diǎn)復(fù)習(xí)一嵌入式知識(shí)點(diǎn)復(fù)習(xí)二 --體系結(jié)構(gòu)嵌入式知識(shí)點(diǎn)復(fù)習(xí)三 --ARM-LINUX嵌入式開(kāi)發(fā)環(huán)境
    發(fā)表于 10-19 18:32 ?28次下載
    【<b class='flag-5'>嵌入式</b>】基于ARM的<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>開(kāi)發(fā)總結(jié)

    嵌入式常用的開(kāi)源庫(kù)

    閱讀目錄linux/嵌入式常用開(kāi)源庫(kù)列表其他資料參考資料linux下/嵌入式常用的開(kāi)源庫(kù)名字及簡(jiǎn)
    發(fā)表于 10-20 19:20 ?5次下載
    <b class='flag-5'>嵌入式</b>常用的開(kāi)源<b class='flag-5'>庫(kù)</b>

    嵌入式linux開(kāi)發(fā)工具總結(jié)

    1.嵌入式linux開(kāi)發(fā)工具-編譯器gcc(靜態(tài)庫(kù) 動(dòng)態(tài)庫(kù)的制作)可以制作庫(kù) 庫(kù)的使用2.
    發(fā)表于 11-01 16:32 ?12次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>開(kāi)發(fā)工具總結(jié)

    嵌入式linux和物聯(lián)網(wǎng),嵌入式Linux或RTOS:用于物聯(lián)網(wǎng)

    嵌入式Linux或RTOS:用于物聯(lián)網(wǎng)2021-05-10嵌入式Linux或RTOS:用于物聯(lián)網(wǎng)嵌入式L
    發(fā)表于 11-01 16:33 ?15次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>和物聯(lián)網(wǎng),<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>或RTOS:用于物聯(lián)網(wǎng)

    嵌入式Linux(基礎(chǔ)篇)】從標(biāo)準(zhǔn)Linux嵌入式Linux + 嵌入式Linux知識(shí)架構(gòu)

    主要介紹了GNU/Linux的誕生,標(biāo)準(zhǔn)Linux是如何應(yīng)用在嵌入式系統(tǒng)中的,最后講述了嵌入式Linux知識(shí)架構(gòu)。
    發(fā)表于 11-02 09:51 ?34次下載
    【<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>(基礎(chǔ)篇)】從標(biāo)準(zhǔn)<b class='flag-5'>Linux</b>到<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b> + <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>知識(shí)架構(gòu)

    嵌入式Linux network

    文章目錄前言網(wǎng)絡(luò)通信簡(jiǎn)介服務(wù)器程序客戶(hù)端程序運(yùn)行微信公眾號(hào)前言這是前篇:嵌入式Linux i.MX開(kāi)發(fā)板嵌入式Linux NFS嵌入式
    發(fā)表于 11-02 10:51 ?15次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b> network

    嵌入式Linux路線(xiàn)

    對(duì)嵌入式數(shù)據(jù)庫(kù)或圖形軟件開(kāi)發(fā)有興趣,可以進(jìn)一步學(xué)習(xí)嵌入式linux數(shù)據(jù)庫(kù)開(kāi)發(fā)或基于 QT的嵌入式
    發(fā)表于 11-02 11:51 ?18次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>路線(xiàn)

    視頻教程-嵌入式Linux開(kāi)發(fā)基礎(chǔ)-嵌入式

    嵌入式Linux開(kāi)發(fā)基礎(chǔ) 嵌入式工程師、嵌入式講師、10多年
    發(fā)表于 11-02 13:21 ?30次下載
    視頻教程-<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>開(kāi)發(fā)基礎(chǔ)-<b class='flag-5'>嵌入式</b>

    嵌入式網(wǎng)絡(luò)編程+嵌入式Linux系統(tǒng)

    嵌入式網(wǎng)絡(luò)編程+嵌入式Linux系統(tǒng)一、 Linux操作系統(tǒng)安裝與使用(命令)二、 Linux開(kāi)發(fā)工具(gcc、gdb、make)三、
    發(fā)表于 11-02 14:51 ?23次下載
    <b class='flag-5'>嵌入式</b>網(wǎng)絡(luò)編程+<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>系統(tǒng)

    揭秘Vitis嵌入式加速平臺(tái)的創(chuàng)建

    電子發(fā)燒友網(wǎng)站提供《揭秘Vitis嵌入式加速平臺(tái)的創(chuàng)建.pdf》資料免費(fèi)下載
    發(fā)表于 09-14 11:05 ?0次下載
    揭秘<b class='flag-5'>Vitis</b><b class='flag-5'>嵌入式</b>加速平臺(tái)的創(chuàng)建