对于高性能 FPGA 设计,将 Wind River VxWorks® 实时操作系统 (RTOS) 应用于 Virtex™-4 嵌
入式 PowerPC™ 处理器仍为热门选择。引入 Wind River Workbench 设计环境后,设计者便可以通过全新的方式轻松控制 VxWorks 内核的配置。本指南说明了构建和配置 ML403 嵌入式开发平台以启动和运行 VxWorks RTOS 所需的步骤。创建 VxWorks bootloader,将其编入 Flash,并用于启动设计。这里阐述的概念可用于任何启用 PowerPC 的开发平台。
包含文件
本应用指南随附一套文件,需与本应用指南配合使用。•
www.xilinx.com/cn/bvdocs/appnotes/xapp947.zip
必需项
用户需具备如下工具、电缆、外设及相关许可,并根据需要安装到主机上:••••••••
Xilinx EDK 8.2 工具 + 最新服务包Xilinx ISE 8.2 工具 + 最新服务包
Xilinx 下载电缆(平台电缆 USB 或并行电缆 IV)Wind River Workbench 2.5 工具Wind River Probe / ICE
从 Wind River Dual Header(Wind River 双头)到 Xilinx 并行 IV 带状电缆接插件之间的适配器(需另行购买)。针对 Probe/ICE 的 Wind River 多核调试许可证
如果未使用 VxWorks 通用平台,则需经过编译的网络源代码。参阅 Wind River 文档获取更多信息。
准备工作
1.找到 ML403 板,以下称为“目标”。2.用串行交叉电缆连接目标与电脑主机。
3.用网络电缆连接目标和电脑主机(必要时穿过集线器/开关),以实现以太网到板/板到以
太网的连接。4.从 System ACE™ 插槽移除压缩 Flash 卡,并将板底部的配置开关设置为 SysACE。5.将 Xilinx 下载电缆经由带状接插件连接至主机及目标上的调试插槽。
6.配置 UART 终端应用程序(如:TeraTerm 或 HyperTerminal),以监控连接至目标板的串
行端口。使用 9600 波特、8 数据位、无停止位、无奇偶校验位,且无流程控制。也可使用 Wind River Workbench 工具附带的内嵌式终端应用程序。7.利用电脑主机上的 TCP/IP 设置指定一个固定的 IP 地址 192.168.0.1。将子网掩码指定为
255.255.255.0。8.连接电源与目标。
© 2006 Xilinx, Inc. All rights reserved. All Xilinx trademarks, registered trademarks, patents, and further disclaimers are as listed at http://www.xilinx.com/legal.htm. PowerPC is a trademark of IBM Inc. All other trademarks and registered trademarks are the property of their respective owners. All specifications are subject to change without notice.
NOTICE OF DISCLAIMER: Xilinx is providing this design, code, or information \"as is.\" By providing the design, code, or information as one possible implementation of this feature, application, or standard, Xilinx makes no representation that this implementation is free from any claims of infringement. You are responsible for obtaining any rights you may require for your implementation. Xilinx expressly disclaims any warranty whatsoever with respect to the adequacy of the implementation, including but not limited to any warranties or representations that this implementation is free from claims of infringement and any implied warranties of merchantability or fitness for a particular purpose.
XAPP947 2006 年 10 月 5 日www.xilinx.com/cn 1
构建硬件R构建硬件
1.启动 Platform Studio 并利用 Base System Builder 构建一个系统。指定目录与项目名。2.选择板供应商:Xilinx。选择 ML403 板。3.选择 PowerPC 处理器。
4.参考时钟 = 100 MHz、处理器时钟 = 200 MHz、总线时钟 = 66.67 MHz。5.JTAG 调试接口 = FPGA JTAG。6.OCM = 无。7.缓存 = 禁用。
8.包括 RS232_Uart = OPB Uartlite、9600 波特、8 数据位、无奇偶校验位,使用中断。9.包括 LEDs_4Bit = OPB GPIO,无中断。10.包括 LEDs_Positions = OPB GPIO,无中断。11.包括 Push_Buttons_Position = OPB GPIO,无中断。12.排除 IIC_EEPROM。
13.排除 SysACE_CompactFlash。14.排除 Cypress_USB。
15.包括 DDR_SDRAM_Mx32 = PLB DDR,使用中断。
16.包括 Ethernet_MAC = PLB ETHERNET、Scatter Gather DMA,使用中断。 17.排除三态 MAC_GMII。18.排除 SRAM_256Kx32。
19.包括 FLASH_2Mx32 = PLB EMC。
20.包括 PLB BRAM IF CNTLR = 存储器大小 16KB。21.STDIN / STDOUT = RS232_Uart。
22.启用 Memory Test 和 Peripheral Self Test。
23.对于 Memory Test Instruction,请将 Data、Stack 和 Heap 设置为 PLB_BRAM。24.对于 Peripheral Test Instruction,请将 Data、Stack 和 Heap 设置为 DDR_SDRAM。25.点击 Generate and Finish。通过 Platform Studio 选择 Start,并点击 OK。
26.使用 Hardware → Generate Bitstream 构建硬件设计。等待工具为设计进行布局和布线,
并创建一个比特流。27.从 Application 标签上选择 bootloop 软件应用程序。右键点击并确保 Mark to Initialize from
BRAMs 选项已被设置。请确保其他所有软件应用程序均未设置为填充 Block RAM。28.运行 Device Configuration → Update Bitstream,以生成 bootloop(启动循环)比特流文
件 download.bit。
创建并修改 BSP
1.打开软件平台设置 GUI:
a.将 ppc405_0 操作系统选择更改为 vxworks6_1。b.将 STDIN 和 STDOUT 设置更改为 RS232_Uart。
c.将 UART 与以太网 MAC 添加到 VxWorks 设置的“connected peripherals”列表中。2.使用 Software → Generate Libraries and BSPs 生成 VxWorks 板支持包 (Board Support
Package, BSP)。3.在 EDK 项目中创建一个名为 modified_vxworks_bsp 的目录。
4.将 modified_vxworks_bsp 目录。5.在 modified_vxworks_bsp 目录下创建“\\net\\coreip”目录。 XAPP947 2006 年 10 月 5 日www.xilinx.com/cn 2 创建并修改 BSP6.将 usrBootLine.c 文件从 R7.修改 modified_vxworks_bsp\\net\\coreip 目录中的 usrBootLine.c 文件,将以下 框中所列行删除。以下提供一个完整示例。 void usrBootLineInit ( int startType ) { if ((startType & BOOT_CLEAR) || (* BOOT_LINE_ADRS == EOS)) { /* * Either cold boot or empty boot line -- * initialize boot line if not given params by '$' boot command */ if ( *BOOT_LINE_ADRS == EOS ) { if ((sysNvRamGet (BOOT_LINE_ADRS, BOOT_LINE_SIZE, 0) == ERROR)) { /* no non-volatile RAM -- use default boot line */ strcpy (BOOT_LINE_ADRS, DEFAULT_BOOT_LINE); } } } }The corrected version should appear as follows:void usrBootLineInit ( int startType ) { if ((startType & BOOT_CLEAR) || (* BOOT_LINE_ADRS == EOS)) { /* * Either cold boot or empty boot line -- * initialize boot line if not given params by '$' boot command */ if ((sysNvRamGet (BOOT_LINE_ADRS, BOOT_LINE_SIZE, 0) == ERROR)) { /* no non-volatile RAM -- use default boot line */ strcpy (BOOT_LINE_ADRS, DEFAULT_BOOT_LINE); } } }XAPP947 2006 年 10 月 5 日www.xilinx.com/cn 3 创建并修改 BSP8.修改 modified_vxworks_bsp\\config.h 文件,以反映以下框内显示的更改: /* memory configuration */#define LOCAL_MEM_LOCAL_ADRS 0#undef LOCAL_MEM_AUTOSIZE /* no run-time memory sizing */#define LOCAL_MEM_SIZE 0x04000000 /* TODO: fixed memory size */#define USER_RESERVED_MEM 0 /* see sysMemTop() */R#define ROM_BASE_ADRS 0x0D000000 /* base address of ROM */#define ROM_TEXT_ADRS (ROM_BASE_ADRS+0x100) /* with PC & SP */#define ROM_WARM_ADRS (ROM_TEXT_ADRS+8) /* warm reboot entry */#define ROM_SIZE 0x00800000 /* 256KB ROM space */#define RAM_HIGH_ADRS 0x00C00000 /* RAM address for bootrom */#define RAM_LOW_ADRS 0x00010000 /* RAM address for vxWorks */#undef CONSOLE_BAUD_RATE#define CONSOLE_BAUD_RATE 9600 /* console baud rate */Edit the modified_vxworks_bsp\\makefile file to reflect the changes shown highlighted below:ROM_TEXT_ADRS ROM_WARM_ADRS ROM_SIZE RAM_LOW_ADRS RAM_HIGH_ADRS = 0D000100 # ROM cold entry address= 0D000108 # ROM warm entry address= 00800000 # number of bytes of ROM space= 00010000 # RAM text/data address for vxWorks= 00C00000 # RAM text/data address for bootromCSP_DIR = $(subst \\,/,$(shell pwd)/ppc405_0_drv_csp/xsrc)ADDED_CFLAGS = -gEXTRA_INCLUDE = -I$(CSP_DIR)图 1 表示在 VxWorks 启动加载过程中,ROM_BASE_ADRS、ROM_HIGH_ADRS、ROM_LOW_ADRS 等的应用情况。 RAMRAM_LOW_ADRSROMROM_BASE_ADRSRAM_HIGH_ADRSROMIMAGEROM_TEXT_ADRSROMIMAGECOPYNETWORKORLOCAL STORAGEX947_01_100406VXWORKSIMAGE图 1: 启动加载过程 9.修改 modified_vxworks_bsp\\sysNet.c 文件,以反映目标板的 MAC 地址。System ACE CompactFlash(系统 ACE 压缩闪存)插槽下的标签上印有 ML403 上的以太网 MAC 地址。以下示例针对以太网 MAC 地址 AB-CD-12-34-FF-E0: XAPP947 2006 年 10 月 5 日www.xilinx.com/cn 4 配置并构建 VxWorks 内核映像Rstatic char XEmacMacAddr0[6] = { 0xAB, 0xCD, 0x12, 0x34, 0xFF, 0xE0 }; 10.如需要,可修改 sysLib.c 文件,以在 VxWorks 启动时显示 Virtex-4 消息。请查看以下示 例。 char * sysModel (void){/* return (\"ppc405_0 VirtexII Pro PPC405\");*/ return (\"Xilinx Virtex-4 FX PPC405\"); }配置并构建 VxWorks 内核映像 1.打开 Wind River Workbench 工具并从主菜单中选择 Workbench 。在 New → VxWorks Image Project。 ♦♦♦♦ 指定项目名,如 ml403_vxworks_image,并选择在工作区内创建项目。选择基于板支持包创建项目,然后转至 modified_vxworks_bsp 目录。将工具链设置为 gnu 或 diab。 点击 Finish。项目将显示于 Project Navigator 窗格的左侧,工具会对 BSP 进行解析。 3.展开 Project Navigator 窗格中的项目树,双击 Kernel Configuration 子菜单项。窗口 将显示层级树。黑体显示的项目表明已包含于内核中,而用标准文字显示的项目,用户可以自行添加。要从内核中添加或删除项目,请右键点击相应项目并选择 Include (Default Components Only) 或 Exclude (Default Components Only) 选项。内核配置方法如下:♦包括 development tool components → kernel shell components ♦♦♦ 包括 development tool components → WDB agent components 包括 development tool components → WDB agent components → 选择 WDB mode → WDB system debugging 排除 hardware → memory → enable caches 4.关闭组件配置窗口并保存更改。 5.在 Project Navigator 窗格中,右键点击 ml403_vxworks_image 项目并选择 Build Project。内核构建完成,Build Console 窗格中的屏幕底部会显示“Build Finished......”。6.请确保板已接通电源,然后通过 Device Configuration → Download Bitstream 菜单选项对板进行配置。检查目标上的 DONE LED 是否亮起。7.从目标板上拔掉 Xilinx 下载电缆,使用 14 针适配器将 Wind River Probe/ICE 与同一插槽相 连。8.利用 Wind River Workbench 工具对目标服务器进行配置,将其通过 Wind River 调试电缆 (如 Probe / ICE)与板连接。ML403 板包含 JTAG 组合链,因此需指定 BRD 文件才能使 Wind River 工具正确与板连接。选择 Board File 单选按钮,然后找到代表 ML403 板的 BRD 文件。此文件可在 Wind River 安装路径的 在 Target Manager 窗口中点击鼠标右键,选择 New → Connection。选择所需电缆类型,并点击 Next。 选择 Board File 单选按钮,然后找到代表 ML403 板的 BRD 文件。 点击 Next 或 Finish 后,工具就会与板建立连接。Target Manager 窗格中目标连接旁会显示 Connected 状态。如果连接未被自动调用,请右键点击此连接并选择 Connect。 www.xilinx.com/cn 5 XAPP947 2006 年 10 月 5 日 创建 VxWorks Boot Loader9.将 VxWorks 内核映像下载到板中。 ♦♦♦ R在目标连接旁的层级树中,可以看到处理器实例。右键点击此行,并选择 Reset and Download。 在 Reset 标签中,确保已选中 Reset 选项。 在 Download 标签中,点击 Add Files ,然后找到 \\windriver_workspace\\ml403_vxworks_image\\default\\VxWorks 文件。这就是之前创建的内核映像。 在 Run Options 标签中,选择 Run to End of Program 单选按钮。 点击 Reset and Download 按钮。VxWorks 映像会被下载到目标中,随后将通过处理器运行。UART 终端将显示 VxWorks 标志。至此,一个适用于 ML403 板的有效 VxWorks 映像便创建完毕。 ♦♦ 10.右键点击 Target Manager 窗格中的连接入口并点击 Disconnect 即可断开 Wind River 调试 连接。 创建 VxWorks Boot Loader 1.Wind River Workbench 目前不支持使用 BSP 在自定义目录中创建 boot loader。将 modified_vxworks_bsp 目录复制到 3.在屏幕左侧的 Wind River Workbench Project Navigator 窗格中,右键点击并选择 New → VxWorks Boot loader Project。 ♦♦♦♦♦ 指定项目名,如 ml403_vxworks_bootloader 并点击 Next。从列表中选择 BSP,其中包含第 1 步创建的目录名。从下拉列表中选择 Uncompressed 映像风格。从下拉列表中选择 Bin 格式。点击 Finish。 4.右键点击最新创建的项目,并从菜单选项中选择 Build Project。 Boot loader 构建完成,Build Console 窗格中的屏幕底部将显示“Build Finished......”。 将 Boot Loader 编入 Flash 1.Wind River Workbench 包含专为 Flash 器件编写程序的应用程序。要访问此功能,请使用 Wind River 调试电缆将其重新连接到目标板中。2.右键点击处理器实例并选择 Attach to Core 选项。 3.点击 Workbench 菜单中的 Window → Open Perspective → Embedded Debug。4.在 Workbench 菜单中,点击 Window → Show View → Flash Programmer。 5.在屏幕底部,您将看到 Flash Programmer 窗格。点击 Configuration View 标签,并选择 Intel → 28F320Jx → 2048 x 16 → 2 Devices 选项。 此选项代表的是 ML403 板上 Flash 器件的部件号码、数量及配置。6.在 Flash Bank Address 框中输入基址 0x0D000000。高位址将由此工具自动完成 (0x0D7FFFFF)。7.确保将 RAM Workspace 框中的值设定为 DDR SDRAM 的基址 (0x00000000)。 8.将 RAM Workspace Size 设置为 60000。此工具将自动微调这一数值,以将其置于 2n 边界 之上。9.查看是否可以在 Sectors 窗口中访问 Flash 的 0-31 区域,然后点击 Select All 按钮。10.选择 Memory/Diagnostics View 标签,在 View Address 框中输入 0x0D000000 值,然后 点击 Refresh。11.点击 Start Program Diagnostic 按钮,等待数秒钟后点击 Abort Diagnostic 按钮。 “*WRS_FLASH*_”字样将连续出现在存储器视图中。这表明工具已被成功编入 Flash。 XAPP947 2006 年 10 月 5 日www.xilinx.com/cn 6 配置 PPC Block RAM 应用程序以访问 Flash12.点击 Start Erase Diagnostic 按钮,等待数秒钟后点击 Abort Diagnostic 按钮。您将看到 “p p p p p p p p”字样连续出现在存储器视图中。这表明工具已成功删除 Flash。 R13.选择 Programming View 标签。检查 Erase Sectors 框是否指明将把 Flash 从 0x0D000000 移至 0x0D7FFFFF。14.在此标签的 Flash Programming 部分,选中 Send IN before each operation ,然后点击各 个按钮下的 Erase 按钮。工具开始删除 Flash 组件,进程状态条也随之移动,标示出删除进程。请耐心等待,随后您会看到 Done 消息。Flash 至此删除完毕。15.选择 Files View 标签。在窗口右侧,点击 Add File 按钮,然后找到 ml403_vxworks_bootloader\\bootrom_uncmp.bin 文件。 16.点击刚添加到列表的文件的起始地址字段。此值将显示于 Flash 的基址中,后加 0x100 字 节。在此示例中,该数值为 0x0D000100。17.请记录由工具生成的结束地址;此地址表明要编入 Flash 的文件的大小。 18.选择 Configuration View 标签并根据如上记录的文件大小选择充足的 Flash 区域。对于多数 未经压缩的普通 VxWorks boot loader,大约需要四个区域(即 0 - 3 区域)。19.选择 Programming View 标签,并点击 Program 按钮。Flash 通过“bootrom_uncmp.bin”映像被编译。 20.右键点击 Target Manager 窗格中的有效调试连接并选择 Disconnect 即可中断与板的连 接。21.切断 ML403 板的电源,然后断开 Wind River 调试电缆。 配置 PPC Block RAM 应用程序以访问 Flash 1.重新连接 Xilinx JTAG 电缆与板,并接通电源。 2.在 Xilinx Platform Studio Applications 标签中,点击 Software → Add Software Applications Project。新建名为 VxWorks_Start 的软件项目。 3.将源代码文件 vxworks_start.c 添加到“VxWorks_Start”项目中。此代码可以使处理 器与存储于 Flash 的 boot loader 通过使用函数指针相关联。4.检查源代码中的 #define flash_address 0x0D000100 行能否反映 boot loader 映像被编入 Flash 时所在的地址。在我们提供的示例中,此值为 0x0D000100。5.添加连接器脚本,将此启动代码置于 FPGA 的 Block RAM 中。bram_linker_script 文件中列举了一个示例。6.设置新 VxWorks_Start 项目,以填充 Block RAM。从 Block RAM 中,取消指定 “bootloop”应用程序。7.只有将 Platform Studio 工具设置为模式,才可使用此软件项目所需的一些驱动程序和 资料库。点击 Software → Software Platform Settings ,然后将操作系统改回为 Standalone,而非 VxWorks6_1。点击 Apply。8.选择 Library / OS Parameters 标签并将 STDIN 和 STDOUT 配置为 RS232_Uart。点击 OK。9.使用 Software → Build All User Applications 编译新应用程序。源文件编译前,资料库生成 器将被自动调用。10.通过 Device Configuration → Update Bitstream 初始化比特流中的 Block RAM。 测试 Boot Loader 1.在 Xilinx Platform Studio 工具中,通过 Device Configuration → Download Bitstream 将新 比特流下载到 ML403。2.在 UART 终端窗口中,会有一两行文字表明 VxWorks_Start 项目正在运行,随后暂停数秒 钟。然后,Wind River boot loader 应用程序将进入运行状态并开始自动倒计时。3.按下 UART 终端窗口中的任意按键即可中止倒计时。您将看到“[VxWorks Boot]:”提示 符。 XAPP947 2006 年 10 月 5 日www.xilinx.com/cn 7 配置 Boot LoaderR配置 Boot Loader Boot loader 用来通过网络从 FTP 服务器上获取主 VxWorks 内核映像。作为 BSP 的一部分,目标板通过 IP 地址 192.168.0.2 进行配置。我们需要在主机上设置 FTP 服务器,然后重新配置 boot loader 应用程序,以访问相应的 VxWorks 映像。 1.在 PC 主机上,从 Start 菜单中选择 Start → All Programs → Wind River → VxWorks 6.1 → FTP Server 。2.在 FTP 服务器应用程序中,从菜单中选择 Security → Users/Rights。3.点击 New User 并输入名称 my_ftp_user。4.在两个密码框中都输入 pass。 5.在 Home Directory 框中,输入 VxWorks 内核映像的路径: calls”之外的所有框,并点击 OK。7.在 UART 终端中,输入 p 并按下 Enter 以显示当前的 boot loader 设置。这些设置类似于以 下显示的斜体部分。 [VxWorks Boot]: pboot deviceunit number processor numberhost namefile name inet on ethernet (e)host inet (h)user (u)flags (f)[VxWorks Boot]: : xemac: 0: 0: host: VxWorks : 192.168.0.2 : 192.168.0.1: xemhost: 0x0 以太网 MAC 名称以太网 MAC ID以太网 MAC ID未使用VXWORKS 映像名称目标板的 IP 地址PC 主机的 IP 地址FTP 用户名称未使用其中一些参数需要调整。在 UART 终端窗口中输入 c 并按下 Enter,各选项单独显示。要使用默认设置,请按下 Enter。您也可以输入新值。 8.更改设置,使其与斜体显示的内容相符(只需更改用户名和密码): boot device processor numberhost namefile name inet on ethernet (e)inet on backplane (b)host inet (h)gateway inet (g)user (u) ftp password (pw)flags (f) target name (tn)startup script (s)other (o) : xemac0: 0: host: vxWorks : 192.168.0.2: : 192.168.0.1: : my_ftp_user: pass: 0x0::: 启动加载设计 1.在 [VxWorks Boot] 提示符旁输入 @ 来启动设计。 2.Boot loader 与板连接,通过 FTP 下载映像,然后运行 VxWorks 内核。在此期间,请监控 UART 终端窗口和 FTP 服务器日志。可以对启动加载过程的各个阶段进行观察。3.通过在提示符旁输入 i 检查 VxWorks 内核是否已启动。列出的内容即为当前的运行任务。 在提示符旁输入 version 即可显示网络信息。 XAPP947 2006 年 10 月 5 日www.xilinx.com/cn 8 启动加载设计RAttaching interface lo0... done Attached IPv4 interface to xemac unit 0Loading... 1298224 Starting at 0x10000... Attaching interface lo0... done Attached IPv4 interface to xemac unit 0Adding 4623 symbols for standalone. XAPP947 2006 年 10 月 5 日www.xilinx.com/cn 9 将板设置为启动模式R]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]] ]]]] ]]]]]]]]]] ]] ]]]] (R) ] ]]]]]]]]] ]]]]]] ]]]]]]]] ]] ]]]] ]] ]]]]]]] ]]]]]]]] ]]]]]] ] ]] ]]]] ]]] ]]]]] ] ]]] ] ]]]] ]]] ]]]]]]]]] ]]]] ]] ]]]] ]] ]]]]] ]]]] ]]] ]] ] ]]] ]] ]]]]] ]]]]]] ]] ]]]]]]] ]]]] ]] ]]]] ]]]]] ] ]]]] ]]]]] ]]]]]]]] ]]]] ]] ]]]] ]]]]]]] ]]]] ]]]]]] ]]]]] ]]]]]] ] ]]]]] ]]]] ]] ]]]] ]]]]]]]] ]]]] ]]]]]]] ]]]]] ] ]]]]]] ] ]]] ]]]] ]] ]]]] ]]]] ]]]] ]]]] ]]]]]]]] ]]]]] ]]] ]]]]]]] ] ]]]]]]] ]]]] ]]]] ]]]] ]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]] Development System ]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]] VxWorks 6.1 ]]]]]]]]]]]]]]]]]]]]]]]]]] KERNEL: WIND version 2.7 ]]]]]]]]]]]]]]]]]]]]]]]]] Copyright Wind River Systems, Inc., 1984-2005 CPU: ppc405_0 VirtexII Pro PPC405. Processor #0. Memory Size: 0x4000000. BSP version 1.2/0. Created: Feb 1 2006, 10:20:21 ED&R Policy Mode: Deployed WDB Comm Type: WDB_COMM_END WDB: Ready.-> i NAME ENTRY TID PRI STATUS PC SP ERRNO DELAY---------- ------------ -------- --- ---------- -------- -------- ------- -----tJobTask jobTask 53dfb0 0 PEND f3a1c 53de80 0 0tExcTask excTask 5414d8 0 PEND f1b14 541370 0 0tLogTask logTask 544628 0 PEND f1b14 544500 0 0tNbioLog aafa0 547e98 0 PEND f3a1c 547d80 0 0tShell0 shellTask 61e268 1 READY faa80 61df60 0 0tWdbTask wdbTask 609c78 3 PEND f3a1c 609b70 0 0tNetTask netTask 54ca80 50 PEND f3a1c 54c9c0 0 0value = 0 = 0x0-> 将板设置为启动模式 到目前为止,我们所讨论的都是就 FPGA 比特流对板进行手动配置。要获得运行功能,可对板上的 Xilinx Flash PROM 通过比特流进行编译,其中不仅包含硬件配置,还包含 VxWorks_Start 软件(存储于 Block RAM 中)。为此,请使用 Xilinx iMPACT 工具配置 PROM,然后将板设置为 PROM 可配置模式。1.运行 Xilinx iMPACT 工具。2.选择准备 PROM 文件。 3.选择生成 PROM 文件的位置。例如: 6.点击 Add File 按钮,然后找到 10.点击 iMPACT 窗口顶部的 Initialize Chain 按钮。JTAG 器件链将被自动检测出。 XAPP947 2006 年 10 月 5 日www.xilinx.com/cn 10 配置目标服务器11.点击 OK 确定状态消息,然后点击 Cancel All 取消配置文件 GUI。 12.双击 XCF32P PROM 图标,然后找到 R14.检查 Erase before Programming 和 Verify 选项是否选中,然后点击 OK。PROM 将被删除 并重新编译,一条蓝色“Programming Succeeded”消息会出现。15.关闭 iMPACT。16.断开 ML403 板的电源。17.断开 JTAG 电缆与板的连接。 18.将板底部的配置开关移至 Plat Flash 设置。 19.接通板电源,检查其能否被自动启动至 Wind River boot loader 屏幕。 配置目标服务器 板现已配置好,提供以太网连接。这样,我们就可以通过网络调试内核及其上运行的所有应用程序了。此功能对于软件开发团队尤其适用,因为这样就无需将 Wind River 调试电缆与宿主开发机连接在一起了。目标上所有需要运行并调试的软件应用程序均可通过以太网进行传输,打破了目标板需与软件开发商位于同一地区的地域。 1.从 Wind River Workbench 的“Target Manager”中,右键点击相应窗格并选择 New → Connection。2.从列表中选择 Wind River Target Server Connection for VxWorks 并点击 Next。3.检查 Back End Setting 是否配置为 wdbrpc。 4.在 Name / IP Address 框中输入板的 IP 地址。在我们提供的示例中,此地址为 102.168.0.25.在 Kernel Image 部分,选择 File 单选按钮,然后找到 \\windriver_workspace\\ml403_vxworks_image\\default\\vxWorks 文件。点击 Next。6.确保选中 Load module symbols...... 框,并点击 Next。 7.点击 Finish 接受设置。连接将通过以太网自动启动,Target Manager 窗口中将显示 “405GP:vxworks 6.1”条目。8.验证对 PPC405 处理器的完全控制,方法如下:右键点击“405GP:vxworks 6.1”条目并 选择 Attach to Kernel (System Mode)。9.在 Target Manager 窗格中,展开 Kernel Tasks 树,以查看内核上目前正在运行的任务。10.在屏幕右上角,点击 Debug 窗格中的 Pause 按钮(两黄色竖条)。此操作将暂停板上内 核的运行,主窗口中将显示一系列汇编程序说明。此时可以在窗口右下角的 Registers 窗格中看到处理器寄存器。11.点击 Debug 窗口中的 Resume,内核将继续运行。 XAPP947 2006 年 10 月 5 日www.xilinx.com/cn 11 参考文件R参考文件 《ML401/ML402/ML403 评估平台用户指南》。(UG080 )http://www.windriver.com。 XAPP548《使用 EDK 和 Wind River VxWorks 着手设计》 修订历史 下表说明此技术文档的修订历史。 日期2006 年10 月 5 日 版本1.0 Xilinx 最初版本。 修订 XAPP947 2006 年 10 月 5 日www.xilinx.com/cn 12
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务