赞
踩
在FPGA的嵌入式开发的时候,在2018版本以前是vivado结合sdk开发的,那么在高版本的vivado是结合vitis开发的,那么如何使用vitis开发以前sdk工程呢?以下是本人探索的一些经验。以正点原子V2领航者7010开发版为例,工程使用ov5640的lcd显示例程。
(1)直接打开vivado工程,本人使用的是vivado2021版本的,进去会提示IP核更新啥的,直接更新便可。更新完ip核之后就可以直接launch vitis IDE
(2)选择vitis保存的工作区路径,本人习惯放在工程的文件夹下,然后点击launch
(3)选择导入SDK工程的方式(第二个选项)点击Next
(4)按照步骤首选Browse选择浏览路径,选择SDK的文件夹,然后点击选择文件夹
(5)然后如图所示,点击finish导入。
(6)他会提示这样的报错:问题不大,就是某些部分无法迁移之类的,度娘给了一些回答
(7)在vitis底下的目录里面,就会发现有错误日志,可以看到主要是“ov5640_lcd_bsp”这个导入不进来。
(8)如果忽略不管的话,直接built就会一些error,比如一些.h头文件路径找不到啥的
方法一:缺少啥就补啥。
这些头文件都在没能导入的BSP文件夹里面,我们添加即可。
(步骤看图)
导入之后,我们看到没有解决所有的错误,比如VDMA的.c文件还是缺少.h头文件,我们打开VDMA所在的文件夹发现确实是一些头文件,那么继续补上所缺少的即可。
把缺少的头文件添加到VDMA的文件夹下就可以了,缺少的头文件在导入的include夹里面可以找到。
然后发现导入的那三个头文件的具体代码中,也包括其他头文件,也缺少了。如下图所示,跟套娃一样…
那最后可能加上一大堆头文件在里面才能run起来,如下图按需要添加头文件。
那么有没有省力省心的方法呢?当然是有的
比如:在include添加路径。
有小伙伴已经发现,明明整个文件夹都丢进去了,为什么还要添加重复的头文件,费时费力。那么如何只导入一次就好了呢。
其实细心发现,本来includes中的E:/…bsp/…/include是灰色的,这个路径是不能用的,我也不清楚是什么原因。
我把原本的bsp下面的include文件夹复制到导入vitis的工作环境下。如下图,先复制文件夹。
放在新的vitis工作环境中,如下图:
记住你放的位置,然后开始在vitis中导入路径。
下图是我刚把sdk导入到vitis之后,选择右键文件夹,并如图选择最后那个选项:
步骤如下图:
步骤如下图:然后选择OK。
然后选择OK
然后选择apply and close。
然后编译就可以啦!!就不会显示缺少头文件啦!
(1)直接打开vivado工程,本人使用的是vivado2021版本的,进去会提示IP核更新啥的,直接更新便可。更新完ip核之后就可以直接launch vitis IDE
(2)选择vitis保存的工作区路径,本人习惯放在工程的文件夹下,然后点击launch
(3)创建一个新的application工程应用
(4)选择硬件的XSA工程文件,这个可以从vivado生成。如下图,然后就可以选择XSA文件了。
如下图,选择打开,然后点击NEXT。
(5)输入你的工程名字比如“ov5640_test”,然后点击Next
(6)点击next
(7)选择空的应用工程,C语言。你的sdk如果是c++也可以选择c++的选项。然后点击finish。
(8)可以看到主页面长这样:
(9)我们把sdk的文件夹下的主要文件搬迁到新的vitis的文件夹下:
(10)把sdk下的src文件夹复制到vitis的src文件夹下:
直接替换就好,本来建立的空的application应用就没什么
(11)替换后的页面张这样,不需要重新打开,他会实时更新的。然后选择build,跑完没error结束这次迁移啦,比如下图生成了elf文件,build finish就可以了。
用方式二可以省略很多事情,不过方式一是我在摸索的过程,所以也在这里记录我的探索过程。这个就是一点小东西,本人还在慢慢学习FPGA和嵌入式的知识,如果有补充的,可以直接评论区留言就可以了。希望可以和各位大佬继续交流交流,争取早日成为大佬。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。