zoukankan      html  css  js  c++  java
  • 使用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. 设置zcu102sd卡启动,这里可以参考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,  这样就可以看到运行结果。

  • 相关阅读:
    微信公众号开发(一)——环境搭建
    Spring中@Async-异步处理
    SSL/TLS安全评估-查看访问的网址支持哪些协议等
    SSL异常javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
    Java代码自动部署
    SQL优化技巧
    idea2019.2 svn 忽略文件问题
    Remote System Explorer Operation在eclipse后台一直跑 解决办法
    JPA project Change Event Handler问题解决
    MySQL按首字母查询
  • 原文地址:https://www.cnblogs.com/tsfh/p/9184621.html
Copyright © 2011-2022 走看看