xilinx c语言编程,使用Xilinx SDSoc在Xilinx zcu102开发板上编程HelloWorld

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

6384d2f4b5460deae85930cef2311277.png

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

tar zxvf Xilinx_SDx_2017.4_1216_1.tar.gz

cd Xilinx_SDx_2017.4_1216_1/

./xsetup

36f968fd2bd46e50ac14b94c5efc09d5.png

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

cd /opt/Xilinx/SDx/2017.4/bin

./sdx

c48fdd60ba65d1a44c582528ec012ecb.png

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

18e3eaf277976651e3c95dfcdf7d2605.png

填写项目名称和工作路径

cb2f0c9a73ed2b5c14da275e31e0bdac.png

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

6d380931ed76b48ca63e58736f90d5fd.png

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

4d6826f4e28aaa0702f70d5b86e913a2.png

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

acb40820ffbfa2eea19a9ca69ac377ab.png

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

bbb3966241758fe38da9e2a1b94b954d.png

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

#include

using namespacestd;intmain()

{

cout<< "Hello World from Xilinx zcu102." <

}

52f46f2b8b5df706691f1d1d56a6b290.png

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

ae0c83316f8d80de987120d1436e1299.png

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

f7f3239db01af87fcc5bdf6222e16d5f.png

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

0b880b4b4ca8a6400ee16d9dfa400ee5.png

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

16185404cc8c931dac47f1247035c3ae.png

来张特写

e15b82e8c74ac9d77593c44f32bfea78.png

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

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

d016781bbf457e3e1cbffed0953eaa23.png

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

abbb4c81f7cc3788d0c30deb3bfeda8d.png

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

cd /mntls -l

./firstSDXProject.elf

0644a9c79ae57733e8dd49bcb5a4c7fc.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/245254.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python画图小猪佩奇_吊炸天!Python 20秒画出小猪佩奇

原标题&#xff1a;吊炸天&#xff01;Python 20秒画出小猪佩奇 今年社交平台上的带货女王是谁?范冰冰?杨幂?Angelababy?不&#xff0c;是猪猪女孩小猪佩奇。 小猪佩奇在构图基本是各种曲线&#xff0c;类抛物线、类圆、类椭圆、类二次贝塞尔曲线。因为画图画曲线不是Pytho…

win10c语言错误,win10打开程序提示错误状态0xc0000020的原因和解决方法

win10系统打开程序弹出“c:\xx\xxx.dll没有被指定在windows上运行&#xff0c;或者它包含错误。请尝试使用原始安装介质重新安装程序&#xff0c;或联系你的系统管理员或软件供应商以获取支持。错误状态0xc0000020 ”的提示&#xff0c;这到底是什么情况&#xff1f;这 一般是由…

matlab 向量_Matlab基础入门

感谢大家观看你所做的事情,也行暂时看不到成功,但不要灰心,你并不是没有成长,而是在扎根.前情提要本篇文章将会分多次发放(原因内容太长,导致写的是否微信卡崩了&#x1f643;), 目的在于从基础的Matlab的教程开始慢慢的深入. 如果大家看到该文章有些格式上的错误或内容上的错误…

python环境配置opencv_【Python】python2.7 安装配置OpenCV2

原博文 2017-05-23 22:28 − 环境&#xff1a;Ubuntu16.04 anaconda Python2.7 opencv2.4.13 安装opencv后 import cv2 遇到错误信息&#xff1a; No module named cv2 安装opencv时make的过程中会出现文件“cv2.so”&#xff0c;它是连接OpenCV和... 相关推荐 2019-12-04 13:5…

流水灯c语言程序延时失败,用c8051f340做控制流水灯实验,程序会卡死在延时函数中 ,只要在那加延时函数程序就只能跑到那,代码如下...

满意答案lohboon2016.07.31采纳率&#xff1a;52% 等级&#xff1a;7已帮助&#xff1a;1159人#include "reg52.h"#define uint unsigned int#define uchar unsigned charsbit K1 P3^2; //独立按键void Delayms(uint x){ uint i,j; for(ix;i>0;i--) for(j100;…

android自定义view生命周期,android基础之自定义view

一、Custom View1、view的继承关系view继承关系.png2、Android 如何绘制试图层次当activity获取焦点时&#xff0c;它必须提供layout层次的根节点&#xff0c;然后android 系统开始视图的绘制过程。绘制是从layout的根节点开始的&#xff0c;按照从上往下的顺序&#xff0c;父元…

python import如何使用_Python如何import其它.py文件及其函数

​ 如上图所示&#xff0c;我想在test_1.py文件中import我在lstm_1.py中定义的LstmParam和 LstmNetwork。我直接采用的是最简单的引用方法&#xff1a;from lstm_1 import LstmParam, LstmNetwork&#xff0c;但是很明显报错了&#xff0c;不能直接这样引用。因为&#xff0c;编…

艾为数字ic面试题_每日学习:数字后端面试100问(2019全新版)

关注并标星大同学吧每天1次&#xff0c;打卡学习积累1个新知识&#xff0c;增1分职场底气作者称谓&#xff1a;Tao涛个人介绍&#xff1a;摸爬滚打多年的数字后端工程师微信公众号&#xff1a;数字后端IC芯片设计半导体知识分享第29期技能升级&#xff0c;从这里开始最近项目刚…

not null primary key什么意思_explain都不会用,你还好意思说精通Mysql查询优化?

Explain简介Explain关键字是Mysql中sql优化的常用「关键字」&#xff0c;通常都会使用Explain来「查看sql的执行计划&#xff0c;而不用执行sql」&#xff0c;从而快速的找出sql的问题所在。在讲解Explain之前首先创建需要的「用户表user、角色表role、以及用户角色关系表role_…

docker always_Ubuntu+Docker+STF环境搭建

Ubuntu提前先安装配置好 Ubuntu server 14.04.5参考资料&#xff1a;Ubuntu 16.04 Server 版安装过程图文详解Dcoker安装Ubuntu 14.04/16.04 (使用apt-get进行安装)安装最新版本# step 1: 安装必要的一些系统工具安装指定版本# 安装指定版本的Docker-CE:安装校验rootubuntu:/ho…

导入obj_3D模型obj文件格式详解

3d打印机导入三维模型通常都是obj格式&#xff0c;下面我们来看一下这种文件的格式。为我们进行产品开发提供技术基础储备。obj格式有4种数据&#xff0c;分别以一下字母开头&#xff1a;v顶点vt纹理坐标vn顶点法向量f 面一、顶点格式&#xff1a;v x y z意义&#xff1a;每个顶…

import java.io 包下载_Go 包管理机制深入分析

前言随着 Go 语言的深入使用&#xff0c;其依赖管理机制也一直是各位 Gopher 热衷于探讨的话题。Go 语言的源码依赖可通过 go get 命令来获取&#xff0c;但自动化程度不高&#xff0c;于是官方提供了 Dep 这样的自动化批量管理依赖的工具。虽然 Go 语言的依赖管理在很多方面还…

android进出动画有白屏,Android启动白屏原因及解决方案

如果大家碰到了这个问题&#xff0c;相信刚开始大家都是很委屈的吧&#xff0c;心里想&#xff1a;我什么都没干啊&#xff0c;就写了个setContentView就要背锅了&#xff1f;如果已经遇到了&#xff0c;不要方&#xff0c;这里给大家提供几个解决方案&#xff0c;我们APP在启动…

jenkins 插件目录_三十二张图告诉你如何用Jenkins构建SpringBoot

目录前言如何安装Jenkins&#xff1f;环境准备开始安装Jenkins初始化配置访问首页输入管理员密码安装插件创建管理员实例配置配置完成构建Spring Boot 项目配置JDK、maven、Git环境安装插件添加 SSH Server添加凭据新建Maven项目构建任务如何构建托管在GitLab的项目&#xff1f…

filter过滤后重新添加_每天记一个单词(第3518)filter

filter /ˈfɪltər/ n. 过滤器&#xff1b;点击音频收听跟读 ↓↓↓↓↓↓(中慢速带读)(音频不显示请关闭头条app后台重新打开或者更新最新版本)英英解释:something that you pass water, air etc through in order to remove unwanted substances and make it clean or suita…

openwrt dhcp 无法获取ip_如何安装Openwrt软路由系统并配置正常使用

本篇文章教大家如何安装Openwrt软路由系统并配置正常使用。首先我们需要能用来当作软路由的主板&#xff0c;主板要至少需要2个千兆网口&#xff0c;一个用作Wan,其他用作Lan.我这边用到的是ASUS-N3050I-CM-A,这块主板拥有两个千兆网口&#xff0c;搭载了功耗仅6w的n3050 CPU,非…

android opencv 获取小图在大图的坐标_Android开发—基于OpenCV实现相机实时图像识别跟踪...

利用OpenCV实现实时图像识别和图像跟踪图像识别什么是图像识别图像识别&#xff0c;是指利用计算机对图像进行处理、分析和理解&#xff0c;以识别各种不同模式的目标和对像的技术。根据观测到的图像&#xff0c;对其中的物体分辨其类别&#xff0c;做出有意义的判断。利用现代…

三菱a系列motion软体_三菱M70A/64SM重要功能比较

三菱M70A/64SM重要功能比较M70A特有功能&#xff0c;64SM无法作到的功能往 期 精 选 1>三菱M70系统全清操作步骤2>三菱M70系统 程序传输操作步骤3>三菱M70分中对刀操作步骤4>三菱M70设置加工条件选择 介绍5>三菱M70系统 原点设定方法6>三菱M70/M700 用户参数…

centos 卸载_CentOS「linux」学习笔记12:磁盘管理、分区挂载卸载操作

linux基础操作&#xff1a;主要介绍了磁盘管理、分区挂载卸载操作。特别说明linux中磁盘表现形式:IDE硬盘在linux中表示方式为"hdx"。SCSI硬盘在linux中表示方式为"sdx"。这里的x代表磁盘号[a代表基本主磁盘(主盘)对应数字表示&#xff1a;1&#xff0c;b代…

html制作翻页效果代码,使用原生JS实现滚轮翻页效果的示例代码

一、滚轮事件当用户通过鼠标滚轮与页面交互、在垂直方向上滚动页面时&#xff0c;就会触发mousewheel事件&#xff0c;这个事件就是实现全屏切换效果需要用到的。在IE6, IE7, IE8, Opera 10, Safari 5中&#xff0c;都提供了 “mousewheel” 事件&#xff0c;而 Firefox 3.5 中…