首页 > 其他分享 >ZYNQ:从SDK到Vitis(二):工程开发中的一些差异

ZYNQ:从SDK到Vitis(二):工程开发中的一些差异

时间:2022-11-03 16:22:17浏览次数:73  
标签:工程 单击 文件夹 Vitis 右键 ZYNQ SDK

一、官方示例代码的导入

        在SDK中,开发人员导出硬件平台,启动SDK,创建相应的应用工程后,在project explorer会产生一个板级支持包文件夹,双击里面的system.mss文件可以看到里面提供了一些外设驱动的文档和示例,包括了所有你在硬件设计时用到了的外设。

        而在Vitis当中,情况将有所不同。

        首先,当开发人员导出硬件平台,启动Vitis后,需要手动创建平台工程(Platform project),在平台工程里你会发现一个名为platform.spr的文件,双击它,会出现如下画面:

        之后再单击standalone on ps7_cortexa9_0下的Board Support Package,会出现外设驱动的文档和示例,如下图所示:

 二、工程的构建

        在SDK中,构建工程的一般操作为单击选中应用工程(Application Project),然后右键选择Build Project ,或者单击上方按钮

         而在Vitis中,创建完成一个应用工程后会同时创建一个系统工程(System Project),对应用工程和系统工程进行Build会产生不同的效果,主要差异个人认为在程序固化方面。构建的操作方式与SDK相同。

        对应用工程进行Build不会产生固化文件,即BOOT.BIN文件,但会产生ELF文件,可用于带电下载和调试。构建后的结果如下:

        对系统工程进行build时,首先它会对应用工程进行build,之后再生成BOOT.BIN文件用于程序固化。构建后的结果如下:

         同时在控制台上会打印出如下信息,表示其在完成应用工程构建后的额外操作:

         此外,右键系统工程,单击Create Boot Image,会出现如下画面:

        你没看错,软件已经帮你完成了所有文件的选择、添加工作,通常来说你只需要点击Create Image就可以生成镜像文件,如果有其他需求可以在此基础上修改。完成此步操作后的结果如下所示:

         会生成一个叫_ide的文件夹和一个叫bootimage的子文件夹,里面包括了启动镜像文件。

三、下载与调试

        在SDK中,全编译工程后,右键单击应用工程文件夹 -> Run As -> Launch on Hardware , 即可将程序在线下载进ZYNQ中,如需在线调试,可选择Debug As -> Launch on Hardware

        在Vitis中类似,既可以右键单击系统工程也可以右键单击应用工程,选择Run As -> Launch on Hardware或者Debug As -> Launch on Hardware

四、固化

       如果需要固化程序,首先在系统硬件设计时就需要选中SPI外设或者SDcard外设,在板级支持包设置中选中xilffs以使用FAT文件系统,调整板子启动模式设置使板子可以从外部FLASH或SDcard中启动。

        在SDK中,首先需要创建FSBL工程,生成FSBL.elf文件,然后创建启动镜像,最后将生成的BOOT.bin文件拷贝进SDcard或者Xilinx->Program Flash将程序固化到FLASH中。

        需要注意的是,FLASH方式需要先将板子启动模式设置为JTAG模式,然后将程序固化进FLASH中,最后再将启动模式设置为FLASH启动模式。

        在Vitis中,对系统工程全编译后,会在系统工程文件夹下 -> Debug文件夹下生成BOOT.bin文件。右键系统工程,单击Create Boot Image,生成镜像文件,此后在系统工程文件夹下 -> _ide文件夹 -> bootimage文件夹下也会有一个一样的BOOT.bin文件。选择任意一个BOOT.bin文件,将文件存入SDcard或者FLASH即可,这步操作与SDK中一样。

标签:工程,单击,文件夹,Vitis,右键,ZYNQ,SDK
From: https://www.cnblogs.com/amxiang/p/16854839.html

相关文章

  • MX6U的模仿STM32及SDK移植的部分知识
    模仿STM32驱动开发格式知识点:类似于STM32工程文件中的部分头文件,设置好所有需要用到的寄存器地址,定义结构体变量,通过结构体指针访问寄存器,从而实现控制效果。这里截取文......
  • EasyCVR视频融合平台添加萤石云SDK接入的设计与开发流程
    我们在前期的文章中介绍过关于EasyCVR近期新增了多个功能,包括SDK接入方式的拓展。经过一段时间的设计、开发与测试,EasyCVR平台已经支持稳定接入华为SDK、宇视SDK、乐橙SDK......
  • Mac下安装配置SDK
    此处仅为Mac+Appium学习记录,需要配置JDK和SDK环境,这里主要记录一下macPRO下安装和配置androidsdk的步骤。安装好brew后,通过以下命令进行sdk的安装brewinstallandroid......
  • Android开发 对接微信分享SDK总结
    原文:Android开发对接微信分享SDK总结-Stars-One的杂货小窝公司项目需要对接微信分享,本来之前准备对接友盟分享的,但友盟的分享实际参数太多,而我又只需要对接一个微信......
  • 新技术迭代下的美颜SDK正迎来新的“风口”
    网络直播相信大家都看过,特别是近几年短视频爆火之后,直播的热度更上一层,变得更加炙手可热。总体而言,直播行业的爆火是基于时代的需求和互联网的爆火,在很久之前人们的主流娱乐......
  • EasyCVR平台基于萤石云SDK接入的设备播放流程及接口调用
    EasyCVR视频融合云服务支持海量视频汇聚与管理、处理与分发、智能分析等视频能力,在功能上,可支持视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、服......
  • EasyCVR视频融合平台添加萤石云SDK接入的设计与开发流程
    我们在前期的文章中介绍过关于EasyCVR近期新增了多个功能,包括SDK接入方式的拓展。经过一段时间的设计、开发与测试,EasyCVR平台已经支持稳定接入华为SDK、宇视SDK、乐橙SDK、......
  • Unity3D :Mob SMSSDK 运行崩溃
    报错信息android.content.ActivityNotFoundException:Unabletofindexplicitactivityclass{com.shuiying.smsm09061/com.mob.tools.MobUIShell};haveyoudeclaredt......
  • [I.MX6UL]官方 SDK 移植实验
    我们参考ST官方给STM32编写的stm32f10x.h来自行编写I.MX6U的寄存器定义文件。自己编写这些寄存器定义不仅费时费力,没有任何意义,而且很容易写错,幸好NXP官方为I.MX6U......
  • 如何使用容联SDK,以及如何使用回调简单示例
    一、容联SDK如何使用A、收费标准(公有云走网络的都是免费的)     语音会议提供一个房间最大支持32方     视频会议提供一个房间最大支持30方(免费的弊......