当前位置: 代码迷 >> 综合 >> 【ZYNQ-7000开发之八】OLED的驱动
  详细解决方案

【ZYNQ-7000开发之八】OLED的驱动

热度:21   发布时间:2024-01-06 17:59:38.0

发现了个很好用的OLED IP,和大家分享下,顺便轻松下,这几天调试太坑。

本系列文章尽可能的让每一个实验都相对独立,过程尽可能保证完整性,保证实验的可重现性。 但是用到的模块或者IP的具体作用和用法不保证都重复详细的介绍。

本文所使用的开发板是Miz702(兼容zedboard)
PC 开发环境版本:Vivado Design Suite 2015.2

建立硬件工程

新建工程

选择Zedboard,点击Finish
这里写图片描述

创建一个Block Design

这里写图片描述

点击Add IP,选择zynq PS,双击

这里写图片描述

点击Run Block Automation

这里写图片描述

添加OLED IP 路径,IP 在这里下载

选择tools->Project Settings(按照自己的IP路径设置)
这里写图片描述

添加OLED IP(和上面添加ZYNQ PS步骤一样),添加好后点击Run Connection Automation,完成重新生成布局

选中ZedboardOLED模块的,SDIN SCLK DC RES VBAT VDD等接口,右击,选择Make External

这里写图片描述

搭建好的硬件工程,重新生成布局,如图所示,

这里写图片描述

新建一个约束文件,把以下代码COPY进去

    set_property PACKAGE_PIN U10 [get_ports DC]set_property PACKAGE_PIN U9 [get_ports RES]set_property PACKAGE_PIN AB12 [get_ports SCLK]set_property PACKAGE_PIN AA12 [get_ports SDIN]set_property PACKAGE_PIN U11 [get_ports VBAT]set_property PACKAGE_PIN U12 [get_ports VDD]set_property IOSTANDARD LVCMOS33 [get_ports DC]set_property IOSTANDARD LVCMOS33 [get_ports RES]set_property IOSTANDARD LVCMOS33 [get_ports SCLK]set_property IOSTANDARD LVCMOS33 [get_ports SDIN]set_property IOSTANDARD LVCMOS33 [get_ports VBAT]set_property IOSTANDARD LVCMOS33 [get_ports VDD]

然后,Create HDL Wapper -> Generate Output Prouducts,最后点击Generate Bitstream,至此,硬件工程搭建完毕

建立软件工程

File ->Export Hardware ,并且选中 Include Bitstream

File->LaunchSDK

新建一个Hello World工程

完成后,按照如图所示,展开目录,可以看到OLED 的IP驱动程序,使用非常方便,如图所示

这里写图片描述

修改Helloworld.c里的代码如下

    #include <stdio.h>#include "platform.h"void print(char *str);int main(){init_platform();print("Hello World\n\r");print_message("---------------",0);print_message("Happy new year!",1);print_message("----BY:RZJM----",2);print_message("---------------",3);cleanup_platform();return 0;}

在Miz702运行效果截图

这里写图片描述

  相关解决方案