《基于Xilinx FPGA的多核嵌入式系统设计基础》课件第4章.ppt

上传人(卖家):momomo 文档编号:7944910 上传时间:2024-09-07 格式:PPT 页数:150 大小:4.93MB
下载 相关 举报
《基于Xilinx FPGA的多核嵌入式系统设计基础》课件第4章.ppt_第1页
第1页 / 共150页
《基于Xilinx FPGA的多核嵌入式系统设计基础》课件第4章.ppt_第2页
第2页 / 共150页
《基于Xilinx FPGA的多核嵌入式系统设计基础》课件第4章.ppt_第3页
第3页 / 共150页
《基于Xilinx FPGA的多核嵌入式系统设计基础》课件第4章.ppt_第4页
第4页 / 共150页
《基于Xilinx FPGA的多核嵌入式系统设计基础》课件第4章.ppt_第5页
第5页 / 共150页
点击查看更多>>
资源描述

1、第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 4.1 简单硬件系统设计简单硬件系统设计4.2 添加添加IP核到硬件系统核到硬件系统4.3 自定义自定义IP核的设计与添加核的设计与添加4.4 基本的应用软件设计基本的应用软件设计4.5 使用使用SDK进行软件设计进行软件设计4.6 本章小结本章小结 第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 实验简介:本实验可以引导大家通过使用Xilinx Platform Studio(XPS)创建一个基于XUP Virtex-Pro开发板的简单的硬核(PPC)处理器系统,本实验将成为本章后续实验的基础。4.1 简单硬件系

2、统设计简单硬件系统设计 第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 本次实验的目的是完成一个处理器系统的设计。每个实验都是建立在先前实验的基础上的。完整的设计模块图如图4.1.1所示。所有涉及的IP核均用深色背景突出,如图4.1.2所示。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.1.1 完整的设计模块图第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.1.2 实验中用到的IP核第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 4.1.1 用用BSB创建工程创建工程用BSB创建工程的具体步骤如下:(1)运行Xili

3、nx Platform Studio(XPS),通过Base System Builder在E:Project embeddedlabslab1创建一个工程文件。选择“开始”“程序”“Xilinx ISE Design Suit 10.1”“EDK”“Xilinx Platform Studio”,运行XPS。出现XPS如图4.1.3所示的界面后,选择Base System Builder wizard(recommended)选项并点击OK按钮。打开Create New XPS Project Using BSB Wizard对话框。第第4章章 基于基于PowerPC的单核系统设计的单核系统

4、设计 图4.1.3 在XPS窗口选用BSB向导进行工程的新建第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 定位到E:Projectembeddedlabslab1system.xmp文件夹,点击OK按钮,如图4.1.4所示。选择“I would like to create a new design option”选项。点击Next按钮显示“Select Board”对话框如图4.1.5所示,指定设置如下:Board vendor:Xilinx;Board name:Virtex-II Pro ML310 Evaluation Platform;Board revision:

5、D。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.1.4 工程存放路径的确定第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.1.5 板型选择界面第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 点击Next按钮,显示Select Processor对话框,如图4.1.6所示。选择PowerPC作为处理器。点击Next按钮显示Configure PowerPC Processor对话框,如图4.1.7所示,指定设置如下:Reference clock frequency:100 MHz(这是在板上使用的外部时钟资源,这个时钟将被用于生成

6、处理器和总线时钟,它的作用取决于使用的FPGA或开发板,因为用来执行时钟乘除运算的片上资源是确定的)。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.1.6 处理器选择对话框第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.1.7 配置PowerPC处理器的对话框第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(2)选择RS232_Uart_1作为唯一的外部设备,选择64 Kb PLB控制器并生成连接脚本。点击Next按钮显示Configure IO Interfaces对话框,选择RS232_Uart_1选项,在Peripheral中选

7、择XPS UARTLITE,在Baudrate中选择115200,在Parity中选择NONE,其他的外设全部设置为缺省,如图4.1.8所示。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.1.8 IO接口设置对话框第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 不要选择Ethernet_MAC选项。点击Next按钮,直到出现Add Internal Peripherals对话框,如图4.1.9所示。PLB的时钟RAM界面控制器可以通过点击Add Peripheral按钮来添加附加的内部设备,可以通过对象选择对已存在的工程添加外部设备。第第4章章 基于基于

8、PowerPC的单核系统设计的单核系统设计 图4.1.9 Add Internal Peripherals对话框第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 在Memory size中选择64 KB,然后点击Next按钮,会弹出Software Setup对话框,如图4.1.9所示。点击Next按钮出现存储测试配置选项,如图4.1.10所示。点击Next按钮,默认图4.1.11的设置,继续点击Next按钮。点击Next按钮出现外设测试配置选项,如图4.1.12所示。点击Next按钮显示System Created对话框,如图4.1.13所示,可以查看当前系统的创建概况和各个信

9、息。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.1.10 Software Setup对话框 第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.1.11 Configure Memory Test Application对话框第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.1.12 Configure Peripheral Test Application界面设置第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.1.13 System Created对话框第第4章章 基于基于PowerPC的单核系统设计的单

10、核系统设计 4.1.2 分析已创建的工程分析已创建的工程在XPS的Project Information Area窗口下,显示已创建的工程文件信息,如图4.1.14所示。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.1.14 Project Information Area窗口下显示的信息第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(1)重新观察System Assembly窗口,如图4.1.15所示,观察设计中使用的各种构成要素。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.1.15 System Assembly View面

11、板下的信息第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 4.1.3 生成硬件生成硬件IP网表文件网表文件使用PlatGen创建硬件网表的具体步骤如下:(1)在XPS中,选择HardwareGenerate Netlist或者点击工具栏中的按钮。(2)在控制窗口中查看网表的生成过程。(3)选择“开始”“程序”“附件”“Windows Explorer”,打开Windows Explorer对话框。(4)浏览Lab1文件夹。其中一些文件夹包含了已创建的VHDL网表文件。列出已经生成的目录。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 4.1.4 下载测试程序下载

12、测试程序下载测试程序的具体步骤如下:(1)在Applications栏中,右键点击TestApp_Peripheral工程并选择“Mark to Initialize BRAM”。(2)右键点击TestApp_Peripheral工程并让“Mark to Initialize BRAMs”不被选上。(3)选择Device Configuration Update Bitstream。(4)连接启动XUP开发板。(5)打开PuTTY终端仿真工具,如图4.1.16所示。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.1.16 PuTTY终端仿真工具第第4章章 基于基于Powe

13、rPC的单核系统设计的单核系统设计 当然,也可以打开附件通讯超级终端,设置参数如图4.1.17所示。(6)选择Device Configuration Download bitstream,可以观察到如图4.1.18所示的终端输出结果。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.1.17 通讯端口设置信息第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.1.18 终端输出结果第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 本实验的目的是扩展实验1中的硬件设计。实验1中包含了硬核处理器、PLB总线、JTAG_PPC、Proc_sys_

14、reset、DCM、UART、PLB RAM Controller和PLB BRAM等。本实验通过添加其他组件来扩展硬件设计,在实验中,将要用XPS系统对话框模式和文本模式来添加下面的IP核到一个已经存在的处理器系统中,如图4.2.1所示。4.2 添加添加IP核到硬件系统核到硬件系统第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.2.1 实验2的设计模块图第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 4.2.1 打开工程打开工程创建一个lab2文件夹,复制lab1中的所有内容到lab2中,登录XPS并从该环境中打开工程文件或者直接双击system.xmp

15、工程图标。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 4.2.2 扩展硬件系统扩展硬件系统XPS提供了两种方法来添加外设到一个存在的工程中,即:利用IP Catalog来添加大部分IP核到已存在的工程,如本实验中的xps_gpio(two instances)和xps_bram_if_cntlr、Bram block;利用手动编辑MHS文件来添加IP核到处理器系统。下面介绍利用IP Catalog添加IP核到处理器系统,具体步骤如下:(1)在XPS界面中的Project Information Area下选择IP Catalog,如图4.2.2所示。第第4章章 基于基于Po

16、werPC的单核系统设计的单核系统设计 图4.2.2 IP Catalog下可选用的各个IP核列表第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(2)选择所需要的外设,通过右击“Add IP”选项或者直接双击可添加外设到工程文件中。(3)在System Assembly View面板下通过左击各个IP核的Name,可以修改其实例名称,按表4.2.1给实例重命名。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 表表4.2.1 给实例重命名给实例重命名Default Instance Name New Instance Name xps_gpio_0 dip1 xp

17、s_gpio_1 push1 xps_bram_if_cntlr_0 xps_bram_if_cntlr_2 bram_block_0 plb_bram_if_cntlr_2_bram 第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 最后在System Assembly面板下显示修改的实例名如图4.2.3所示,其中在Bus Interfaces窗口下显示了各个IP核与总线的连接关系,而所有的重命名IP核也均在图中圈出来了。(4)为这两个IP核设置正确的总线连接,如图4.2.4所示。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.2.3 修改实例名第第4章章

18、 基于基于PowerPC的单核系统设计的单核系统设计 图4.2.4 IP核的总线连接第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(5)双击dip1,为该实例设置公共参数,如图4.2.5和图4.2.6所示。(6)以同样的方式双击push1,对其公共参数进行相应的设置,如图4.2.7、图4.2.8所示,设置完毕后点击OK按钮。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.2.5 dip1在Common下的设置(1)第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.2.6 dip1在Channel1下的设置(2)第第4章章 基于基于Pow

19、erPC的单核系统设计的单核系统设计 图4.2.7 push1实例在Common下的设置(1)第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.2.8 push1实例在Channel1下的设置(2)第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(7)增加额外的端口到外设并连接它们,这些端口必须要与内部的Net名相一致。选择System Assembly View面板下的Ports界面,对其设置,如图4.2.9所示。(8)输入上述步骤的端口连接后,在同一个下拉框中选择将DIP和PUSH内部连接信号“Make External”分别连接到FPGA的I/O引脚上,

20、如图4.2.10所示。设置之后会在上述的External Ports项中出现这两个声明端口。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.2.9 设置新的端口连接信号第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.2.10 将其内部信号连接进行“Make External”设置第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(9)进入Address界面,为新增加的各个IP核进行地址分配。最后的分配结果如图4.2.11所示。地址分配也有两种模式,分别是:将其他地址“LOCK”,然后点击按钮,让XPS自动为其分配不冲突的地址空间,内存大小

21、可以手动设定;进行手动的地址分配,注意分配的时候不要让地址之间出现冲突。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.2.11 为新增IP核分配地址第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(10)增加代码来执行dip1开关和push1按钮的功能,具体步骤包括:点击Application选项并双击TestApp_Memory.c文件,如图4.2.12所示。删除源文件中main下的所有代码,添加如图4.2.13所示的代码进入本文件。注意需要加上头文件“xgpio.h”。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.2.12 Te

22、stApp_Memory.c文件位置第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.2.13 源代码的片段第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.2.14 UCF文件编辑第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 4.2.3 分析分析MHS文件文件(1)打开system.mhs文件(如果没有打开system.mhs文件,则双击system.mhs文件来打开),观察外部端口部分并完成以下的问题:Number of external ports:_Number of external ports that are output

23、:_Number of external ports that are bidirectional:_第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(2)观察整个MHS文件,列出与sys_clk_s相连接的所有实例:列出被连接到PLB总线的所有设备:第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 4.2.4 下载比特流下载比特流配置和打开一个超级终端窗口,生成比特流并通过EDK下载,检验在XUP Virtex-Pro板上的操作,具体步骤如下:(1)将开发板与电脑相连接。(2)在PC机上打开一个超级终端窗口,或利用Putty工具,设置波特率为115200,流控制为

24、none,然后点击连接按钮。(3)点击按钮下载比特流到开发板上。(4)超级终端上的显示结果如图4.2.15所示。(5)推动按钮改变开关状态,观察超级终端上的变化。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.2.15 终端的显示结果第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 本实验中,可以使用Xilinx Platform Studio(XPS)的Create and Import Peripheral向导从HDL组件中创建一个用户外围设备,增加一个输入设备实例,并通过修改system.ucf文件来为板上的LED模块提供接口。本次工程设计中的添加模块

25、如图4.3.1所示。4.3 自定义自定义IP核的设计与添加核的设计与添加 第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.3.1 工程设计中即将添加的IP核模块第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 4.3.1 新建一个自定义新建一个自定义IP核核新建一个自定义IP核的具体步骤如下:(1)创建文件夹lab3,并将lab2中的内容复制到lab3文件夹中,以继续前一个实验中的设计,打开Create or Import Peripheral向导,将外设命名为my_led并且连接到PLB总线。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计

26、在原工程目录下新建一个lab3文件夹,并将lab2文件夹下的所有内容拷贝到其中,打开system.xmp工程;点击Hardware Create or Import Peripheral Wizard;点击Next按钮;在Peripheral Flow面板中选择“Create templates for a new Peripheral”,然后点击Next按钮;在Repository or Project面板中,选择To an XPS project,然后点击Next按钮,如图4.3.2所示。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.3.2 Repository o

27、r Project界面第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 在Name and Version面板中,输入my_led作为外部设备名称,接受默认版本然后点击Next按钮,如图4.3.3所示。在Bus Interfaces面板中,选择Processor Local Bus(PLB v4.6),并点击Next按钮。(2)继续使用向导,选择Software reset和User logic software register,选择只有一个32位的软件可控的寄存器,建立模板驱动文件,选择路径为E:workembeddedlab3,在整个步骤的最后回答相关的问题。在IPIF(I

28、P Interface)Services平台中,选择Software reset和User logic software register,如图4.3.4所示,然后点击Next按钮。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.3.3 自定义IP核的命名与版本界面第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.3.4 IPIF(IP Interface)Sevices对话框 第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 在User S/W Register窗口中,Number of software accessible regi

29、sters的个数选择1,点击Next按钮。浏览IP Interconnect(IPIC)界面,上面显示了默认的IPIC信号,如图4.3.5所示,这些是在之前的步骤中选择的,是用户逻辑可以使用的。点击Next按钮继续。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.3.5 IPIC内部连接信号界面第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 在(OPTIONAL)Peripheral Simulation Support对话框中,如果什么都不选,就不生成任何BFM仿真关联文件和目录,因为BFM仿真需要ModelSim仿真工具,而这一第三方开发工具并未安装,

30、直接点击Next按钮。在(OPTIONAL)Peripheral Implementation Support界面中,不选Generate ISE and XST project files to help you implement the peripheral using XST flow,只选择Generate template driver files to help you implement software interface,如图4.3.6所示。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.3.6 Peripheral Implementation Su

31、pport对话框第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 点击Next按钮将会看到如图4.3.7所示的对话框,核对创建信息,点击Finish按钮即可。(3)在向导生成的my_led_v2_1_0.mpd文件中添加LED端口,路径为E:workembeddedlab3pcoresmy_led_v1_00_adata。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.3.7 Congratulations对话框第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(4)利用编辑器打开my_led.vhd和user_logic.vhd文件,路径为E:

32、workembeddedlab3 Pcoresmy_led_v1_00_ahdlvhdl,在这两个文件中添加必要的声明和逻辑。浏览E:workembeddedlab3pcoresmy_led_v1_00_ahdlvhdl目录。利用UltraEdit工具打开my_led.vhd文件。在USER ports added here标记处添加LED端口,如图4.3.8所示。搜索下一个USER添加端口映射声明,如图4.3.9所示。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.3.8 LED端口的声明代码第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.3.9

33、添加映射声明代码第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 在vhdl文件夹下打开user_logic.vhd文件,在User ports区域添加端口LED的定义,如图4.3.10所示。搜索下一个USER,并为user_logic定义内部信号,如图4.3.11所示。搜索USER logic implementation,添加如图4.3.12所示的代码。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.3.10 添加LED端口定义第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.3.11 user_logic内部信号的定义第第4章章 基

34、于基于PowerPC的单核系统设计的单核系统设计 图4.3.12 添加代码第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 4.3.2 添加自定义添加自定义IP核核在XPS中使用IP Catalog,添加my_led到工程中,并连接到总线上,为my_led实例生成地址,在实例中添加必要的端口,定义合适的名称和输出数据端口,添加下列代码到UCF文件中:Net led LOC=AC4;Net led LOC=AC3;Net led LOC=AA6;Net led LOC=AA5;第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(1)在XPS中打开实验3的工程文件syst

35、em.xmp。(2)在IP Catalog区域中展开工程库,如图4.3.13所示,添加自定义设备MY_LED到硬件系统中。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.3.13 IP Catalog中用户创建的外部IP核第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(3)转换到Bus Connections部分,添加my_led_0到PLB总线上,如图4.3.14所示。一旦连接到总线上,左侧总线上的空心圈会变为实心圈,读者也可以通过这一步验证外设是否正确连接了。(4)选择Addresses区域,锁定除my_led_0实例外所有设备的地址。(5)选择my_

36、led_0外设的Size为512,然后点击Generate Addresses按钮,如图4.3.15所示。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.3.14 连接已创建的外部设备到PLB总线第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.3.15 为my_led_0分配地址第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(6)打开system.mhs文件并且加入以下一行代码,如图4.3.16所示。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.3.16 system.mhs文件中的添加代码第第4章章 基于基于

37、PowerPC的单核系统设计的单核系统设计 4.3.3 在硬件系统中开发应用测试程序在硬件系统中开发应用测试程序生成并且下载比特流,验证先前实验的设计,并在下个实验中修改LED的软件程序。(1)点击Device Configuration Update Bitstream生成比特流文件。(2)将比特流文件下载到开发板上。(3)拨动按钮和开关,超级终端上将有相应的反应。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 4.4.1 打开一个工程打开一个工程创建一个lab4文件夹,将lab3中所有内容全部复制到该文件夹下,运行XPS,打开位于E:workembeddedlab4目录下的

38、工程文件。4.4 基本的应用软件设计基本的应用软件设计第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 4.4.2 创建一个创建一个BSP详细说明PPC405内核时钟频率和驱动接口等级。(1)选择Software Software Platform Settings,如图4.4.1所示。(2)选择Processor,Driver Parameters和Interrupt Handlers,然后核实图4.4.2中的参数设置。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.4.1 Software Platform Settings对话框第第4章章 基于基于Po

39、werPC的单核系统设计的单核系统设计 图4.4.2 ppc 405_0实例的软件平台参数设置第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 选择Library/OS Parameters标签,校验RS232_Uart_1被设置为stdin和stdout,按照图4.4.3来校验选择其余部分。驱动部分选择my_led作为my_led外围设备的驱动,确认设置与图4.4.4中的设置相匹配。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.4.3 OS配置参数第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 4.4.3 升级基本的升级基本的C文件文件更

40、新实验3(见4.3节)的my_led外围设备的C代码来显示DIP转换设置。(1)打开TestApp_Memory.c文件。增加函数的头文件,与这个项目有关的所有头文件位于ppc405_0/include 和/drivers目录下。(2)添加一个将DIP转换设置值到my_led外围设备中的函数,即将该函数加到C文件中:#include“my_led.h”。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(3)打开位于E:workembeddedlab4driversmy_led_v1_00_asrc下的头文件my_led.h。(4)找出头文件MY_LED_mWriteReg函数的细

41、节描述。(5)在应用程序的标签中,在TestApp_Memory工程中的ppc405_0实例下,双击Generated Header:ppc405_0/include/xparameters.h进入,如图4.4.5所示。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.4.5 双击Generated Header文件第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(6)增加如下函数,以便dip_switch设置被写入LEDs中:MY_LED_mWriteReg(XPAR_MY_LED_0_BASEADDR,0,dip_check);C代码具体如图4.4.6所示

42、。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.4.6 完成的部分C文件第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(7)保存文件,编译源代码。(8)选择Applications标签来观察当前的工程编译器选项和来源。(9)在工程TestApp_Memory的应用标签中,双击Compiler Options。(10)选择Environment标签,并且改变Stack Size和Heap Size为0 x100,如图4.4.7所示,点击OK按钮保存。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.4.7 指定堆栈段大小第第4章章 基于

43、基于PowerPC的单核系统设计的单核系统设计 4.4.4 连接器脚本连接器脚本打开Cygwin Shell,执行powerpc-eabi-objdump h executable.elf命令,分析输出结果。(1)选择Project Launch EDK Shell来启动Cygwin Shell。(2)用cd命令输入路径E:workembeddedlab4TestApp_Memory,读者可以通过pwd命令确认自己的文件路径,如图4.4.8所示。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.4.8 EDK Shell第第4章章 基于基于PowerPC的单核系统设计的单核

44、系统设计(3)键入powerpc-eabi-objdump h executable.elf,在Cygwin Shell窗口中的快速启动栏中列出根据启动地址和每一个部分的大小划分的程序的不同部分,读者将会看到如图4.4.9所示的结果。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.4.9 Object Dump Results第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(4)双击工程TestApp_Memory的Applications标签的Compiler Options,删除stack and heap区域的值。(5)右击工程TestApp_Memo

45、ry的Applications标签,然后选择Generate Linker Script,如图4.4.10所示。选择xps_bram_if_cntlr_2作为指令的存储区域(.text section),如图4.4.11所示。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.4.10 Generate Linker Script选项第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.4.11 Generate Linker Script对话框第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(6)确保输出连接脚本路径被设置为TestApp_Me

46、mory/src目录,然后点击OK按钮。(7)重新编译程序,运行Cygwin shell下的powerpc-eabi-objdump命令。运行界面如图4.4.12所示。(8)生成和下载位流来核实功能。轻击DIP开关,核实LEDs,将按照开关设置点亮LEDs。(9)关闭工程文件。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.4.12 重新打开EDK Shell对话框第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 本实验在实验1、实验2和实验3的基础上扩展了硬件设计,在本实验中可以添加一个PLB定时器和中断处理器;通过修改软件使用定时器模块,产生在实验2中添

47、加的周期事件;然后加入中断机制计算定时器比较事件发生的次数。本实验中添加的IP核如图4.5.1所示,实验由多个步骤组成。4.5 使用使用SDK进行软件设计进行软件设计 第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.5.1 实验5的设计模块图第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 4.5.1 打开工程打开工程如果希望继续前一次实验中的设计,那么可以创建一个实验5(见4.5节)的文件夹并将实验4(见4.4节)中的所有内容复制到新文件夹下。执行XPS并打开system.xmp工程文件,其路径为E:workembeddedlab5。第第4章章 基于基于P

48、owerPC的单核系统设计的单核系统设计 4.5.2 添加定时器和中断控制器添加定时器和中断控制器从IP Catalog中选择XPS定时器和XPS_INTC添加到设计中,并按照以下要求给出系统连接和相关配置:(1)从IP Catalog的DMA and Timer中添加xps_timer,并重命名为delay。(2)从IP Catalog的Clock、Reset and Interrupt中添加xps_intc。(3)连接Timer和Interrupt控制器作为“s”(slave)到PLB总线上,如图4.5.2所示。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.5.2

49、Timer和Interrupt的总线连接第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(4)在Addresses下,锁定可以锁定的所有地址;选择Size为512B并点击Generate Address,最后生成的地址如图4.5.3所示。(5)在Ports下,将delay的Interrupt中的Net名以timer1作为输入,另外将其CaptureTrig0的Net名改为net_gnd,如图4.5.4所示。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.5.3 Timer与Interrupt的地址分配图第第4章章 基于基于PowerPC的单核系统设计的单核系

50、统设计 图4.5.4 delay的Net设置第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(6)在Ports下,将xps_intc_0的Irq的Net连接到Interrupt上,点击Intr出现对话框,先选中左边的timer1,然后点击后再选择OK按钮,如图4.5.5所示。第第4章章 基于基于PowerPC的单核系统设计的单核系统设计 图4.5.5 设置xps_intc_0的Intr第第4章章 基于基于PowerPC的单核系统设计的单核系统设计(7)将ppc405_0的EICC405EXTINPUTIRQ的Net连接到Interrupt上。(8)双击delay打开参数表,选中O

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《基于Xilinx FPGA的多核嵌入式系统设计基础》课件第4章.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|