本帖最后由 RZJM 于 2016-1-3 17:11 编辑
发现了个很好用的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 在
note:这个IP 仅支持vivado 2014.2以上的版本
选择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 BitstreamFile->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运行效果截图
|