在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

移植VMK180 TRD的PetaLinux工程

XILINX開發者社區 ? 來源:賽靈思產工程師 ? 作者:付漢杰 ? 2022-03-18 13:43 ? 次閱讀

1

概述

所有工具和參考設計使用2021.2。X86編譯主機的操作系統是Ubuntu 18.04.6 LTS。編譯記錄里的井號,由于和Markdown語法有沖突,把超過3個以上的連續井號全部替換成了星號。有些軟件打印的記錄非常長,于是把其中部分內容替換成了“……”。

硬件移植和axi interrupt controller的設備樹工作由賽靈思工程師季茂林完成。

2

PETALINUX工程

2.1. VMK180 TRD的PetaLinux工程

直接編譯vmk180-trd/petalinux/xilinx-vmk180-trd中的VMK180 TRD的PetaLinux工程,能成功編譯。

2.2. VMK180 TRD XSA的PetaLinux工程

從VMK180 TRD帶的XSA文件:

(vmk180-trd/platforms/vivado/vmk180_trd/project/vmk180_trd.xsa)

創建PetaLinux工程,直接編譯,會出錯,部分錯誤信息如下:

ERROR: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:

File: 'exec_python_func() autogenerated', lineno: 2, function:

0001:

*** 0002:devicetree_do_compile(d)

0003:

File: '/proj/hankf/v212/vmk180-trd/vmk180-trd-xsa-peta/components/yocto/layers/core/meta/classes/devicetree.bbclass', lineno: 131, function: devicetree_do_compile

0127: if not(os.path.isfile(dtspath)) or not(dts.endswith(".dts") or devicetree_source_is_overlay(dtspath)):

0128: continue # skip non-.dts files and non-overlay files

0129: except:

0130: continue # skip if can't determine if overlay

*** 0131: devicetree_compile(dtspath, includes, d)

0132:}

0133:

0134:devicetree_do_install() {

0135: for DTB_FILE in `ls *.dtb *.dtbo`; do

.....................

'/proj/hankf/v212/vmk180-trd/vmk180-trd-xsa-peta/build/tmp/work/versal_generic-xilinx-linux/device-tree/xilinx-v2021.2+gitAUTOINC+c0acd8f064-r0', '-o', 'system-top.dtb', '-I', 'dts', '-O', 'dtb', 'system-top.dts.pp']' returned non-zero exit status 2.

Subprocess output:

/proj/hankf/v212/vmk180-trd/vmk180-trd-xsa-peta/project-spec/configs/../../components/plnx_workspace/device-tree/device-tree/pl.dtsi ERROR (phandle_references): /amba_pl@0/mipi_csi2_rx_subsystem@a4060000/ports/port@1/endpoint: Reference to non-existent node or label "mipi_capture_pipe_cap_pipe_ISPPipeline_accel_0mipi_capture_pipe_mipi_csi_rx_ss_mipi_csi2_rx_subsyst_0"

ERROR: Input tree has errors, aborting (use -f to force output)

DEBUG: Python function devicetree_do_compile finished

把文件system-user.dtsi做下列更改后,才能編譯通過。

/include/ "system-conf.dtsi"

/// {

//};

/delete-node/ &axi_intc_0;

/delete-node/ &mipi_csirx_outmipi_capture_pipe_mipi_csi_rx_ss_mipi_csi2_rx_subsyst_0;

/ {

amba_pl: amba_pl@0 {

axi_intc_0: interrupt-controller@a42e0000 {

interrupt-names = "irq";

interrupt-parent = <&gic>;

interrupts = <0 99 4>;

};

};

};

2.3. VCK190 XSA的PetaLinux工程

把VMK180 TRD的工程,移植到VCK190,再根據導出的XSA創建PetaLinux工程,也需要做上述更改,才能成功編譯PetaLinux工程。

2.4. 移植VMK180 TRD的PetaLinux工程

直接在VMK180 TRD的PetaLinux工程,導入上述VCK190的XSA(移植到VCK190的VMK180 TRD的XSA),能成功編譯PetaLinux工程。

2.5. 基于VMK180 TRD的BSP的PetaLinux工程

把VMK180 TRD的PetaLinux工程打包成BSP,再創建PetaLinux工程,并導入上述VCK190的XSA(移植到VCK190的VMK180 TRD的XSA),能成功編譯。

3

X86-HOST軟件編譯

3.1. libaio.h

編譯vmk180-trd/pcie_host_package/qdma/apps/dma-util時,得到錯誤“libaio.h: No such file or directory”。

cc -g -I. -I../include -I../dma-utils -c -std=c99 -o ../dma-utils/dmaxfer.o ../dma-utils/dmaxfer.c -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_LARGE_FILE_SOURCE -D_AIO_AIX_SOURCE

../dma-utils/dmaxfer.c10: fatal error: libaio.h: No such file or directory

#include

^~~~~~~~~~

compilation terminated.

Makefile recipe for target '../dma-utils/dmaxfer.o' failed

安裝libaio1和libaio-dev,再編譯就能能成功。

/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app$ sudo apt install libaio1 libaio-dev

Reading package lists... Done

Building dependency tree

Reading state information... Done

The following packages were automatically installed and are no longer required:

linux-hwe-5.4-headers-5.4.0-90 linux-hwe-5.4-headers-5.4.0-91 linux-hwe-5.4-headers-5.4.0-92 linux-hwe-5.4-headers-5.4.0-94

Use 'sudo apt autoremove' to remove them.

The following NEW packages will be installed:

libaio-dev libaio1

0 upgraded, 2 newly installed, 0 to remove and 18 not upgraded.

Need to get 19.3 kB of archives.

After this operation, 87.0 kB of additional disk space will be used.

Get:1 http://mirrors.aliyun.com/ubuntu bionic-updates/main amd64 libaio1 amd64 0.3.110-5ubuntu0.1 [6,476 B]

Get:2 http://mirrors.aliyun.com/ubuntu bionic-updates/main amd64 libaio-dev amd64 0.3.110-5ubuntu0.1 [12.8 kB]

Fetched 19.3 kB in 1s (13.1 kB/s)

Selecting previously unselected package libaio1:amd64.

(Reading database ... 383659 files and directories currently installed.)

Preparing to unpack .../libaio1_0.3.110-5ubuntu0.1_amd64.deb ...

Unpacking libaio1:amd64 (0.3.110-5ubuntu0.1) ...

Selecting previously unselected package libaio-dev:amd64.

Preparing to unpack .../libaio-dev_0.3.110-5ubuntu0.1_amd64.deb ...

Unpacking libaio-dev:amd64 (0.3.110-5ubuntu0.1) ...

Setting up libaio1:amd64 (0.3.110-5ubuntu0.1) ...

Setting up libaio-dev:amd64 (0.3.110-5ubuntu0.1) ...

Processing triggers for man-db (2.8.3-2ubuntu0.1) ...

Processing triggers for libc-bin (2.27-3ubuntu1.4) ...

3.2. PF src ‘.tmp_30090’: Permission denied

編譯QDMA驅動時,得到錯誤“mkdir: cannot create directory ‘.tmp_30090’: Permission denied”。

make -C driver

make[1]: Entering directory '/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/driver'

"distro=, dmajor= dminor= "

5.4.1575.4.0-96-generic: GIT,,, -DGITSP -DGIT

CROSS_COMPILE_FLAG = aarch64-linux-gnu-.

ARCH = x86_64.

rm: cannot remove '/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/driver/src/libqdma': Is a directory

ln: /proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/driver/src/libqdma: cannot overwrite directory

***********************

**** PF src ****

***********************

make[2]: Entering directory '/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/driver/src'

srcdir = /proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/driver/src.

KSRC = /lib/modules/5.4.0-96-generic/build.

VF = 0.

CROSS_COMPILE_FLAG = aarch64-linux-gnu-.

ARCH = x86_64.

EXTRA_FLAGS = .

ccflags-y = -D__READ_ONCE_DEFINED__.

make[3]: Entering directory '/usr/src/linux-headers-5.4.0-96-generic'

mkdir: cannot create directory ‘.tmp_30090’: Permission denied

mkdir: cannot create directory ‘.tmp_30092’: Permission denied

............

把所有文件的所有者改為當前用戶,編譯也有錯誤。

/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app$ whoami

hankf

/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app$ sudo chown -R hankf *

/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app$ make clean

***********************

**** apps ****

***********************

make -C apps clean;

............

/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app$ make

***********************

**** apps ****

***********************

make -C apps

make[1]: Entering directory '/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/apps'

*****************************

**** dma-from-device ****

*****************************

make -C dma-from-device clean;

make[2]: Entering directory '/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/apps/dma-from-device'

rm -rf *.o *.bin dma-from-device

make[2]: Leaving directory '/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/apps/dma-from-device'

............

make[3]: Entering directory '/usr/src/linux-headers-5.4.0-96-generic'

mkdir: cannot create directory ‘.tmp_34383’: Permission denied

mkdir: cannot create directory ‘.tmp_34385’: Permission denied

..........

使用sudo命令,以root權限編譯,能編譯成功。

/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app$ sudo make

***********************

**** apps ****

***********************

make -C apps

make[1]: Entering directory '/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/apps'

*****************************

**** dma-from-device ****

*****************************

make -C dma-from-device clean;

make[2]: Entering directory '/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/apps/dma-from-device'

rm -rf *.o *.bin dma-from-device

make[2]: Leaving directory '/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/apps/dma-from-device'

...................

srcdir = /proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/driver/src.

KSRC = /lib/modules/5.4.0-96-generic/build.

VF = 1.

CROSS_COMPILE_FLAG = .

ARCH = x86_64.

EXTRA_FLAGS = -D__QDMA_VF__.

ccflags-y = -D__READ_ONCE_DEFINED__.

Building modules, stage 2.

MODPOST 1 modules

CC [M] /proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/driver/src/qdma-vf.mod.o

LD [M] /proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/driver/src/qdma-vf.ko

make[3]: Leaving directory '/usr/src/linux-headers-5.4.0-96-generic'

make[2]: Leaving directory '/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/driver/src'

make[1]: Leaving directory '/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/driver'

3.3. Build host application pcie_app

編譯應用程序pcie_app,得到錯誤“undefined reference to cv::namedWindow”。

/proj/hankf/vck190/v212/vck190-from-vmk180-trd-bsp-peta/project-spec/qdma-x86-host-app/pcie_app$ ./do_compile.sh

g++ -Wl,-O1 -o app1 main.o mainwindow.o videofrm.o pcie_host.o moc_mainwindow.o moc_videofrm.o -L/usr/lib -L/usr/lib/x86_64-linux-gnu/glib-2.0 -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_imgcodecs -lrt -lglib-2.0 -lQt5Widgets -lQt5Gui -lQt5Concurrent -lQt5Core -lGL -lpthread

videofrm.o: In function `videofrm::config_frame()':

videofrm.cpp undefined reference to `cv::basic_stringchar_traits,std::allocator> const&, int)'

videofrm.o: In function `videofrm::convert_yuv_to_rgb_buffer(unsigned char*, unsigned char*, unsigned int, unsigned int)':

videofrm.cpp undefined reference to `cv::basic_stringchar_traits,std::allocator> const&,cv::_InputArray const&)'

collect2: error: ld returned 1 exit status

Makefile recipe for target 'app1' failed

make: *** [app1] Error 1

mv: cannot stat 'app1': No such file or directory

使用命令pkg-config opencv –cflags –libs,查看opencv相關庫的編譯選項,并加入Makefile,能編譯成功。

/proj/hankf/vmk180/v212/vmk180-trd$ pkg-config opencv --cflags --libs | grep -i gui

-I/usr/local/include/opencv -I/usr/local/include -L/usr/local/lib -lopencv_dnn -lopencv_highgui -lopencv_ml -lopencv_objdetect -1


原文標題:開發者分享|移植VMK180 TRD到VCK190的軟件編譯問題

文章出處:【微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 操作系統
    +關注

    關注

    37

    文章

    6862

    瀏覽量

    123527
  • 硬件
    +關注

    關注

    11

    文章

    3358

    瀏覽量

    66355
  • 移植
    +關注

    關注

    1

    文章

    382

    瀏覽量

    28155
  • 編譯
    +關注

    關注

    0

    文章

    661

    瀏覽量

    32943

原文標題:開發者分享|移植VMK180 TRD到VCK190的軟件編譯問題

文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux移植和Xilinx的Petalinux的快速移植開發案例

    作者:殷建飛 本文是昨天發的文章《龍芯杯CPU設計競賽與ZYNQ設計流程介紹》接續部分。重點介紹傳統方式的Linux移植和Xilinx的Petalinux的快速移植開發兩種。 部分硬件設計中需要
    的頭像 發表于 11-27 10:36 ?8178次閱讀
    Linux<b class='flag-5'>移植</b>和Xilinx的<b class='flag-5'>Petalinux</b>的快速<b class='flag-5'>移植</b>開發案例

    MicroBlaze處理器的PetaLinux操作系統怎么移植

    微處理器核,而如何針對特定的微處理器選擇合適的嵌入式操作系統是SOPC開發的難點之一。本文針對Xilinx公司的MicroBlaze軟核,介紹了PetaLinux嵌入式操作系統及其移植方法,研究了PetaLinux的相關配置和啟
    發表于 03-16 06:37

    【創龍TLZ7x-EasyEVM評估板試用連載】+基于petalinux的Ubuntu移植

    petalinux工程、配置Linux內核、配置 Linux 根文件系統等過程,最終得到移植Linux的boot。再將sd卡格式化,將移植的鏡像拷入。再將sd卡插入開發板上電,可以看到
    發表于 07-13 11:20

    MicroBlaze處理器的PetaLinux操作系統移植

    本文介紹了一種可用于MicroBlaze處理器的嵌入式Linux操作系統——PetaLinux,并詳細討論了其內核配置和啟動方案。通過移植Peta-Linux,本文開發的SOPC可以直接用于實際工程
    發表于 05-18 11:53 ?5714次閱讀
    MicroBlaze處理器的<b class='flag-5'>PetaLinux</b>操作系統<b class='flag-5'>移植</b>

    如何把PetaLinux移植到Xilinx FPGA上

    訊雜志的最新一期(55期)摘錄和改編) PetaLinux已經成為嵌入式設計師的最愛。它是開源免費的,并且支持各種處理器架構,例如賽靈思MicroBlaze CPU和ARM處理器。 為了移植
    發表于 02-08 02:17 ?417次閱讀
    如何把<b class='flag-5'>PetaLinux</b><b class='flag-5'>移植</b>到Xilinx FPGA上

    第4章 利用Petalinux工程工作

    建立一個新的工程在從vivado中導出硬件描述文件后,下一步就是建立并初始化新的Petalinux工程petalinux-create工具用于穿件基本
    發表于 11-16 01:27 ?1735次閱讀

    PetaLinux操作系統特點和結構及其移植方法

    本文介紹了PetaLinux操作系統的特點和目錄結構,并分析了基于MLD的BSP自動生成技術,最后總結了PetaLinux操作系統移植的具體方法。這對設計基于MicroBlaze處理器的嵌入式系統具有重要指導意義。
    發表于 11-18 02:40 ?1.9w次閱讀
    <b class='flag-5'>PetaLinux</b>操作系統特點和結構及其<b class='flag-5'>移植</b>方法

    petalinux(二)開啟petalinux內核調試模式

    要調試基于Xilinx SDK的Linux內核模塊,必須使能 KERNEL_DEBUG_INFO和KERNEL_DEBUGGING。這篇博文全面記錄了在Petalinux中是如何處理的。解決方案
    發表于 11-18 13:46 ?1.1w次閱讀
    <b class='flag-5'>petalinux</b>(二)開啟<b class='flag-5'>petalinux</b>內核調試模式

    賽靈思首款Versal AI Core系列評估套件上市

    VMK180 評估套件支持 Versal Prime 系列 VM1802 器件,該器件集軟件可編程芯片基礎架構與世界級計算引擎以及一系列連接選項為一體,可在廣泛的市場應用中加速各種工作負載。
    的頭像 發表于 01-14 09:36 ?2396次閱讀

    Petalinux工程中設備樹的介紹

    設備樹是 Petalinux kernel 的關鍵組件,接下來以 2020.1 版本為例,為大家介紹一下在Xilinx Petalinux 工程中的設備樹是如何產生,配置以及修改
    的頭像 發表于 02-20 16:32 ?7013次閱讀
    <b class='flag-5'>Petalinux</b><b class='flag-5'>工程</b>中設備樹的介紹

    如何在Petalinux創建Linux內核模塊?

    創建內核模塊 Petalinux可以幫助工程師簡化內核模塊的創建工作。在petalinux工程目錄下,使用命令“ petalinux-cre
    的頭像 發表于 03-02 11:10 ?4405次閱讀

    賽靈思宣布兩款Versal ACAP評估套件現已上市

    日前,賽靈思宣布兩款 Versal ACAP 評估套件現已上市,分別為?Versal AI Core 系列 VCK190 評估套件和?Versal Prime系列 VMK180 評估套件
    的頭像 發表于 03-12 15:14 ?3234次閱讀

    如何配置Petalinux工程來從Flash啟動Linux Kernel

    新版petalinux生成的u-boot是通過boot.scr來加載linux kernel的。如果我們用petalinux工程默認配置和下面命令生成boot image并從flash啟動,會出現下面的錯誤。
    的頭像 發表于 08-10 09:03 ?2253次閱讀

    AMD Xilinx SoC:定制PetaLinux中的FSBL

    客戶為AMD Xilinx SoC創建了PetaLinux工程。需要定制PetaLinux中的FSBL
    的頭像 發表于 07-10 17:05 ?964次閱讀

    VMK180評估板用戶指南

    電子發燒友網站提供《VMK180評估板用戶指南.pdf》資料免費下載
    發表于 09-13 14:48 ?1次下載
    <b class='flag-5'>VMK180</b>評估板用戶指南
    主站蜘蛛池模板: 色噜噜色偷偷| 欧美性色视频| 最近2018年中文字幕免费图片| 男女午夜特黄毛片免费| 免费观看一区二区| 中文字幕va| 四虎永久影院永久影库| 日本黄色片免费看| 久久99精品久久久久久臀蜜桃 | 亚洲国产日韩欧美在线as乱码| 1024毛片| 视频免费1区二区三区| 夜夜春色| 日本在线视频精品| 天天插日日干| 人人艹人人草| 视频在线h| 狠狠色 综合色区| 四虎永久网址影院| 毛片网页| 夜间视频在线观看| 国产精品14p| 天天影视亚洲| 久久艹人人艹| 中文在线 | 中文| 亚洲婷婷国产精品电影人久久| 日韩毛片免费视频| 丁香花高清在线观看| 欧美疯狂爱爱xxxxbbbb| 最新亚洲一区二区三区四区| 一级毛片一级毛片一级毛片aa| 欧美性喷潮xxxx| 中文在线资源链接天堂| 久久精品国产亚洲aa| 婷婷在线网| 色爱综合网| 成人欧美一区二区三区视频不卡| 美女丝袜长腿喷水gif动态图| 一区二区三区视频观看| 五月婷婷狠狠| 国产三及|