基于Microblaze软核的嵌入式系统设计
2.3 Chipscope调试
Chipscope是Xilinx公司的片内调试工具,通过将逻辑分析器、总线分析器和虚拟I/O小型软核插入到用户的设计当中,可以查看和分析任何内部FPGA信号,包括嵌入式处理器总线。信号被实时采集,并从编程接口JTAG传输到主机,然后通过Chipscope Pro逻辑分析器进行分析。Chipscope的典型工作模式支持4种Chipscope Core,它们具有不同的功能和适应环境:
①Chipscope_icon,用于管理其他的Chipscope core,所有的Chipscope core都是通过这个核连接到FPGA的JTAG口;
②Chipscope_ila,用于监控FPGA内部的自定义信号,是使用范围最广的监控核;
③Chipscope_plb46_iba,用于监控PLB总线;
④Chipscope_vio,用于监控FPGA内部的实时自定义信号变化。
Chipscope使用的几个主要步骤包括:
①调用Chipscope Pro Core Generator,生成需要使用的Chipscope cote,并加入到工程中;
②调用Chipseope Pro Core Inserter,选择需要监控的信号,设置采样和匹配参数,并将配置后的Chipscopecore插入到设计中;
③调用Chipscope Pro Configuration,包括ChipscopePro On-Chip Debugging和Chipscope Pro On-Chip Verification,即通过Chips-cope的分析器工具Analyzer观察FPGA内部信号,并和设计者的需求进行比较,分析不一致的时序。
3 为系统添加嵌入式操作系统
如果系统所涉及的功能比较复杂,或者系统对实时性要求比较严格的话,在自己的设计中加载一个嵌入式操作系统是一个很好的选择。Xilinx FPGA目前支持绝大多数主流嵌入式操作系统,如VxWorks、Embedded Linux、μClinux、μC/OS-II和PetaLogix等,而μC/OS-II因其具有移植方便、执行效率高、占用空间小、实时性强和可靠性高等优点,成为Microblaze软核的首选嵌入式操作系统。μC/OS-II的大部分源代码是用ANSI C语言编写的,它的移植只需改写与处理器有关的3个文件即可。本文引用地址:https://www.eepw.com.cn/article/150858.htm
如图5所示,修改与处理器相关的常数和宏定义头文件OS_CPU.H、任务切换过程中的堆栈处理汇编文件OS_CPU_A.ASM和钩函数定义文件OS_CPU_C.C。最简便的做法是在μC/OS-II官方网站www.micrium.com上下载an1013.zip压缩包,里面包含针对Microblaze修改好的3个移植文件、μC/OS-II软件代码和μC/OS-II应用指导文档,根据文档的描述将压缩包中的相关文件放到Xilinx的指定安装目录下,就可以在S-DK中直接选用μC/OS-II操作系统。此外,压缩包中还提供了一个示例程序,用于演示μC/OS-II操作系统是否在Microblaze系统上运行正常,极大减轻了用户在移植μC/OS-II过程中所面临的工作量。
4 FPGA的配置
基于SRAM结构的FPGA每次上电都需要外部的配置芯片对其进行加载,Xilinx的FPGA提供了多种配置方式,如简便的Platform Flash PROM主串配置、价格低廉的SPI配置、大容量的并行配置和JTAG配置等,用户可以根据自己的实际情况进行灵活选择。结合iMPACT图形化配置软件,向片外配置芯片烧写比特流的工作变得非常简单,极大缩短了系统的开发时间。除了常规的配置方式外,Xilinx FPGA还支持将多个配置文件放在一个配置芯片中实现系统的多配置启动,或者将用户数据存放在配置芯片中,在系统配置完成后根据需要随时从配置芯片中读出用户数据。在Xilinx的官方网站www.xinlinx.com上可以下载关于芯片配置的各种应用文档,使用户在嵌入式系统开发过程中最大限度地发挥FPGA的灵活性。
结语
基于FPGA软核的嵌入式系统开发分为硬件平台开发和软件平台开发两个部分,在硬件平台开发过程中可以根据需求选择外设,也可以定制自己的IP,实现更为灵活的接口和控制功能;在软件平台开发阶段则可以充分利用XPS提供的API制函数,方便快捷地编写控制程序。FP-GA进行嵌入式系统开发所具备的定制性正受到越来越多的青睐和关注,可以预见,未来使用FPGA进行嵌入式产品的开发必将成为潮流。
评论