本帖最后由 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 MicroBlaze的开发流程
在超越者开发板上,用MicroBlaze软核进行嵌入式系统开发的流程如图2所示。 图2超越者嵌入式系统开发流程
为了体验这种技术的使用方式,故以“Hello World!”为目标走了一遍流程,由于篇幅较长就不加详细介绍了,感兴趣的话可以查看《超越者之Microblaze开发指南》。
值得的注意的地方是:
1)需要对microblaze.mhs中的内容加以修改,涉及的具体内容是将14至17行的代码改为如下的内容:
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文件。 图3 生成bit文件
在进行软件设计时,需启动SDK并创建一个C语言的应用过程,其源程序为:
由此可见,其主程序还是十分简捷的。经编译,即可生成相应的elf文件。
图4 生成elf文件
在下载完成后,应用程序会将字符串“Hello World”通过JTAG发送出去。并可通过Console窗口查看到上位机接收到的字符串“Hello World”,其结果如图5所示,证明测试成功。 图5 测试结果
|