SDSoc学习:使用MIO驱动LED

Posted 朽月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。



以上是关于SDSoc学习:使用MIO驱动LED的主要内容,如果未能解决你的问题,请参考以下文章

大功率和小功率LED的驱动电压和驱动电流各是 多少

SDSoC使用体验

《驱动学习 - LED驱动程序

Linux嵌入式驱动学习之路⑩字符设备驱动-my_led

驱动学习5: zynq实现点亮led

Android深度探索(卷1)HAL与驱动开发学习笔记