SDK Vitis记录

文章目录

  • SDK记录
    • SDK中报错“undefined reference to sqrt”的解决方法
    • 通过XML文件导入工程的include路径
      • 方法
      • 说明
  • 其他
    • 设置编译选项
      • 设置某些文件/文件夹不编译
      • 单独设置文件的编译选项
    • 向存储区中导入/导出数据
      • 通过GUI操作
      • 使用命令行操作
    • 产生C代码的MAP文件
    • 在Xilinx SDK 工程的BSP文件中进行断点调试
    • 移除代码中未使用的函数、变量
    • 查看宏展开的处理情况
    • 清除最近打开记录
  • Vitis记录
    • 改变主题颜色
    • 禁止某个文件编译
    • 更新platform

SDK记录

SDK中报错“undefined reference to sqrt”的解决方法

在SDK程序中,使用了math.h中声明的sqrt、log10等函数。由于math.h不包括sqrt等函数的定义,因此在程序编译过程中出现了如下的错误,
在这里插入图片描述
解决方法如下,在gcc linker中添加-lm选项即可
在这里插入图片描述

通过XML文件导入工程的include路径

方法

在Xilinx SDK软件中,当工程中的代码层次较多时,如下图,手动添加工程的include路径比较繁琐,
在这里插入图片描述
可以通过编辑xml文件的方式,将include路径导入到SDK中,

<?xml version="1.0" encoding="UTF-8"?>
<cdtprojectproperties>
<section name="org.eclipse.cdt.internal.ui.wizards.settingswizards.IncludePaths">
<language name="s"></language>
<language name="c,S">
<includepath>../test/src/FreeRTOS_Relative/FreeRTOS_Kernel/include</includepath>
<includepath>../test/src/FreeRTOS_Relative/FreeRTOS_Kernel/portable</includepath>
<includepath>../test/src/FreeRTOS_Relative/FreeRTOS_Kernel/</includepath>
<includepath>../test/src/FreeRTOS_Relative/FreeRTOS_Plus_TCP/include</includepath>
<includepath>../test/src/FreeRTOS_Relative/FreeRTOS_Plus_TCP/portable/Compiler/GCC</includepath>
<includepath>../test/src/FreeRTOS_Relative/FreeRTOS_Plus_TCP/portable/NetworkInterface/include</includepath>
<includepath>../test/src/FreeRTOS_Relative/FreeRTOS_Plus_TCP/portable/NetworkInterface/Zynq</includepath>
<includepath>../test/src/USER</includepath></language>
<language name="Object File"></language>
<language name="ld"></language>
</section>
</cdtprojectproperties>

说明

使用导入的方式批量设置include路径时,有时会出现下述错误,
在这里插入图片描述
对比了一下出错前后的工程设置,发现在导入之后,C/C++ Build Setting中的设置发生了变化,下述篮框中的设置消失了,再手动添加也无济于事,
在这里插入图片描述

58295 - 14.7 SDK - An error occurs when attempting to add a user library to the build

上述链接中提到,当在C/C++ General中设置路径时,可能会导致makefile文件corrupting,
在这里插入图片描述
由于SDK中makefile一般是工程自动管理的,因此最好还是手动逐一添加include路径吧(/ □ )

其他

有时,在SDK中添加了include路径后,编译时依然会报找不到路径的错误;此时,一种可能的原因是include path没有全部添加。要注意,如果A文件夹下有A01、A02、A03几个文件夹,即使A文件夹下没有h文件,依然需要将A文件夹添加到路径中,而不能仅仅添加A01、A02、A03这几个子文件夹。

设置编译选项

设置某些文件/文件夹不编译

在这里插入图片描述

单独设置文件的编译选项

SDK允许不同的文件设置不同的编译选项,可以分别设置文件是否优化、是否保留debug信息等
在这里插入图片描述

向存储区中导入/导出数据

通过GUI操作

在这里插入图片描述
在这里插入图片描述

使用命令行操作

在这里插入图片描述
在这里插入图片描述

产生C代码的MAP文件

XILINX官方给出的方法是
In XPS:

  • Right-click the software application project and select “Set Compiler Options”.
  • Click the Paths and Options tab.
  • In the Other Compiler Options to Append, add -Wl,-Map -Wl,“C:<fullpath><name>.map”
  • Click OK.
    In SDK:
  • Right-click the software application project and select Properties.
  • Select the C/C++ Build in the left pane.
  • With the Tools tab brought forward, select Miscellaneous under Linker.
  • In the Linker Flags, add -Wl,-Map -Wl,“C:<fullpath><name>.map”
  • Click OK.
    The -Map keyword is case sensitive. The target file name must be enclosed in quotation marks.

照做之后会提示下述错误
在这里插入图片描述
之后如下图修改链接选项
在这里插入图片描述
提示如下错误
在这里插入图片描述
于是我自己在相应路径下先建了一个同名空文件,生成map文件成功

在Xilinx SDK 工程的BSP文件中进行断点调试

参考69084 - SDK: Stepping into a BSP function causes the Debug pointer to jump to disassembly

在这里插入图片描述
在这里插入图片描述

移除代码中未使用的函数、变量

参考以下方法

在这里插入图片描述

总结起来,就是,编译阶段设置 -fdata-sections -ffunction-sections标志,链接阶段设置
-Wl,–gc-sections标志,实测如下,

在这里插入图片描述

查看宏展开的处理情况

在SDK中编译处理时,保留中间文件,就能在中间文件中查看宏展开后的处理情况,gcc的-save-temps标志能够达到这个效果。

清除最近打开记录

在这里插入图片描述

Vitis记录

改变主题颜色

在这里插入图片描述

禁止某个文件编译

更新platform

为了文件夹路径改变后不用重新导入,需要对platform进行更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/148325.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Flutter项目安装到Android手机一直显示在assembledebug

问题 Flutter项目安装到Android手机一直显示在assembledebug 原因 网络不好&#xff0c;gradle依赖下载不下来 解决方案 修改如下的文件 gradle-wrapper.properties 使用腾讯提供的gradle镜像下载 distributionUrlhttps://mirrors.cloud.tencent.com/gradle/gradle-7.5…

Mac安装Ecplise产品报错:dose not contain the JNI_CreateJavaVM symbol

1. 絮絮叨叨 工作中需要借助Ecplise Memory Analyzer (MAT)分析dump文件&#xff0c;直接下载、安装、运行MAT报错 询问同事后&#xff0c;同事说可以先安装Ecplise&#xff0c;再以插件的形式安装MAT下载、安装好Eclipse&#xff0c;点击运行仍然报错&#xff0c;且错误信息一…

【算法训练-二分查找 三】【特殊二分】寻找峰值

废话不多说&#xff0c;喊一句号子鼓励自己&#xff1a;程序员永不失业&#xff0c;程序员走向架构&#xff01;本篇Blog的主题是【数组的二分查找】&#xff0c;使用【数组】这个基本的数据结构来实现&#xff0c;这个高频题的站点是&#xff1a;CodeTop&#xff0c;筛选条件为…

AcWing算法提高课-5.6.1同余方程

宣传一下 算法提高课整理 CSDN个人主页&#xff1a;更好的阅读体验 原题链接 题目描述 求关于 x x x 的同余方程 a x ≡ 1 ( m o d b ) ax ≡ 1 \pmod b ax≡1(modb) 的最小正整数解。 输入格式 输入只有一行&#xff0c;包含两个正整数 a , b a,b a,b&#xff0c;用一…

2023最新简易ChatGPT3.5小程序全开源源码+全新UI首发+实测可用可二开(带部署教程)

源码简介&#xff1a; 2023最新简易ChatGPT3.5小程序全开源源码全新UI首发&#xff0c;实测可以用&#xff0c;而且可以二次开发。这个是最新ChatGPT智能AI机器人微信小程序源码&#xff0c;同时也带部署教程。 这个全新版本的小界面设计相当漂亮&#xff0c;简单大方&#x…

2023/10/4 -- ARM

今日任务&#xff1a;QT实现TCP服务器客户端搭建的代码&#xff0c;现象 ser&#xff1a; #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);server new QTcpSe…

订单型批发制造企业经营分析123个指标大全(ODOO15/16)

ODOO-ERP搭建完成之后&#xff0c;我们重点是帮客户建立经营分析能力&#xff0c;以下是针对订单型企业的经营分析指标&#xff0c;涵盖业务运营的监控、资产构成、利润、盈亏点计算、资产运营效率等各方面&#xff0c;并且持续完善​。 有些企业不重视&#xff0c;觉得自己企业…

ChatGPT启蒙之旅:弟弟妹妹的关键概念入门

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

项目进展(六)-继续学习32位ADC芯片ADS1285

一、数据手册学习 1.1时序图 SPI时序图&#xff0c;这是很重要的一个地方&#xff0c;一定要在代码中将SPI配置成对应的模式。 先放一堆截图在这吧&#xff0c;一些引脚的功能及特性还未看到&#xff0c;等具体了解之后再详细介绍下面几张截图的时序&#xff1a; 1.2 内…

集合-Map系列

系列文章目录 1.集合-Collection-CSDN博客​​​​​​ 2.集合-List集合-CSDN博客 3.集合-ArrayList源码分析(面试)_喜欢吃animal milk的博客-CSDN博客 4.数据结构-哈希表_喜欢吃animal milk的博客-CSDN博客 5.集合-set系列集合-CSDN博客 6.集合-Map系列-CSDN博客 文章目…

MySQL之DQL

DQL是数据查询语言 SELECT语句 语法&#xff1a; SELECT {*,列名&#xff0c;函数等} FROM 表名;SELECT *&#xff1a;表示匹配所有列 FROM :提供数据源 例如:查询student表的所有记录 SELECT * FROM student;例如&#xff1a;查询学生姓名和地址&#xff1a; SELECT Stud…

Linux安装宝塔,并实现公网远程登录宝塔面板【内网穿透】

目录 前言 1. 安装宝塔 2. 安装cpolar内网穿透 3. 远程访问宝塔 4. 固定http地址 5. 配置二级子域名 6. 测试访问二级子域名 前言 宝塔面板作为建站运维工具&#xff0c;它支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能&#xff0c;可提高…

SpringBoot结合Redisson实现分布式锁

&#x1f9d1;‍&#x1f4bb;作者名称&#xff1a;DaenCode &#x1f3a4;作者简介&#xff1a;啥技术都喜欢捣鼓捣鼓&#xff0c;喜欢分享技术、经验、生活。 &#x1f60e;人生感悟&#xff1a;尝尽人生百味&#xff0c;方知世间冷暖。 &#x1f4d6;所属专栏&#xff1a;Sp…

【已解决】opencv 交叉编译 ffmpeg选项始终为NO

一、opencv 交叉编译没有 ffmpeg &#xff0c;会导致视频打不开 在交叉编译时候&#xff0c;发现在 pc 端能用 opencv 打开的视频&#xff0c;但是在 rv1126 上打不开。在网上查了很久&#xff0c;原因可能是 交叉编译过程 ffmpeg 造成的。之前 ffmpeg 是直接用 apt 安装的&am…

css自学框架之选项卡

这一节我们学习切换选项卡&#xff0c;两种切换方式&#xff0c;一种是单击切换选项&#xff0c;一种是鼠标滑动切换&#xff0c;通过参数来控制&#xff0c;切换方法。 一、参数 属性默认值描述tabBar.myth-tab-header span鼠标触发区域tabCon.myth-tab-content主体区域cla…

FFmpeg 命令:从入门到精通 | FFmpeg 基本介绍

FFmpeg 命令&#xff1a;从入门到精通 | FFmpeg 基本介绍 FFmpeg 命令&#xff1a;从入门到精通 | FFmpeg 基本介绍FFmpeg 简介FFmpeg 基础知识复用与解复用编解码器码率和帧率 资料 FFmpeg 命令&#xff1a;从入门到精通 | FFmpeg 基本介绍 本系列文章要解决的问题&#xff1…

掌动智能:UI自动化测试工具的重要性和应用

在软件开发过程中&#xff0c;测试是至关重要的环节。而UI自动化测试工具则成为了测试团队提高效率、降低成本、保证软件质量的重要利器。本文将介绍UI自动化测试工具的概念和重要性&#xff0c;并探讨其在软件开发中的应用和好处。 一、UI自动化测试工具的概念 UI自动化测试工…

ASUS华硕飞行堡垒5笔记本FX504GM_FX80GM原装出厂Windows10系统

系统自带所有驱动、出厂主题壁纸、系统属性华硕专属LOGO标志、Office办公软件、MyASUS华硕电脑管家等预装程序 下载链接&#xff1a;https://pan.baidu.com/s/1C8vPvqiwqoUY3PxC915LXg?pwdv079

18.示例程序(编码器接口测速)

STM32标准库开发-各章节笔记-查阅传送门_Archie_IT的博客-CSDN博客https://blog.csdn.net/m0_61712829/article/details/132434192?spm1001.2014.3001.5501 main.c #include "stm32f10x.h" // Device header #include "Delay.h" #incl…

如何在 Elasticsearch 中使用 Openai Embedding 进行语义搜索

随着强大的 GPT 模型的出现&#xff0c;文本的语义提取得到了改进。 在本文中&#xff0c;我们将使用嵌入向量在文档中进行搜索&#xff0c;而不是使用关键字进行老式搜索。 什么是嵌入 - embedding&#xff1f; 在深度学习术语中&#xff0c;嵌入是文本或图像等内容的数字表示…