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

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

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

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

建立硬件工程

新建工程

选择Zedboard,点击Finish
【ZYNQ-7000开发之八】OLED的驱动_第1张图片

创建一个Block Design

【ZYNQ-7000开发之八】OLED的驱动_第2张图片

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

【ZYNQ-7000开发之八】OLED的驱动_第3张图片

点击Run Block Automation

【ZYNQ-7000开发之八】OLED的驱动_第4张图片

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

选择tools->Project Settings(按照自己的IP路径设置)
【ZYNQ-7000开发之八】OLED的驱动_第5张图片

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

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

【ZYNQ-7000开发之八】OLED的驱动_第6张图片

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

【ZYNQ-7000开发之八】OLED的驱动_第7张图片

新建一个约束文件,把以下代码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驱动程序,使用非常方便,如图所示

【ZYNQ-7000开发之八】OLED的驱动_第8张图片

修改Helloworld.c里的代码如下

    #include 
    #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运行效果截图

你可能感兴趣的:(FPGA,Zynq,ARM,AXI,嵌入式)