SDSoc学习(一):使用MIO驱动LED

简介
在XILINX官网上看见了一些SDSoc的介绍视频,感觉这个工具很强大,我之前也有一点点VIVADO+HLS的学习经历,感觉会为学习SDSoc提供一些帮助,所以就尝试学习学习。

先从最基础的点亮一个LED入手,通过对官方资料的学习,惊奇的发现官方给的例程都是对算法加速,而没有一些入门例程,比如说点亮一个LED(可能是太简单了官方不屑说,也有可能是我没找到)。

我用的是ZedBoard开发板,SDSoc版本2017.4,Win10 64位系统。这个例子是我用ZedBoard开发板点亮一个直接连在MIO7上的LD9。

第一步:搭建平台
搭建平台是使用SDSoc工具开发的第一步,对于如何搭建平台,XILINX官方提供了较为详细的说明,由于SDSoc2017.4包含了ZedBoard开发板平台,而且提供的这个平台也刚好配置了MIO(如下图所示),因此这个例子就可以省去搭建平台的操作。

而且这个平台也配置了SD对应的引脚,这样就可以使用SD卡启动开发板(这些引脚设置需要参照所使用的开发板的具体硬件连接)。

第二步:新建工程
1、打开SDSoc(SDx),创建一个Application Project,点击Next。

2、设置工程名(MIO_test),点击Next。

3、选择硬件平台,这里需要根据自己的开发板的型号进行选择,因为我用的是ZedBoard开发板,所以选择zed;从图中可以看到,SDSoc2017.4只支持zc702、zc706、zcu102、zed这4中开发板(橙色符号有custom标识的是鄙人自己搭建的平台),因此如果使用的不是上述4种开发板的话,需要自己搭建平台;点击Next。

4、选择要在ARM核中运行的系统,这里选择standalone(裸机)就行了;点击Next。

5、选择一个例程,这里选择一个空应用就可以了,其他的都是比较复杂的例程;点击Finish。

6、在如下界面中注意画圈标记的位置,Generate SD card image这个选项是设置在Debug后生成一些文件,将生成的文件拷贝到SD卡中就可以直接启动,当然设置这种启动方式的前提是这个平台已经使能了SD卡对应的引脚,而且开发板也设置成了SD卡启模式(一般是通过拨码开关设置,具体要参考所使用的开发板)。

ZedBoard配置SD卡启动(白线框出的位置)

第三步:编写程序并运行
1、右击src->New->File,File name设置为MIO_test.c(要指明是.c格式文件),点击Finish。

2、在MIO_test.c中编写如下程序,然后Ctrl+s保存。

3、点击Debug(红圈所示)然后等待结束,这个过程需要等待好几分钟。

4、运行结束后,在工程目录下有个sd_card文件夹,我的路径是这样的E:\sdsoc20174\projects\MIO_test\Debug\sd_card,将这个文件夹中的4个文件拷贝到一张空SD中,再将卡插到开发板上,然后对开发板供电,就可以看见LD9闪烁了。

结束
这是一个简单的关于SDSoc的入门例子,对这个工具分析来看,其实SDSoc就是包含了VIVADO和SDK以及以后要用到的HLS,我们以前使用VIVADO搭建的硬件工程,就是现在的SDSoc中的平台;以前调用SDK编写程序,就是现在的在SDSoc中编写程序;包括以后会用到的硬件加速,就是SDSoc调用HLS,将需要加速的函数转换成IP核连接到平台通路中。了解这些对应关系将有助于我们理解掌握SDSoc。

本文转载自:CLGo的博客
*本文由作者授权转发,如需转载请联系作者本人

最新文章