365bet最稳定网址-365bet官网注册开户-77365bet体育在线投注

Vivado之SDK使用(1)

Vivado之SDK使用(1)

第一次用SDK,记录一下遇到的问题。

system_wrapper_hw_platform_0

第二节,zynq新建工程,调试及加载_design_1_wrapper_hw_platform_1-CSDN博客

1.再次Launch SDK,会出现system_wrapper_hw_platform_1,然后之前用的时候就把0删掉了。

但是发现0和1好像指的是ARM的两个核,所以不能改,因此要删除1,重新生成0。

ZYNQ PS工程选择 hw_platform0(解决SDK新生成的 hw_platform1)_zynq bsp重新定向 hw_platform0-CSDN博客

debug选择无串口调试

2.debug时没有连接串口。

使用的程序是RTC芯片显示实时时钟,但是电脑端没有连接串口,因此需要修改debug方式。

【JokerのZYNQ7020】SDK无串口DEBUG。-CSDN博客

stdin和out都要选择ps_..._0而不是uart。

run

3.run的不同选择有什么区别?

在main中加了断点,但是之前run时一直没停在断点,可能是没有进入main。所以想单步调试。

print与printf

在main中写了print函数,但是console并没有打印。

也有一种可能是程序并没有被下载到zynq。(因为没有找到fsbl)

FSBL

zedboard 程序固化到sd卡和QSPI(vivado sdk 2018.1)_vivado 下载到sd卡-CSDN博客

ZYNQ-Linux开发之(三)Vivado SDK使用,裸机开发调试,不带linux-CSDN博客

也不是。上述是程序固化并烧写到flash需要的。一般的下载就是run。

Board Support Package Settings

(之后的几小时就在看别的程序了)然后再打开SDK后发现可以配置:

https://www.cnblogs.com/YangGuangPu/p/14805024.html

上午的列表里没有这些。 开启xilffs才能构建后面的FSBL(First-Stage BootLoader)即BootLoader工程。

这个FSBL工程是随便New->Application Project就可以吗,只要main实现上述的功能即可。还是说FSBL是Project的一种特定的类型?

FPGA系统性学习笔记连载_Day20【xilinx ZYNQ7000系列基本开发流程】 之 《PS端程序固化》篇 - 知乎

好家伙,新建project时需要选择FSBL模板:

vivado版本不同还是什么原因,我打开的没有templates(好吧其实是需要Next后才会出现该界面)。

(但是提示报错了,没有xilffs library)

vitis2019.2: This application requires xilffs library in the Board Support Package._this application requires lwip library in the boar-CSDN博客

那么问题来了,对于已建好/代码写好的project,如何看它是不是FSBL呢?(因为程序不是我写的,但我要会用&看懂)

看知乎里人家的工程,是在ps_uart_hello工程中新建了FSBL工程:

并且FSBL工程会自动编译,也就是说,FSBL的代码不需要自己写,作者也只在main中添加调试宏定义 FSBL_DEBUG_INFO。

Boot Image

原来打开Create Boot Image的方式不同,出来的页面也不同?

这是我右键.bsp选择的Create:

可以看到都是空白。

这是我右键工程打开的Create:

出现了.bif !!

所以为什么找到的很多教程都是让右键bsp呢?还是说其实并没有什么区别?

总而言之,不会代码而要学会使用,并不简单。。。有种站在大佬肩膀但是站不稳的感觉

生成了!

QSPI程序固化

两种方式烧写程序:SDK软件烧写、或者Vivado软件烧写。

第一步,调至JTAG模式。在 SDK 菜单 Xilinx -> Program Flash。

啊这,完全空白,是因为没接板子?(JTAG不在我手里,只能暂且等等) 而且也没有参数可配置。

好吧,不是Program FPGA,而是Flash!!

第二步,配置参数。

第三步,调至QSPI模式。

串口连接

4.串口连接

zynq-7000系列基于zynq-zed的vivado初步设计之使用jtag->uart(MDM)_vivado sdk jtag 打印-CSDN博客

XMD Console

在sdk的xmd console.输入命令 connect mdm -uart

(没有JTAG的本人。。。)

只能先看理论知识了。

虽然每天都学的很慢,但至少在进步(PUA自己)

就是每周的组会被问上周做了什么的时候,有点张不开嘴。。。

思考

现在对于代码(main.c,其他的更看不懂)以及SDK的使用有了一个初步的了解。那么在下次烧录程序&调试的时候,需要怎么做,做什么?

首先,希望程序烧录不报错。所以如何看程序是否正确烧录?要在main.c里写print?如何才能给Concole一个信号?

其次,调试要通过串口。在波特率等配置正确、串口成功连接的情况下,应该会通过串口显示zynq发送的信息。但是串口如何给zynq发送信息?程序里是否包含接收串口数据的内容?

相关推荐