SDK Vitis记录

news2024/12/25 12:48:30

文章目录

  • 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.coloradmin.cn/o/1059524.html

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

相关文章

Golang 中的调试技巧

掌握有效的策略和工具&#xff0c;实现顺畅的开发 调试是每位开发人员都必须掌握的关键技能。它是识别、隔离和解决代码库中问题的过程。在 Golang 的世界中&#xff0c;掌握有效的调试技巧可以显著提升您的开发工作流程&#xff0c;并帮助您创建更可靠和健壮的应用程序。在本…

C语言 —— 函数栈帧的创建和销毁

在我们之前学习函数的时候&#xff0c;我们可能有很多困惑? 比如: 局部变量是怎么创建的?为什么局部变量的值是随机值?函数是怎么传参的?传参的顺序是怎样的?形参和实参是什么关系?函数调用是怎么做的?函数调用是结束后怎么返回的? 那么要解决这些问题, 我们就需要知道…

Raspberry Pi 5 新平台 新芯片组

Raspberry Pi 5 的 CPU 和 GPU 性能提高了两到三倍&#xff1b;内存和 I/O 带宽大约是两倍&#xff1b;并且是首款采用英国剑桥内部设计的芯片的 Raspberry Pi 计算机&#xff0c;4GB 型号的售价为 60 美元&#xff0c;8GB 版本的售价为 80 美元 主要特点包括&#xff1a; 2.4…

Zama的fhEVM:基于全同态加密实现的隐私智能合约

1. 引言 Zama的fhEVM定位为&#xff1a; 基于全同态加密实现的隐私智能合约 解决方案 开源代码见&#xff1a; https://github.com/zama-ai/fhevm&#xff08;TypeScript Solidity&#xff09; Zama的fhEVM协议中主要包含&#xff1a; https://github.com/zama-ai/tfhe-…

Windows11+VS2022+OCCT7.6.0安装配置记录

Windows11VS2022OCCT7.6.0安装配置记录 工具及源码准备VS2022以及CMake下载OCCT源码下载第三方库 CMake修改occt_toolkit.cmake进行CMake Visual Studio环境配置配置包含目录配置库目录配置链接器设置系统环境变量配置项目调试环境环境测试 其他方法 主要参考此文&#xff0c;在…

自然语言处理的分类

动动发财的小手&#xff0c;点个赞吧&#xff01; 简介 作为理解、生成和处理自然语言文本的有效方法&#xff0c;自然语言处理&#xff08;NLP&#xff09;的研究近年来呈现出快速传播和广泛采用。鉴于 NLP 的快速发展&#xff0c;获得该领域的概述并对其进行维护是很困难的。…

Golang 语言学习 01 包含如何快速学习一门新语言

Golang方向 区块链 go服务器端 (后台流量支撑程序) 支撑主站后台流量&#xff08;排序&#xff0c;推荐&#xff0c;搜索等&#xff09;&#xff0c;提供负载均衡&#xff0c;cache&#xff0c;容错&#xff0c;按条件分流&#xff0c;统计运行指标 (qps&#xff0c; latenc…

java飞机大战

一、 概述 1.1 项目简介 本次Java课程设计是做一个飞机大战的游戏&#xff0c;应用Swing编程&#xff0c;完成一个界面简洁流畅、游戏方式简单&#xff0c;玩起来易于上手的桌面游戏。该飞机大战项目运用的主要技术即是Swing编程中的一些窗口类库、事件监听以及贴图技术。 1…

微信小程序WebSocket实现stream流式聊天对话功能

要在微信小程序实现聊天对话功能&#xff0c;回话是流式应答&#xff0c;这里使用了WebSocket技术。WebSocket大家应该都很熟悉&#xff0c;使用wx.connectSocket就可以了。这里可能需要注意下的是流式应答&#xff0c;后端如何发送&#xff0c;前端如何接收。直接上代码&#…

【1】c++设计模式——>UML类图的画法

UML介绍 UML:unified modeling language 统一建模语言 面向对象设计主要就是使用UML类图&#xff0c;类图用于描述系统中所包含的类以及他们之间的相互关系&#xff0c;帮助人们简化对系统的理解&#xff0c;他是系统分析和设计阶段的重要产物&#xff0c;也是系统编码和测试的…

小程序 用户反馈 与 客服对话 使用说明

在开发小程序时&#xff0c;通过翻阅官方文档&#xff0c;会发现 button 的 open-type 属性有很多值可以选。因此&#xff0c;我们就可以实现相应的按钮功能。 微信开发文档-表单组件-buttonhttps://developers.weixin.qq.com/miniprogram/dev/component/button.html contact…

嵌入式学习笔记(44)S5PV210的SD卡启动实战

8.5.1任务&#xff1a;大于16KB的bin文件使用SD卡启动 (1)总体思路&#xff1a;将我们的代码分为2部分&#xff0c;第一部分BL1小于等于16KB&#xff0c;第二部分为任意大小&#xff0c;iROM代码执行完成后从SD卡启动会自动读取BL1到iRAM中执行&#xff1b;BL1执行时负责初始化…

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

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

腾讯云服务器哪个配置比较值得?

腾讯云服务器哪款配置比较好值得买&#xff1f;轻量应用服务器性价比值得买&#xff0c;轻量2核2G3M带宽95元一年、2核4G5M带宽218元一年、2核2G4M带宽三年540元一年、4核8G12M配置446元一年、8核16G18M带宽1668元15个月、16核32G28M轻量服务器3468元15个月。腾讯活动入口&…

tiny模式基本原理整合

【Tiny模式】的基本构成 M【首头在首位】 U【/】 V【HTTP/】 Host H【真实ip】 XH \r回车 \n换行 \t制表 \ 空格 一个基本的模式构成 [method] [uri] [version]\r\nHost: [host]\r\n[method] [uri] [version]\r\nHost: [host]\r\n 检测顺序 http M H XH 有些地区 XH H M 我这边…

lenovo联想台式机 拯救者 刃7000-28ICBR(90KX)原装出厂Windows10系统镜像

LENOVO联想拯救者(90KX)原厂WIN10系统 下载链接&#xff1a;https://pan.baidu.com/s/1beocPJSmnFbY4Y_ZQM2djA?pwd4d1n 系统自带所有驱动、出厂主题壁纸LOGO、Office办公软件、联想电脑管家等预装程序 所需要工具&#xff1a;16G或以上的U盘 文件格式&#xff1a;ISO 文件大…

华为云云耀云服务器L实例评测|云耀云服务器L实例部署ZFile在线网盘服务

华为云云耀云服务器L实例评测&#xff5c;云耀云服务器L实例部署ZFile在线网盘服务 一、云耀云服务器L实例介绍1.1 云耀云服务器L实例简介1.2 云耀云服务器L实例特点 二、ZFile介绍2.1 ZFile简介2.2 ZFile特点 三、本次实践介绍3.1 本次实践简介3.2 本次环境规划 四、购买华为云…

《幸福之路》罗素(读书笔记)

目录 作者简介 作者的感悟 经典摘录 一、不幸福的成因 1、一部分要归咎于社会制度 2、一部分则得归咎于个人心理——当然&#xff0c;你可以说个人心理是社会制度的产物。 二、欠缺某些想要的东西&#xff0c;是快乐的必要条件 三、无聊与刺激 四、现代人的精神疲劳 五…

word已排序好的参考文献,插入新的参考文献,序号更新

原排序好的文献序号。 现在在3号后面插入一个新文献。4&#xff0c;5号应该成为5&#xff0c;6 这时在3号后面&#xff0c;回车&#xff0c;就会自动的增长。如下图&#xff1a; 但是如果手滑&#xff0c;把[4]删除了如何排序&#xff1f;&#xff1f; 如下图&#xff1a; …

基于Java的医院药品管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…