MicroBlaze软核开发(一):Hello World

实现功能:使用 MicroBlaze软核 串口打印 Hello World

Vivado版本:2018.3

目录

MicroBlaze介绍

vivado部分:

一、新建工程

二、配置MicroBlaze

三、添加Uart串口IP

四、生成HDL文件编译

SDK部分:

一、导出硬件启动SDK

二、新建应用程序工程

三、烧录

四、串口测试

MicroBlaze介绍

        MicroBlaze 是由 Xilinx 开发的一种可配置的 32 位 RISC 软处理器内核,是用 Vivado 进行FPGA 设计时可调用的IP核。MicroBlaze 使得开发人员可以使用 C/C++、汇编语言或 RTL 设计语言进行开发。将 MicroBlaze 应用于 FPGA 的整体思路是结合软硬件各自的优点,通过灵活的设计、快速的原型制作以及高效的资源利用,更好地实现和管理复杂的嵌入式系统。

       举个例子,FPGA不同于Zynq:Zynq 集成了 ARM 处理器作为硬核,可软硬件同时开发。而FPGA没有硬核,因此可以将 MicroBlaze 作为软核,用 Vivado 进行 FPGA 部分设计,用 SDK 开发框架作为软件开发环境。通过这种方式实现硬件和软件的协同设计。

        

vivado部分:

一、新建工程

        (1)新建工程,命名为 MicroBlaze_base ,Next

       (2)选择RTL工程,Next

        (3)选择芯片型号

二、配置MicroBlaze

        (1)创建设计块,命名后点OK(本例用默认名)

        (2)点击添加按钮,搜索MicroBlaze,双击添加

        (3)添加后会发现试图内已加载MicroBlazed模块,点击“Run Block Automation”进行配置,因为没有外设存储器所以内部存储器选大一点64KB,其他默认点OK

        (4)双击时钟模块“clk_wiz_1”进行配置:配置时钟(根据开发板时钟频率设置,我的是100MHz),再将时钟设为“single单端时钟”(默认是差分),将复位信号设置为“low低电平有效”,其他保持默认点OK

        (5)点击“自动布局”按钮,可将布局优化一下,看着清楚一点

        (6)添加时钟和复位管脚:

1:ctrl同时选中“clk_wiz_1”模块的时钟和复位信号输入脚后右键点击“Make External”添加管脚。

2:再将“rst_clk_wiz_1”模块的外部复位信号脚连接到“clk_wiz_1”的复位信号脚。

3:再点击自动布局(完成后如下图)。

三、添加Uart串口IP

        (1)点击添加ip,搜索“uart”,一般选择 AXI Uartlite,双击添加

        (2)配置 UART IP核:双击模块进行配置,时钟频率100MHz(要根据开发板设置)、波特率115200、8位数据位、无校验位。

        (3)点击 “运行自动连接”,全部勾选,会自动将uart管脚与MicroBlazed部分进行连接,再点击“自动布局”得到如下图二。

四、生成HDL文件编译

        (1)到src栏右键设计块,生成HDL包装文件,选择第二项进行生成。完成后会看见已经生成设计块的.v文件(如果后续对设计块有改动需要重新生成)

        (2)依次进行:Run Synthesis 综合、Run implementation 部署 

        (3)再配置管脚:需要配置的管脚如图所示,根据开发板情况自行配置

        (4)最后 Generate Bitstream 生成比特流文件   

SDK部分:

一、导出硬件启动SDK

       (1)导出硬件: “Export Hardware” 用于将设计中的硬件部分导出为一个可供其他工具(如 SDK 和 Vitis)或流程使用的硬件描述格式,按左图步骤,并注意勾选“Include bitstream包含比特流”导出硬件,右图启动SDK

       

        (2)启动SDK,保持默认点击OK。接下来将在SDK环境中进行软件部分的设计

         

二、新建应用程序工程

        (1)按照上面的步骤进入SDK后,自动加载相关文件

        (2)

1.新建 Application Project 应用程序工程。

2.将工程命名为 hello ,其他保持默认点击next。(默认c语言)

3.此时会提供工程模板,选择串口打印 hello world 的模板进行测试。(也可以生成空模板)

        (3)模板工程的.c文件位于hello工程的src目录下(helloworld.c),打开可以看到详细代码

三、烧录

        SDK左上方工具栏,点击烧录图标,选项保持默认点击烧录(也可以回到Vivado进行烧录)

四、串口测试

        (1)下方打开SDK终端,点击加号添加一个SDK自带的串口助手,选择窗口,设置波特率(需要和Vivado里面的uart IP的参数保持一致),OK。

        (2)按照图示步骤运行应用程序工程 hello (也可以在.c文件中直接右键Run As运行)

        (3)成功运行后,SDK串口接受到了 FPGA 发送的 Hello World ,串口功能测试成功!到此,使用Vivado 进行 MicroBlaze 软核开发的基础介绍结束。

猜你喜欢

转载自blog.csdn.net/2303_76814451/article/details/144242557
今日推荐