基于ZYNQ-7000开发板的调试系列(3)

3. 基于PS的串口通讯

这一部分分为两个部分:

  1. 串口发送数据
  2. 串口接收数据

该部分最后会设计一个自动收发装置,即当上位机通过串口向开发板发送数据后,开发板会发回所有的数据。假定上位机发送的数据小于256位,这样可以用一个u8型即可以完成索引。

基于PS的串口通讯

该部分主要是使用串口收发数据,使用的资源是PS中MIO12、13两个IO口确定的UART1通道。然后其余无需任何其他资源。故而可以将AXI总线关闭。

1. 创建Block

1. 创建一个ZYNQ7 Processing System

主要修改一下几个部分:

  1. PS-PL Configuration 关闭AXI总线。
    PS-PL Configuration
  2. Peripheral I/O Pins 开启UART1。
    Peripheral I/O Pins3. DDR Configuration 修改DDR配置。
    DDR Configuration
    自动连接后创建HDL Wrapper后即可生成Bitstream文件,具体完成就是如下的样子。
    Diagram
    [参考自CREATE HDL WRAPPER的问题]
    主要是这段话:
    The Create HDL Wrapper dialog box lets you define a new HDL wrapper for the current block design. The wrapper defines the block design as the top-level design, so you can synthesize, implement, and generate a bitstream for the block design.

导出硬件配置时由于没有AXI总线参与,就不需要bitstream了,然后开始编写PS程序。
Export HardWare

2. PS程序编写

1. 初始化

通过Launch SDK打开Xilinx SDK。创建一个空的应用项目。这里使用串口,实际上这里直接可以使用HelloWorld模板。但是为了学习需要,这一部分还是先建立空白应用项目。
先引入一部分必须引入的模块:

#include "xparameters.h"
#include "xuartps.h"
#include "xil_printf.h"

然后是初始化和自检测环节:
用到的函数有

XUartPs_Config *XUartPs_LookupConfig(
	u16 DeviceId
); // 根据设备ID查看配置文件
s32 XUartPs_CfgInitialize(
	XUartPs *InstancePtr,
	XUartPs_Config * Config, 
	u32 EffectiveAddr
); // 初始化
s32 XUartPs_SelfTest(
	XUartPs *InstancePtr
); // 自测
void XUartPs_SetOperMode(
	XUartPs *InstancePtr, 
	u8 OperationMode
); // 设置工作模式
s32 XUartPs_SetBaudRate
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Alinx Zynq7000开发板是一种基于Xilinx Zynq-7000 SoC(System on Chip)的开发平台。它融合了ARM Cortex-A9处理器和FPGA(Field Programmable Gate Array)技术,可以实现硬件和软件联合开发,满足各种应用需求。 Alinx Zynq7000开发板配备了丰富的外设接口,包括以太网口、USB接口、HDMI接口、SD卡插槽等,可灵活地与外部设备进行通信。同时,它还提供了一块DDR3 SDRAM和一块QSPI Flash,用于存储和读取数据。 Alinx Zynq7000开发板提供了丰富的例程供开发者参考和学习。这些例程涵盖了各种应用场景,例如图像处理、音频处理、通信等。这些例程可以帮助开发者快速了解并使用该开发板,加快产品开发的速度。 在使用Alinx Zynq7000开发板的例程时,开发者可以按照以下步骤进行操作: 1. 确保开发板与电脑正确连接,并且开发环境已经配置好。 2. 获取并导入相应的例程代码。 3. 根据例程提供的文档和说明,了解该例程的功能和实现原理。 4. 根据需要对例程进行修改和定制,以满足自己的应用需求。 5. 编译和烧录代码到开发板中,运行和调试例程。 通过学习和运行这些例程,开发者可以深入理解Alinx Zynq7000开发板的特性和功能,并为开发自己的应用程序提供参考和借鉴。这些例程的丰富性和灵活性,使得开发者可以更好地利用Alinx Zynq7000开发板的强大性能,实现各种创新的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值