发现了个很好用的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;}