14.1 EDK - 如何使用KC705从闪存启动应用程序?

描述

本文提供了有关如何从Kintex KC705板上的并行BPI闪存引导DDR链接应用程序的说明和教程。

这是一种最小设计,仅使用MicroBlaze处理器,DDR,闪存和UART-Lite外设。使用的地址仅用于演示目的,可以根据最终用户的要求进行编辑。

使用线性闪存(BPI):

  1. 确保KC705上的MODE引脚设置为M [2:0] = 010
  2. 在XPS中构建硬件
  3. 在Base System Builder中,为您的器件选择KC705。
  4. 为您的外围器件选择DDR,线性闪存和UARTLITE
  5. 单击下一步直到完成
  6. 单击项目 - >将硬件设计导出到SDK
    • 确保选中包含bitstrem和BMM文件复选框
  7. SDK启动后,创建两个新的Xilinx C项目(在文件下 - >新建
    • 你好,世界
    • SREC Bootloader
  8. 确保每个项目的链接描述文件指向正确的内存位置(右键单击应用程序- > 生成链接描述文件 ):
    • SREC Bootloader = BRAM
    • Hello World = DDR
  9. 打开SREC bootloader项目中的blconfig.h文件。
    • 设置地址以匹配system.xml + 0x0120 0000偏移量中的FLASH BASEADDR
    • 例如,如果FLASH从0x7600 0000开始,则将地址设置为0x7720 0000
  10. 使用Ctrl-B构建两个应用程序
  11. 尝试使用Xilinx工具 - >编程FPGA并选择该精灵将SREC Bootloader下载到FPGA。
    • 它应该失败。这只是运行DATA2MEM以获得带有SREC引导加载程序的download.bit。
  12. 转到Xilinx工具 - >程序闪存
  13. 选择Hello World ELF文件(通常在workspace_dir / hello_world_0 / Debug / hello_world_0.elf下)
  14. 选中“ 转换为可引导SREC格式 ”复选框
  15. 将闪存偏移设置为0x01200000
  16. 程序Flash
  17. 返回SDK,单击Xilinx Tools - > Launch Shell
  18. 输入:
    • promgen -p bin -c FF -o swapped.bin -data_file up 0 hello_world_0.elf.srec -w
    • 您需要将“hello_world_0.elf.srec”指向您的srec保存的位置(通常在hw_platform_0 / cache下)
  19. 打开iMPACT
  20. 单击左侧的“ 创建PROM文件
  21. 选择BPI Flash - >配置单个FPGA - > [绿色箭头]
  22. 在步骤2中选择Spartan-6
  23. 选择32M
  24. [绿箭]
  25. 选择您将记住的保存位置
  26. 文件格式MCS
  27. 数据宽度x16
  28. 添加非配置文件是
  29. 单击确定
  30. 单击确定开始将器件文件添加到版本0
  31. 在hw_platform_0 /文件夹下找到download.bit
  32. 不要添加其他器件文件
  33. 将您在步骤(18)中创建的swapped.bin文件添加为非配置/数据文件
  34. 将其添加到地址0x0090 0000
  35. 单击左侧的“ 生成
  36. 初始化边界扫描
  37. 右键单击您的器件,然后添加SPI / BPI闪存
  38. 分配您在(25)中创建的MCS
  39. 右键单击器件的闪存,然后单击“ 程序”
  40. 你应该完成
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-31 14:37:03 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它