正点原子 ZYNQ 7000系列学习记录之GPIO——MIO控制LED
先来简单谈谈ZYNQ的开发,它分为PS和PL端,PS端是带ARM核的嵌入式端,PL端是写verilog逻辑硬件端,做项目或者实验开发时,可以把PL端要实现的电路功能,用verilog语言描述出来,然后将其封装成带AXI总线的IP核。可以理解为把FPGA端实现的硬件电路以IP核的形式通过总线挂在ARM端,就像以前最早做单片机时,将硬件芯片连接到MCU上(不知道这么理解对不对…)
回归正题:除了上一篇的DDR和UART作为外设口,GPIO也是一种外设口,它可以通过MIO输出到PS端,EMIO输出到PL端
- GPIO 是英文“ general purpose I/O”的缩写,即通用的输入/输出
- MIO是指 multiuse I/O 多功能I/O ,是对应PS的GPIO口,可以实现多种功能复用,当然每次使用时只能对应一种功能,比如,USB/IIC…
- EMIO是指拓展I/O口,连接和配置的是PL的GPIO口,在使用的时候还需要添加引脚约束
本次实验主要针对MIO实现的,通过MIO口去控制PS端的三个LED闪烁,非常简单的代码,但是配置起来比较麻烦
系统框图:
实验中给了两种方法,一种是从GPIO导入模板,然后修改其中的代码,就可以实现其LED灯闪烁,当然我按