基于EDK的嵌入式系统开发
EDK是Xilinx提供的用于构建基于Xilinx FPGA的嵌入式系统设计工具套件。
基本的嵌入式软件设计流程如图1:
图1 软件设计
(1)在基于EDK的嵌入式系统设计过程中ISE软件一般在后台运行,XPS工具会通过功能调用的形式来访问ISE中的各种实现模块,并完成后端的实现工作。
(2)XPS主要用于嵌入式系统的硬件部分的设计,如处理器的硬件规范、外设的规范,以及这些组件的互连等,并通过XPS来完成相应的属性设置。
(3)简单的软件开发工作可以在XPS中完成,但是更复杂的应用程序开发及调试工作Xilinx建议使用平台软件开发工具(SDK)来完成。
(4)可以通过HDL仿真器来验证硬件平台功能的正确性,XPS提供了如下3种类型的仿真模型。 行为仿真 Behavioral、结构仿真 Structural和时序仿真Timing-accurate.XPS会自动建立并设计验证过程的框架,包括用干仿真的HDL文件,设计者仅需要输入时钟、复位、激励信息,以及设计者的应用程序代码。
(5)完成设计以后,设计者仅需单击相关菜单项来下载FPGA位流文件和应用程序的二进制ELF文件。
本实验是基于Falcon-E25TG开发板,完成Xilinx EDK基本嵌入式系统的开发。通过软硬件协同完成硬件搭建、软件调试最终下载BIT文件,观察结果。实验最终通过调用中断控制的 OPB定时器IP、开发中断管理函数、在SDK调试器中实时监测出现超级终端的结果。超级终端上连续从第一秒开始计数,每3秒钟计中断一次,并显示计数信息和中断信息。
实验的整体硬件系统结构图2如下:
实验步骤:1,以Falcon-E25TG为目标板,使用 Xilinx Platform Studio(XPS)创建简单硬件系统。
2,在EDK中给硬件系统添加附加 IP。
3,为嵌入式系统设计添加一个自定制 IP。
4,添加一个内部Block RAM控制器,编写一个访问外设IP的基本应用程序。
5,使用带有中断控制的 OPB定时器,开发一个中断管理函数,并编写工程软件代码。生成bit流文件。
6,下载到Falcon-E25TG为目标板,查看结果。并用SDK调试器设置断点,观察分析变量和存储器的内容。
图2 系统结构