使用Xilinx SDSoc在Xilinx zcu102开发板上编程HelloWorld
关于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 0; }
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, 这样就可以看到运行结果。
posted on 2018-06-14 19:24 sakuragl 阅读(10256) 评论(8) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架