在FPGA的嵌入式开发的时候,在2018版本以前是vivado结合sdk开发的,那么在高版本的vivado是结合vitis开发的,那么如何使用vitis开发以前sdk工程呢?以下是本人探索的一些经验。以正点原子V2领航者7010开发版为例,工程使用ov5640的lcd显示例程。

本人推荐强烈方式二,方式一还是麻烦了点。

方式一:从vitis的入口eclipse workplace or zip file

1.1:导入sdk工程到vitis中的步骤

(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头文件路径找不到啥的

1.2:怎么解决出现的问题

       方法一:缺少啥就补啥。

 

这些头文件都在没能导入的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。

然后编译就可以啦!!就不会显示缺少头文件啦!

方式二:重新创建一个新的应用工程,然后导入主要的文件比如main文件和其他需要的文件

(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和嵌入式的知识,如果有补充的,可以直接评论区留言就可以了。希望可以和各位大佬继续交流交流,争取早日成为大佬。

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐