查看: 2114|回复: 0

[评测分享] [超越者Spartan-6 FPGA开发板] Microblaze例程的测试

[复制链接]
  • TA的每日心情
    奋斗
    2023-5-10 20:09
  • 签到天数: 1742 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2021-6-18 10:12:14 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 jinglixixi 于 2021-6-18 10:24 编辑

    起初在例程中发现,它是分为2部分还比较差异,为什么要分成Verilog和Microblaze呢?

    读了相关的资料后,才发现了里面的门道,原来Verilog部分是由该种语言设计程序,有点近似于裸机开发的味道,而Microblaze部分则是借助于IP核来设计的程序,近似于在系统的层次上开发。这下就明白了Microblaze的重要性,若是简单的开发当然选择哪种方式还无所谓,但若是较为复杂的设计,如GUI界面的实现,那在MicroBlaze软核嵌入式处理的基础上开发就可大大地提高工作效率,从而达到事半功倍的效果。

    当然,要进行Microblaze的编程设计其开发工具是必不可少的,其使用的工具则是Xilinx EDK,它是一个集XPS(Xilinx Platform Studio)硬件系统开发套件和SDK(Software Development Kit)的统一软件平台,并加挂在ISE之下。

    MicroBlaze的开发流程如图1所示,由此也可以看出其操作过程是较为复杂的。

    1.jpg
    图1 MicroBlaze的开发流程



    在超越者开发板上,用MicroBlaze软核进行嵌入式系统开发的流程如图2所示。
    2.jpg
    图2超越者嵌入式系统开发流程



    为了体验这种技术的使用方式,故以“Hello World!”为目标走了一遍流程,由于篇幅较长就不加详细介绍了,感兴趣的话可以查看《超越者之Microblaze开发指南》。

    值得的注意的地方是:

    1)需要对microblaze.mhs中的内容加以修改,涉及的具体内容是将14至17行的代码改为如下的内容:
    3.jpg
    2)修改UCF文件中的管脚约束代码,其内容为:

    NETsys_clk LOC = N8 | IOSTANDARD = "LVCMOS33" | TNM_NET = sys_clk_pin;
    TIMESPECTS_sys_clk_pin = PERIOD sys_clk_pin 50000 kHz;
    NETsys_rst_n LOC = G16 | IOSTANDARD = "LVCMOS33";

    经microblaze软核的硬件系统设计,可生成相应的bit文件。
    4.jpg
    图3 生成bit文件


    在进行软件设计时,需启动SDK并创建一个C语言的应用过程,其源程序为:
    5.jpg
    由此可见,其主程序还是十分简捷的。经编译,即可生成相应的elf文件。

    6.jpg
    图4 生成elf文件


    在下载完成后,应用程序会将字符串“Hello World”通过JTAG发送出去。并可通过Console窗口查看到上位机接收到的字符串“Hello World”,其结果如图5所示,证明测试成功。
    7.jpg
    图5 测试结果

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-25 08:52 , Processed in 0.116920 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.