使用vitis tcl腳本構建vitis app工程

一:最近重新學習了zynq系列開發,想著使用tcl創建工程,因此分享一下腳本例子

#!/bin/bashsource /tools/Xilinx/Vitis/2022.2/settings64.sh
cd ../../
. ./script/project.sh
cd app/script
#tcl腳本只能在虛擬機桌面執行
xsct  build_vitis.tcl -tclargs ${hardware_xsa_name} ${app_name}

puts "pwd= [pwd]"
cd ../
#set projpath [pwd]/project
set projpath [pwd]/project
puts "Current workspace is $projpath"
setws $projpath
getws# 設置硬件和應用程序名稱
set xsaName [lindex $argv 1]
set appName [lindex $argv 2]
cd [pwd]
cd ../
puts "pwd= [pwd]"
puts "xsa name = [pwd]/hardware/$xsaName.xsa"# 創建平臺
platform create -name $xsaName -hw [pwd]/hardware/$xsaName.xsa -proc ps7_cortexa9_0 -os standalone -arch 32-bit -out $projpath
importprojects $projpath/$xsaNameplatform active $xsaName
#repo -add-platforms $xsaName   #bug
domain active standalone_domain
puts "toolchain = [toolchain]"app create -name $appName -platform $xsaName -domain standalone_domain -template "Empty Application" -lang c++importsources -name $appName -path [pwd]/app/src -target-path src -soft-link
importsources -name $appName -path [pwd]/app/common -target-path common -soft-link
importsources -name $appName -path [pwd]/app/drivers  -target-path drivers -soft-linkapp config -name $appName define-compiler-symbols _POSIX_THREADS   
app config -name $appName include-path [pwd]/app/include           #指定要包含的頭文件路徑app config -name $appName library-search-path [pwd]/app/lib  #添加鏈接時要添加的庫,以及xx位置查找庫。 這個需要在添加庫指令前面
app config -name $appName libraries eventapp config -name $appName -add compiler-misc {-std=c++11 -pthread}
app config -name $appName -add linker-misc {-WL,-Map,-stdc++}
app config -name $appName -add linker-misc {-WL,-Map,${ProjName.map}}
# 生成平臺和應用程序項目
platform generate
append appName "_system"
sysproj build -name $app0Name#-target-path src  指定要將源文件放到工程的某個位置(src) 
#-soft-link  指定將源文件鏈接進應用工程,而不是復制源文件到工程(不指定-soft-link,應用工程修改的內容不會反應到源文件代碼,只會修改工作空間的文件,當工程刪除就不見了)

????????有點缺陷是再vitis打開工程后,在工程中手動添加源文件是只能存在此工程的工作空間中,即project目錄下的app工程下,所以在刪除工程后,自己源碼就不存在了,需要在源碼的目錄創建源文件,使用importsource的方式導入才行,如操作:

????????在本地目錄先創建文件,再工程中要導入的文件夾中右鍵選擇import source 導入文件,才行。advanced下面的三個方框都選中。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/84711.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/84711.shtml
英文地址,請注明出處:http://en.pswp.cn/web/84711.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

電腦商城--購物車

加入購物車 1 購物車-創建數據表 1.使用use命令先選中store數據庫。 USE store; 2.在store數據庫中創建t_cart用戶數據表。 CREATE TABLE t_cart (cid INT AUTO_INCREMENT COMMENT 購物車數據id,uid INT NOT NULL COMMENT 用戶id,pid INT NOT NULL COMMENT 商品id,price BIG…

2024-2025學年度下期《網頁設計》期末模擬測試

一、 單選題 1. HTML文檔的根標簽是( ) A. <html> B. <head> C. <body> D. <!DOCTYPE> 2. 用于定義段落內容的標簽是&#xff1a;( ) A. <div> B. <p> C. <span> D. <br> 3. 網以下哪個屬性用于定義CSS內聯樣式…

搭建加解密網站遇到的問

本機向云服務器傳輸文件 用winscp 服務器在安裝 SSH 服務時自動生成密鑰對&#xff08;公鑰私鑰&#xff09; 為什么要有指紋驗證&#xff1f; 防止中間人攻擊&#xff08;Man-in-the-Middle&#xff09; 指紋驗證打破這個攻擊鏈&#xff1a; 小問題 安裝python時 ./confi…

CSS 制作學成在線網頁

1 項目結構 1.1 總結 2 網頁制作思路 3 header 區域 - 布局 3.1 通欄 3.2 logo 3.3 導航 3.4 搜索區域 3.5 用戶區域 4 banner 區域 4.1 左側側導航 4.2 右側課程表 5 精品推薦 6 推薦課程區域 參考鏈接&#xff1a; 82-準備工作-項目目錄與版心_嗶哩嗶哩_bilibili

圖靈完備之路(數電學習三分鐘)----門的多路化

上一章中我們學習了如何用與非門實現其他邏輯門&#xff0c;但上節中的輸入信號始終為2&#xff0c;但在現實中&#xff0c;輸入的信號數量是不確定的&#xff0c;所以我們需要設計多輸入的門&#xff1a; 1.三路與非門&#xff08;卡諾圖法&#xff09; 我們還是從與非門開始…

【前端】二進制文件流下載(get、post)再談一次

最近二進制文件流下載可謂是又出幺蛾子&#xff0c;翻閱以前的文章也找不到解決方案&#xff0c;感覺還是沒用完全理解&#xff0c;這次再整理一遍。 先說一個通用場景&#xff0c;就是無論get還是post在接口請求的時候設定好 headers: { Content-Type: application/json;cha…

uv功能介紹和完整使用示例總結

以下是關于 UV 工具的完整使用示例總結,結合其核心功能與典型場景,幫助用戶快速上手并高效管理 Python 項目: 一、安裝與配置 快速安裝 macOS/Linux:curl -LsSf https://astral.sh/uv/install.sh | shWindows:powershell -ExecutionPolicy ByPass -c "irm https://as…

MySQL啟動報錯“mysqld_safe Directory ‘/var/lib/mysql‘ don‘t exists“終極解決方案!從入門到高階全攻略

在MySQL的使用過程中&#xff0c;啟動報錯mysqld_safe Directory /var/lib/mysql dont exists是開發者經常遇到的問題。這個錯誤看似簡單&#xff0c;實則可能涉及目錄權限、系統配置、文件系統等多個方面。本文將結合官方文檔與實際經驗&#xff0c;從基礎到高級&#xff0c;為…

python 常見數學公式函數使用詳解

Python 數學公式與函數大全 Python 提供了豐富的數學計算支持&#xff0c;包括內置函數、標準庫&#xff08;math、cmath、numpy&#xff09;和第三方庫&#xff08;sympy、scipy&#xff09;。以下是常用數學公式和函數的分類整理&#xff1a; 1. 基本數學運算 1.1 算術運算…

阿里云服務器+寶塔面板發布網站

一、租用服務器 &#xff08;1&#xff09;、進入官網 阿里云-計算&#xff0c;為了無法計算的價值阿里云——阿里巴巴集團旗下公司&#xff0c;是全球領先的云計算及人工智能科技公司之一。提供免費試用、云服務器、云數據庫、云安全、云企業應用等云計算服務&#xff0c;以…

langchain框架中各種Agent(LLMSingleAgent ReactAgent Plan-and-Execute Agent)原理方式對比

在LangChain框架中&#xff0c;LLMSingleActionAgent與ReAct Agent及其他Agent類型在內部原理上存在顯著差異&#xff0c;主要體現在推理機制、行動策略、動態性等方面。以下結合實例進行詳細說明&#xff1a; 1. LLMSingleActionAgent的內部原理 LLMSingleActionAgent是LangC…

AI+預測3D新模型百十個定位預測+膽碼預測+去和尾2025年6月22日第116彈

從今天開始&#xff0c;咱們還是暫時基于舊的模型進行預測&#xff0c;好了&#xff0c;廢話不多說&#xff0c;按照老辦法&#xff0c;重點8-9碼定位&#xff0c;配合三膽下1或下2&#xff0c;殺1-2個和尾&#xff0c;再殺4-5個和值&#xff0c;可以做到100-300注左右。 (1)定…

電池模塊仿真 - 線性時不變降階模型

電池模塊熱設計挑戰 針對使用周期設計電池模塊存在幾個獨特的熱工程挑戰。 使用循環&#xff08;例如駕駛循環&#xff09;涉及可變的負載、速度和環境條件&#xff0c;要求電池在動態壓力下提供一致的性能。管理熱行為至關重要&#xff0c;因為波動的電流會產生熱量&#xf…

408第二季 - 組成原理 - IO方式II

繼續中斷 中斷優先級包括響應優先級和處理優先級 注意下面的&#xff0c;很多都是之前說的 這里的中斷向量的地址&#xff0c;就是下面的很粗的箭頭 一個很復雜的圖 然后記一下很復雜的東西 關中斷&#xff0c;保存斷點和中斷服務程序尋址都是之前講過的 繼續推進&#xff01;…

Spring AOP:橫切關注點的優雅解決方案

目錄 概要 和面向對象編程的區別 優點 AOP的底層原理 JDK動態代理技術 AOP七大術語 切點表達式 AOP實現方式 Spring對AOP的實現包括以下3種方式&#xff1a; 在本篇文章中&#xff0c;我們主要講解前兩種方式。 基于AspectJ的AOP注解式開發 定義目標類以及目標方法…

開源 Arkts 鴻蒙應用 開發(三)Arkts語言的介紹

文章的目的為了記錄使用Arkts 進行Harmony app 開發學習的經歷。本職為嵌入式軟件開發&#xff0c;公司安排開發app&#xff0c;臨時學習&#xff0c;完成app的開發。開發流程和要點有些記憶模糊&#xff0c;趕緊記錄&#xff0c;防止忘記。 相關鏈接&#xff1a; 開源 Arkts …

hot100 -- 16.多維動態規劃

1.不同路徑 問題&#xff1a; 一個機器人位于一個 m x n 網格的左上角 &#xff08;起始點在下圖中標記為 “Start” &#xff09;。 機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角&#xff08;在下圖中標記為 “Finish” &#xff09;。 問總共有多少條…

優先級繼承和優先級天花板(pthread_mutexattr_setprotocol)

優先級繼承和優先級天花板&#xff0c;均可以解決優先級翻轉問題。 優先級翻轉&#xff1a; 實例觀察優先級翻轉和優先級繼承現象-CSDN博客 如果有兩個線程A和B&#xff0c;A的優先級大于B的優先級。在B獲取鎖之后&#xff0c;釋放鎖之前&#xff0c;A想要獲取鎖&#xff0c…

Spark on Hive表結構變更

Spark on Hive表結構變更 1、表結構變更概述1、表結構變更概述 在Spark on Hive架構中,表結構(Schema)變更是一個常見且重要的操作。理解其背景、使用場景以及具體方式對于大數據平臺管理至關重要 1.1、Spark on Hive元數據管理 Hive Metastore(HMS): 核心組件。它是一個…

NotePad++ 怎么沒有找到插件管理?

今天想使用NotePad閱讀markdown文檔&#xff0c;卻發現未安裝插件&#xff0c;本想通過插件管理安裝一下&#xff0c;結果沒有插件管理&#xff01;&#xff01;&#xff01;&#xff01; 我發現幫助菜單里面有一個入口 可惜的是網頁無法打開。。。 只能自己下載插件了。 將插件…