关于Xilinx SDSoc的介绍我就不再复述了,我理解的也不一定准确,可以阅读官方文档了解SDSoc,你可以把它理解为一个集成开发环境 (IDE),通过SDSoc我们能够简单快速的对Xilinx的开发板进行编程,不用像传统的嵌入式编程那样,需要配置嵌入式开发环境,交叉编译链,有时还得去移植Linux到开发板上,而这些繁琐的工作SDSoc都替你做了,相比较传统SoC设计流程,SDSoC通过自动生成硬件连接和软件驱动程序大大简化了Zynq SoC和MPSoC的开发过程,现在开发人员不需要深层次的了解底层指令就能进行嵌入式开发,这无疑是开发人员的一大利器。

1. 第一步就是安装Xilinx SDx, 我安装的是2017.4版本 Xilinx_SDx_2017.4_1216_1.tar.gz 点击下载

解压后执行./xsetup就可以安装, 请注意安装目录需要有能够写入的权限(或者 sudo ./xsetup):

tar zxvf Xilinx_SDx_2017.4_1216_1.tar.gz

cd Xilinx_SDx_2017.4_1216_1/

./xsetup

安装完成后会弹出一个license管理的界面,选择左边的load license,选择你本地的license文件,加载好了就可以关闭了,接着进入安装时选定的安装目录(我的是: /opt/Xilinx), 启动sdx:

cd  /opt/Xilinx/SDx/2017.4/bin

./sdx

2.创建一个SDx工程, SDx界面的左上角,点击File -> New -> SDx Project

填写项目名称和工作路径

选择开发板型号,我这里是zcu102

这一页的属性不用修改,默认就可以

选择工程的类型,xinlinx给出了一些模板,这里选择Empty Applicaton,点击finish完成。

3. 为我们的程序添加一个源代码文件,左边的project视图里面,鼠标移动到src的目录上点击右键New -> File

在helloworld.cpp里面写上那段延续了几十年的古老的代码

#include <iostream>
using namespace std; int main()
{
cout << "Hello World from Xilinx zcu102." << endl; return ;
}

4. 编译源代码,点击SDx上方的build图标,图标旁边的三角形可以下拉选择Debug/Release,我这里选择的Release

build完成后project视图会多出来一个Release的文件夹(若果你选择的Debug,那就会多出来一个Debug的文件夹)。我们需要把sd_card文件夹里面的所有文件全部复制到sd卡上(事先格式化为fat32格式)

现在sd卡里面的文件是这样的

5. 设置zcu102从sd卡启动,这里可以参考zcu102的快速指南手册,主要就是SW6的4个开关一定要拨正确

来张特写

6.连接上串口,串口线和android数据线一样的那两根都连接到电脑就可以了,其中靠近网卡的那根就是串口,如果分不清楚就都连上电脑,电脑上打开串口工具,我用的SecureCRT,linux下一定要注意用sudo 权限打开,win7下不用。

图中的 /dev/ttyUSB0 可能数字 0 会和你的不一致,你可以逐个试一下,其他参数分别为Serial , 115200 ,  8 ,  none  , 1  都是下拉选择的,应该不会选错。

这样就能看到启动信息了,在串口通信的终端打印出来的

7.运行我们的程序,默认情况下你的sd卡会被挂载到/mnt 目录,所以进入/mnt目录就可以执行我们生成的firstSDXProject.elf文件

cd /mnt

ls -l

./firstSDXProject.elf

ok,  这样就可以看到运行结果。

使用Xilinx SDSoc在Xilinx zcu102开发板上编程HelloWorld的更多相关文章

  1. [转载]在iTOP-4412开发板上调试helloworld应用

    本文转自迅为论坛:http://www.topeetboard.com 1.安装ADB驱动 在开发板上调试 Android 应用,首先要安装 ADB 驱动. 通过“SDK Manager.exe”来安 ...

  2. easycwmp在开发板上的配置

    原创作品,转载请注明出处 copyright:weishusheng   2015.3.18 email:642613208@qq.com 平台: Linux version 2.6.32-279.e ...

  3. FS210开发板上Qt4.7.0移植过程

    作者:冯老师,华清远见嵌入式学院讲师. 1. 搭建Qt开发环境平台 1.开发环境:ubuntu 12.04 2.交叉编译链:arm-cortex_a8-linux-gnueabi 3.开发板:FS21 ...

  4. 开发板上使用core文件调试

    转载:http://www.nginx.cn/1521.html 如果开发板的操作系统也是linux,core调试方法依然适用.如果开发板上不支持gdb,可将开发板的环境(依赖库).可执行文件和cor ...

  5. DE1-SOC开发板上搭建NIOS II处理器运行UCOS II

    DE1-SOC开发板上搭建NIOS II处理器运行UCOS II   今天在DE1-SOC的开发板上搭建NIOS II软核运行了UCOS II,整个开发过程比较繁琐,稍微有一步做的不对,就会导致整个过 ...

  6. 物联网操作系统HelloX已成功移植到MinnowBoard MAX开发板上

    在HelloX开发团队的努力下,以及Winzent Tech公司(总部在瑞典斯德哥尔摩)的支持下,HelloX最新版本V1.78已成功移植到MinnowBoard MAX开发板上.相关源代码已经发布到 ...

  7. ZTE AD3812 3G模块在linux 2.6.34 内核的开发板上的支持方法

    先说段废话,话说在linux 2.6.34 下,好多比较新的3G网卡及3G模块都没有很好的支持.如果想支持的这些3G网卡/3G模块呢,基本上有两种方式: 1.使用该3G模块的 linux 下的驱动,交 ...

  8. 运行在TQ2440开发板上以及X86平台上的linux内核编译

    一.运行在TQ2440开发板上的linux内核编译 1.获取源码并解压 直接使用天嵌移植好的“linux-2.6.30.4_20100531.tar.bz2”源码包. 解压(天嵌默认解压到/opt/E ...

  9. 【Android 系统开发】 编译 Android文件系统 u-boot 内核 并烧写到 OK-6410A 开发板上

    博客地址 : http://blog.csdn.net/shulianghan/article/details/40299813  本篇文章中用到的工具源码下载 : -- ok-6410A 附带的 A ...

随机推荐

  1. runsv

    runsv(8) manual page http://smarden.org/runit/runsv.8.html Name runsv - starts and monitors a servic ...

  2. mysql随机查询

    select * from table as t1 join (select round(rand() * ((select max(id) from table)-(select min(id) f ...

  3. Error: Failed to fetch plugin E:_My_File______workMyCodemyCodecordova-workspaceplugman-testMyMath via registry. Probably this is either a connection problem, or plugin spec is incorrect.

    $ cordova plugin add E:\_My_File_____\_work\MyCode\myCode\cordova-workspace\plugman-test\MyMath --sa ...

  4. 最新App Store审核指南与10大被拒理由

    最近,苹果在官网给出了截至2015年2月份应用被拒绝的十大理由,其中50%以上的应用被拒绝都是因为这10个原因,其中7个理由和2014年相同,其中排名前三的原因分别是:需要补充更多信息.存在明显的bu ...

  5. LightOJ - 1284 Lights inside 3D Grid —— 期望

    题目链接:https://vjudge.net/problem/LightOJ-1284 1284 - Lights inside 3D Grid    PDF (English) Statistic ...

  6. 【LeetCode】两个有序数组合成一个有序数组

    a = [1,3,5,7,9]b = [2,4,6,8,10]c= [] while len(a) > 0: if len(b) == 0: c.extend(a) break min_num ...

  7. Spring Boot2.0之整合log4j

    传统方式打印日志比较复杂, 每次打印需要定义全局变量 private static final Logger logger = LoggerFactory.getLogger(SjpControlle ...

  8. 9.2 NOIP提高组试题精解(1)

    9-16 poise.c #include <stdio.h> #define MAXN 1001 int main() { ], flag[MAXN] = { }; //保存6种砝码的数 ...

  9. python列表推导式的if-else

    a=[i for i in range(10) if i%2==0]print(a)a=[i if i%2==0 else 'qi' for i in range(10)]print(a) 结果:[0 ...

  10. CSS3实现自定义Checkbox动画

    CSS3实现自定义Checkbox动画是一款CSS3自定义checkbox,而且这款checkbox还带有动画效果,当你选中checkbox的时候,会以动画的方式打上一个大大的勾. 源码下载:http ...