在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。
挖掘中国方言语音数据的重要性与应用
高通二代骁龙8来了:峰值性能盖过苹果A16,15家预定首发华为缺席
欣锐科技与安森美共建联合实验室,推动SiC在新能源车领域应用
从别的设备上拆下的工控电脑主板可以使用吗?
Linux中如何用vim做golang开发环境
关于SDSoc学习之使用MIO驱动LED的性能分析
传三星、SK海力士将获美国首肯,无限期豁免对华出口管制
基于瑞萨RX62T低压电机控制评估系统实现矢量控制
ZVS1和ZVS2各有哪些优缺点,如何选择?
专业选择 佳能PowerShot G1 X Mark III开箱
卫星移动通信三大关键技术简介
美国计划开发独立微机器人,用于自然灾害特种任务
单相滤波器的基本工作原理是怎样的?它一般用在电路的什么位置?
7nm 来了! Xilinx宣布与TSMC开展7nm工艺合作
SK海力士正式发布2021年企业社会责任报告
jdbc注册驱动的三种方式
剖析编码器的工作原理及高速计数器程序编写
端子机的工作原理是什么?端子机使用前检测要注意哪些?
5G时代下安防机器人将打开新的想象空间
SystemVerilog 中各种不同的联合解析