0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

结合vivado的sdk开发工具记录

FPGA之家 来源:CSDN 作者:CSDN 2022-07-05 10:10 次阅读

1.简述

使用像ZYNQ这样的SOC架构的FPGA,开发难度比较大的,能熟练开发FPGA已经很难了,ZYNQ需要硬件逻辑开发,然后还要开发ARM。在学校使用ZYNQ一年多的时间里了,断断续续用ZYNQ做了很多项目,总的使用体验就是:很爽,同时也很酸爽。今天专门记一下c/c++ 的指针,这也不难,就是容易迷糊,一周不写c代码,指针就不会用了,每次都要花点时间重新捡起来,为了提高效率,还是总结一下,结合vivado 的sdk开发工具记录。

2.正文

1)准备

vivado搭建一个简单PS 的工程(记得勾选uart),生成bit,导出硬件,启动sdk,新建helloworld的工程就行。然后跑一下,看串口是否能打印helloworld。如果可以,这就成功搭建工程了。

2)开始

(1)进入debug模式,页面如下,黄框是现在代码运行的位置,我们要点击红框中的按钮进行单步调试(这个对熟悉单片机或者arm开发的来说很熟悉),我们简单在hello world源码上简单添加蓝框中的代码。可以看到粉红框中有变量的信息,现在的值是不对的,因为data那行代码还没运行,点击红框,值就会变成我们代码赋的值。

ab65e8d4-fbfb-11ec-ba43-dac502259ad0.png

(2)点击后,可以看到data值变了,这是十进制的数,可以用计算器转成16进制数,是一样的。把鼠标放到data上面会显示data信息,可以知道data地址,如红框中的。在右下角,点击进入memory ,点击加号,填入data的地址,就可以知道现在data在memory中的值了。这些是sdk简单调试技巧。

ab76a5ac-fbfb-11ec-ba43-dac502259ad0.png

(3)添加如下指针代码,运行,查看memory中0x01000000地址中的值,因为是char型,是一个字节,arm都是32位的,所以这个数据占低8位,数值正确。

ab8781d8-fbfb-11ec-ba43-dac502259ad0.png

(4)把鼠标放到srcDPtr上,如下图显示信息。他的值是0x01000000,而他的地址是0x10c020,这儿还是挺疑惑的。可以这么理解,我们给srcDPtr赋0x01000000,这是srcDPtr是变量,那么也应该有对应的memory地址。这儿就可以完全理解指针了,指针变量的值是对应地址的值,指针变量的值本身也需要memory存储,所以他也有地址。挺绕的,所以隔几天不写c代码,看着容易懵。

ab9bbd74-fbfb-11ec-ba43-dac502259ad0.png

(5)添加如下代码,按之前方法求证。

abae4a16-fbfb-11ec-ba43-dac502259ad0.png

3.总结

学习过程很漫长,现在回首一看,原来自己走了这么远了,望向远方,继续前进!!!

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21664

    浏览量

    601727
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1026

    浏览量

    45766
  • Vivado
    +关注

    关注

    19

    文章

    808

    浏览量

    66315
收藏 人收藏

    评论

    相关推荐

    云计算开发工具包括什么

    云计算开发工具种类繁多,包括IDE、虚拟化软件、容器化平台、自动化部署工具和云平台等。
    的头像 发表于 11-22 10:11 45次阅读

    支持C2000的开发工具版本

    电子发烧友网站提供《支持C2000的开发工具版本.pdf》资料免费下载
    发表于 10-10 11:06 0次下载
    支持C2000的<b class='flag-5'>开发工具</b>版本

    瑞星微刷机工具开发工具

    瑞星微刷机工具开发工具
    发表于 10-09 11:14 0次下载

    字节跳动发布豆包MarsCo智能开发工具

    在数字时代的浪潮中,编程已成为推动科技进步和创新的核心动力。为了助力国内开发者更高效、智能地进行编程工作,字节跳动公司近日发布了全新的智能开发工具——豆包 MarsCode。这款工具基于强大的豆包大模型打造,全面免费开放使用,旨
    的头像 发表于 07-01 15:03 646次阅读

    涂鸦App开发工具App SDK

    联网移动应用(IoTApp)开发打造的一系列SDK,为开发者提供了丰富的组件和示例代码,可以快速实现移动App对智能设备的连接、控制以及丰富的智能场景应用。今天要为
    的头像 发表于 05-24 08:15 725次阅读
    涂鸦App<b class='flag-5'>开发工具</b>App <b class='flag-5'>SDK</b>

    Diamond开发工具使用说明

    Diamond开发工具使用说明
    发表于 05-23 09:14 0次下载

    哪个STM8的开发工具最好用,最便捷?

    最近两天刚开始搞STM8,本以为用过STM32之后,STM8应该很容易的。没想到两天就栽在STM8的开发工具里了,俺实在是才疏学浅,觉得STM8的开发工具实在是太难用了,跟keil简直是天壤之别。现发起投票,看一下大家的感受,都一起分享讨论一下。
    发表于 05-15 08:11

    瑞萨Smart Configurator支持SEGGER集成开发工具

    SEGGER与瑞萨电子(Renesas Electronics)近日宣布达成重要合作,SEGGER的集成开发工具Embedded Studio现已无缝融入瑞萨电子的Smart
    的头像 发表于 05-10 14:25 685次阅读

    STM32WLE5使用什么开发工具

    我准备使用STM32WLE5,请教一下使用什么开发工具?STLINK-V2可以吗?
    发表于 03-14 07:00

    芯圣SDK工具,让开发更方便——SDK-HC89S105A

    SDK-HC89S105A是基于HC89S105A设计的快速开发工具SDK-HC89S105A由HC89S105A微控制器的主控板和HC-LINKV4.0仿真烧录器两部分组成。用户只需使用此
    的头像 发表于 01-17 09:42 521次阅读
    芯圣<b class='flag-5'>SDK</b><b class='flag-5'>工具</b>,让<b class='flag-5'>开发</b>更方便——<b class='flag-5'>SDK</b>-HC89S105A

    芯圣SDK工具开发更方便——HC89S103K6

    SDK-HC89S103K6是基于HC89S103K6设计的快速开发工具SDK-HC89S103K6由HC89S103K6微控制器的主控板和HC-LINKV4.0仿真烧录器两部分组成。用户只需
    的头像 发表于 01-10 10:33 465次阅读
    芯圣<b class='flag-5'>SDK</b><b class='flag-5'>工具</b> 让<b class='flag-5'>开发</b>更方便——HC89S103K6

    芯圣SDK工具----SDK-HC89S003A

    SDK-HC89S003A是基于HC89S003A设计的快速开发工具SDK-HC89S003A由HC89S003A微控制器的主控板和HC-LINKV4.0仿真烧录器两部分组成。用户只需使用此
    的头像 发表于 01-05 10:16 528次阅读
    芯圣<b class='flag-5'>SDK</b><b class='flag-5'>工具</b>----<b class='flag-5'>SDK</b>-HC89S003A

    配置Ubuntu系统环境和安装的开发工具

    安装好Ubuntu系统环境后,开发前需要简单配置Ubuntu系统环境以及安装一些必备的开发工具
    的头像 发表于 12-22 13:32 1694次阅读
    配置Ubuntu系统环境和安装的<b class='flag-5'>开发工具</b>

    图形界面开发工具GUI Guider的使用教程

    GUI Guider是NXP推出的一款功能强大且对用户非常友好的图形界面开发工具。目前最新版本是1.6.1。
    的头像 发表于 12-20 09:49 1.7w次阅读
    图形界面<b class='flag-5'>开发工具</b>GUI Guider的使用教程

    CCES和VDSP开发工具有什么不同?哪个易于操作?

    我选用的21489做音频操作,但是我是一名新手,需要学习一个开发工具,我想问各位这两个开发工具CCES和VDSP++到底有什么区别,如何选用?因为还有一系列的后续开发,各位可建议采用哪个开发工
    发表于 11-30 06:59