380 likes | 525 Views
版权所有,禁止未经授权的商业使用行为. 何宾 Tel:13911127536 email:hebin@mail.buct.edu.cn. 北京中教仪装备技术有限公司. 培训内容. Xilinx 片上可编程系统设计导论 MicroBlaze 处理器原理 EDK 工具概述 操作系统 (OS) 及板级支持包 (BSP) 概述 基于 EDK10.1 和 MicroBlaze 处理器的设计流程. Xilinx 片上系统开发平台结构 --EDK 工具包. Xilinx 的 EDK 工具主要包含: Xilinx Platfrom Studio
E N D
版权所有,禁止未经授权的商业使用行为 何宾 Tel:13911127536 email:hebin@mail.buct.edu.cn 北京中教仪装备技术有限公司
培训内容 • Xilinx片上可编程系统设计导论 • MicroBlaze处理器原理 • EDK工具概述 • 操作系统(OS)及板级支持包(BSP)概述 • 基于EDK10.1和MicroBlaze处理器的设计流程
Xilinx片上系统开发平台结构--EDK工具包 Xilinx的EDK工具主要包含:Xilinx Platfrom Studio (XPS)人机界面、嵌入式系统工具套件、嵌入式处理IP 核,比如处理器和外设、 Platform Studio SDK(Software Development Kit,SDK)。 SDK基于Eclipse开放源码框架,设计人员可以选择使 用SDK开发自己的嵌入式软件应用程序。
Xilinx片上系统开发平台结构--EDK开发流程 EDK中所提供的工具用来完成嵌入式设计的整个过 程。下图给出了基本嵌入式设计流程。
Xilinx片上系统开发平台结构--硬件平台的建立 Xilinx的FPGA技术允许设计者在处理器子系统中定制 硬件逻辑。这种定制不可能使用标准的现成的微处理器或 控制器芯片。“硬件平台”是指设计人员根据应用的需要 而使用Xilinx的技术建立的灵活地、嵌入式处理子系统。 硬件平台是由一个或多个处理器或外设连接到处理器 总线构成的。 EDK通过微处理器硬件规范(Microprocessor Hardware Specification,MHS)文件记录硬件平台信息。
Xilinx片上系统开发平台结构--软件平台的建立 软件平台是软件驱动和用于建立应用程序的操作系统 (可选)组成的。所建立的软件映像文件只包含用户所使 用到的一部分Xilinx的库。 EDK通过微处理器软件规范(Microprocessor Software Spectifcation,MSS)记录软件平台信息。设计人员可以在 软件平台运行多个应用程序。
Xilinx片上系统开发平台结构--使用仿真的硬件平台验证Xilinx片上系统开发平台结构--使用仿真的硬件平台验证 验证硬件平台的正确功能,设计人员可以建立一个仿 真模型,并且在HDL仿真器上运行。当仿真系统时,处理 器运行可执行文件。 设计人员可以选择建立行为、结构或者精确的时序仿 真模型。
Xilinx片上系统开发平台结构--使用调试的软件验证Xilinx片上系统开发平台结构--使用调试的软件验证 调试嵌入式软件的基本技术是加载设计到所支持的开 发板和使用调试工具去调试处理器。 作为可选择的方式,设计人员可以使用指令集仿真器 或简化系统仿真器模型(“虚拟平台”)运行在主机上来 调试设计代码。 设计人员可以通过概要分析代码的执行来估计系统性 能。
Xilinx片上系统开发平台结构--芯片配置 一旦软件和硬件平台建立完成,设计人员可以为FPGA 建立一个的配置比特文件。 对于原型设计,当连接主机和芯片时,设计者可以在 下载比特流时,将希望运行在嵌入式平台上的软件同时下 载。 对于产品,设计员将配置比特流和软件保存在和FPGA 连接的非易失性存储器中。
Xilinx片上系统开发平台结构-- Xilinx Platform Studio(XPS) XPS提供了集成环境为基于MicroBlaze和PowerPC处 理器的嵌入式处理器系统创建软件和硬件规范流程。 XPS也提供编辑器和项目管理接口用来创建和编辑源 代码。 XPS提供工具流程配置选项的定制和提供图形化的系 统编辑器用来连接处理器、外设和总线。 XPS可以在Windows、Solaris和Linux平台下使用。 从XPS中,设计人员可以运行所有用于处理硬件和软 件的嵌入式系统工具。在XPS环境下可以进行系统验证。
Xilinx片上系统开发平台结构--Xilinx Platform Studio(XPS) XPS提供下面的特性: • 能够添加核,编辑核参数和进行总线和信号连接,产生MHS文件; • 能够产生和修改MSS文件; • 支持表4.1内的所有工具; • 能够产生和观察系统块图和设计报告; • 多用户软件应用支持; • 项目管理; • 过程和工具流程依赖管理。
Xilinx片上系统开发平台结构--Xilinx Software Development Kit(SDK) SDK工具是XPS的补充,SDK为应用软件提供开发环 境。SDK基于Eclipse开放源码标准。SDK主要有以下特 点: • 1)功能丰富的C/C++编辑器和编译环境; • 2)项目管理; • 3)应用程序的建立配置和自动的MAKE文件生成; • 4)错误浏览; • 5)为无缝调试和概要分析目标提供了好的集成环境; • 6)软件代码版本控制。
Xilinx片上系统开发平台结构--Base System Builder(BSB)Wizard BSB向导帮助设计人员快速建立一个嵌入式系统工 程。对于更复杂的工程,BSB向导提供基本的系统,通过 这个系统设计人员可以定制完成嵌入式设计。为了高效率 的建立工程,Xilinx推荐使用BSB向导。
Xilinx片上系统开发平台结构--Base System Builder(BSB)Wizard 基于设计人员选择的板子,设计人员通过BSB选择并 配置基本元素,比如:处理器类型、调试接口、缓存配置、 存储器类型和大小、外设等。 对于BSB不支持的目标系统,设计人员可以选择定制 板选项。使用这个选项时,必须指定未来板子的硬件,并 且要给出用户约束文件UCF。 如果选择的是支持的目标板,BSB向导自动加入UCF 文件。当退出BSB时,BSB所建立的MHS和MSS文件自动 加入到XPS工程中,设计员能在XPS中进行更进一步设计。
Xilinx片上系统开发平台结构--Platform Generator(PlatGen) 平台产生器Platgen将对嵌入式系统的高级描述编译成 能在目标FPGA芯片上实现的HDL网表。 嵌入式系统硬件平台典型的由一个或多个处理器和不 同的外设和存储器模块组成,这些模块通过处理器总线连 接。每个外设的IP核有很多的参数,通过调整这些参数来 定制行为。这些参数也用来为这些存储器和外设进行地址 映射。由于EDK提供可选择的特性,FPGA只需要实现应 用程序所要求的功能子集。 硬件平台保存了MHS文件。MHS文件是表示所设计的 嵌入式系统的硬件元件的最主要文件。MHS文件以ASCII 码形式存在。
Xilinx片上系统开发平台结构--Platform Generator(PlatGen) Platgen读取MHS文件作为设计输入。Platform也从EDK 库和用户IP库中读取处理器核硬件描述文件MPD,PAO。 Platgen为嵌入式系统产生顶层HDL设计文件,该文件 包含所有参数化了的IP核。 在这个过程中,将MHS中所有高层总线连接变成连接处 理器、外设和片上存储器的真实信号。它也调用XST编译器 综合每个例化的IP核(Platgen产生的系统级网表也用来作为 FPGA实现过程的一部分)。 除此之外,Platgen也产生BMM(BRAM Memory Map) 文件,该文件包含所用到的片上BRAM的地址。
Xilinx片上系统开发平台结构--建立和导入IP向导Xilinx片上系统开发平台结构--建立和导入IP向导 该向导帮助设计人员建立定制的外设并且将其导入 相应的XPS工程中。 在创建模式下,创建和输入外设向导建立很多文件, 这些文件的一些是模板文件帮助设计人员实现外设,而不 需要详细的知道总线协议,命名规则和特殊接口文件的格 式。通过参考模板中的例子和使用不同的辅助设计支持文 件,设计人员可以很快的进行逻辑定制。 在导入模式下,该工具帮助设计人员建立接口文件和 目录结构。对于这种模式,必须遵守EDK命名规则。一旦 导入完成,用户的定制外设在EDK外设库中可以使用。
Xilinx片上系统开发平台结构--建立和导入IP向导Xilinx片上系统开发平台结构--建立和导入IP向导 当创建或输入一个外设时,自动生成MPD (Microprocessor Peripheral Defination)文件和PAO (Peripheral Analyze Order)文件: • MPD文件定义了外设的接口; • PAO文件通知其它工具(Platgen,Simgen),对外设需要编译哪个HDL文件和以什么样的顺序编译。
Xilinx片上系统开发平台结构--配置协处理器向导Xilinx片上系统开发平台结构--配置协处理器向导 如果设计中包含MicroBlaze和PowerPC处理器时,可 以使用该向导。 该向导添加和连接协处理器到CPU。协处理器是一个 硬件模块用来实现用户在FPGA内定义的功能和通过FSL 接口与处理器连接。 FSL通道是一个专用的32位,点对点的通信接口。
Xilinx片上系统开发平台结构--库产生器(Libgen)Xilinx片上系统开发平台结构--库产生器(Libgen) Libgen为嵌入式处理器系统配置库,设备驱动,文件 系统和中断句柄,称这些为软件平台。 嵌入式软件平台为每个处理器定义了系统内外设的驱 动(板级支持包),可选择的库,标准的输入/输出设备, 中断句柄例程和其它相关的软件特征。 基于这个软件平台,设计人员更进一步的定义了软件 的应用程序。
Xilinx片上系统开发平台结构--库产生器(Libgen)Xilinx片上系统开发平台结构--库产生器(Libgen) XPS中的MSS文件包含了对软件平台的定义。MSS文 件(可编辑的文本文件)和应用程序代表了嵌入式系统中 软件元素。 来自于EDK安装的库和驱动,以及设计人员提供的定 制库和驱动,EDK将用户程序编译成处理器硬件平台上可 执行的ELF文件。 Libgen工具读MSS和MHS文件作为Libgen的基本输 入。Libgen也读取选择的EDK库和不同的处理器核软件描 述文件(MDD和驱动代码)
Xilinx片上系统开发平台结构--GNU编译工具 XPS调用GNU编译工具用于编译和链接应用程序。 • 对于MicroBlaze处理器的应用,XPS运行mb-gcc编 译器; • 对于PowerPC处理器的应用,XPS运行powerpc-eabi -gcc编译器。 编译器能读取C代码,头文件和汇编代码。链接器将 编译的程序和选择的库连接在一起产生ELF可执行文件。 连接器也读取连接脚本(默认产生或用户产生)。
Xilinx片上系统开发平台结构--Xilinx Microprocessor Debugger(XMD) 设计人员可以使用指令集仿真器或者虚拟平台调试软件程序。XMD读ELF文件。 对于调试物理的FPGA,XMD和FPGA通讯使用和FPGA下载相同的电缆。
Xilinx片上系统开发平台结构--GNU调试器(GDB) GNU调试器是个强大和灵活的工具,它为在不同的开 发周期验证MicroBlaze和PowerPC系统提供了统一的调试和 验证手段。 GDB使用了XMD作为最基本的引擎和处理器目标通讯。
Xilinx片上系统开发平台结构--仿真模型产生器SimgenXilinx片上系统开发平台结构--仿真模型产生器Simgen 仿真模型产生器Simgen为硬件产生和配置不同模型。 为产生行为模型,Simgen使用MHS文件作为基本的输 入。为产生结构或时序模型,Simgen使用综合后或布局布 线后的设计数据库作为基本的输入。 Simgen为每个处理器也读取嵌入式应用ELF文件去初 始化片上存储器;这样处理器在仿真阶段就可以执行这些 软件代码。
Xilinx片上系统开发平台结构--仿真库编译器(CompEDKLib)Xilinx片上系统开发平台结构--仿真库编译器(CompEDKLib) CompEDKLib使用不同仿真工具厂商提供的仿真器编 译EDK基于HDL的仿真库。这个工具可以运行在GUI和批 处理模式下。 在GUI模式下,允许设计人员使用CompXLib编译Xilinx 的库和EDK中可以使用的库。
Xilinx片上系统开发平台结构--虚拟平台生成器(VPgen)Xilinx片上系统开发平台结构--虚拟平台生成器(VPgen) 虚拟平台是硬件系统的周期级的仿真模型。可以在主 机上用虚拟平台来调试和评估软件应用代码,而不需要得 到运行在原型板上的硬件。
Xilinx片上系统开发平台结构--比特流初始化工具(Bitinit)Xilinx片上系统开发平台结构--比特流初始化工具(Bitinit) 比特流初始化工具使用软件信息来初始化与处理器连 接的片上BRAM存储器。 该工具读取ISE产生的比特流文件(system.bit),产 生一个新输出比特流文件(download.bit),这个比特流 文件包含ELF文件。 这个工具使用BMM文件,该文件由Platgen产生,通 过使用每个BRAM块的物理的布局信息由ISE工具更新。 在内部,比特流初始化工具Bitinit使用在ISE中提供的 Data2MEM工具来更新比特流文件。
Xilinx片上系统开发平台结构--系统ACE生成器(Gen ACE) 从FPGA比特流中产生 Xilinx System ACE配置文件和 ELF/数据文件。 产生的ACE文件用于配置FPGA,初始化BRAM,使 用有效的程序或数据初始化外部存储器和启动处理器。 EDK提供了工具命令语言(Tool Command Language,Tcl)脚本,genace.tcl。该脚本使用XMD命令 产生ACE文件。 使用MDM系统可以为PowerPC或MicroBlaze产生ACE 文件。
Xilinx片上系统开发平台结构--Flash编程 编程解决方案被设计成通用的,面向不同的Flash硬 件和布局。
Xilinx片上系统开发平台结构--格式版本工具(revup)Xilinx片上系统开发平台结构--格式版本工具(revup) 格式版本工具revup更新已经存的EDK工程到当前的 版本。revup工具只执行格式的变化,对设计不进行更 新。在应用revup前,备份MHS,MSS,XMP等文件。 当使用新版本的EDK工具打开老版本的工程时,就会 显示版本管理向导。 当执行revup后,调用版本管理向导。向导提供有关设 计中使用的Xilinx处理器IP核的变化信息。如果新版本的 IP核可以使用,向导将升级到新的版本。
Xilinx片上系统开发平台结构--LibXil文件系统生成器( LibXil MFS ) 以文件句柄的形式提供管理程序存储器的能力。设计 人员可以建立目录,并在目录中存放不同文件。文件系统 能通过使用高级C语言进行函数调用来访问。
Xilinx片上系统开发平台结构--平台规范工具 能够自动产生建立IP核的MPD文件。通过建立和导入 外设向导的帮助,能够使用这个工具提供的功能。