【问题标题】:Linux with Altera DE2-115Linux 与 Altera DE2-115
【发布时间】:2017-03-13 16:15:47
【问题描述】:

我正在尝试根据instructions 在我的 Altera DE2-115 FPGA 上运行 Linux。显然第一部分有效:

$ quartus_pgm -m jtag -c USB-Blaster[2-2] -o "p;tPad_Selector.sof"
Info: *******************************************************************
Info: Running Quartus Prime Programmer
    Info: Version 16.1.0 Build 196 10/24/2016 SJ Lite Edition
    Info: Copyright (C) 2016  Intel Corporation. All rights reserved.
    Info: Your use of Intel Corporation's design tools, logic functions 
    Info: and other software and tools, and its AMPP partner logic 
    Info: functions, and any output files from any of the foregoing 
    Info: (including device programming or simulation files), and any 
    Info: associated documentation or information are expressly subject 
    Info: to the terms and conditions of the Intel Program License 
    Info: Subscription Agreement, the Intel Quartus Prime License Agreement,
    Info: the Intel MegaCore Function License Agreement, or other 
    Info: applicable license agreement, including, without limitation, 
    Info: that your use is for the sole purpose of programming logic 
    Info: devices manufactured by Intel and sold by Intel or its 
    Info: authorized distributors.  Please refer to the applicable 
    Info: agreement for further details.
    Info: Processing started: Mon Mar 13 17:10:04 2017
Info: Command: quartus_pgm -m jtag -c USB-Blaster[2-2] -o p;tPad_Selector.sof
Info (213045): Using programming cable "USB-Blaster [2-2]"
Inconsistency detected by ld.so: dl-close.c: 811: _dl_close: Assertion `map->l_init_called' failed!
Info (213011): Using programming file tPad_Selector.sof with checksum 0x00BBDF04 for device EP4CE115F29@1
Info (209060): Started Programmer operation at Mon Mar 13 17:10:05 2017
Info (209016): Configuring device index 1
Info (209017): Device 1 contains JTAG ID code 0x020F70DD
Info (209007): Configuration succeeded -- 1 device(s) configured
Info (209011): Successfully performed operation(s)
Info (209061): Ended Programmer operation at Mon Mar 13 17:10:11 2017
Info: Quartus Prime Programmer was successful. 0 errors, 0 warnings
    Info: Peak virtual memory: 453 megabytes
    Info: Processing ended: Mon Mar 13 17:10:11 2017
    Info: Elapsed time: 00:00:07
    Info: Total CPU time (on all processors): 00:00:01

然后我遇到了我不明白的问题:

$ nios2-flash-programmer --epcs --base=0x0a001800 tPad_Selector.flash
Using cable "USB-Blaster [2-2]", device 1, instance 0x00
Resetting and pausing target processor: 
OK
No EPCS layout data - looking for section [EPCS-010216]
Unable to use EPCS device
Leaving target processor paused

我搜索了有关它的 Altera 论坛,但无法理解。我该怎么办?

我已将 SD 卡格式化为 3 个分区:ext3、fat 和 swap。可能是 SD 卡不兼容或者是什么原因?

调试输出:

$ nios2-flash-programmer --epcs --debug --base=0x0a001800 tPad_Selector.flash
Using cable "USB-Blaster [2-2]", device 1, instance 0x00
Resetting and pausing target processor: 
OK
Processor data bus width is 32 bits
Looking for EPCS registers at address 0x0A001800 (with 32bit alignment)
  Initial values: 0001703A 04C00074 9801483A 9CFFF804 1CE7FF8983FFD1E 0000203A
  Not here: reserved fields are non-zero
Looking for EPCS registers at address 0x0A001900 (with 32bit alignment)
  Initial values: 92400237 4A40100C 483FFD26 90000135 1CE7FF892400237 4A40200C
  Not here: reserved fields are non-zero
Looking for EPCS registers at address 0x0A001A00 (with 32bit alignment)
  Initial values: 108001C4 1004D0FA 002EE03A 003F9C06 1CE7FF8002EE03A 003F9506
  Not here: reserved fields are non-zero
Looking for EPCS registers at address 0x0A001B00 (with 32bit alignment)
  Initial values: 00000000 00000000 00000000 00000000 1CE7FF800000000 00000000
  Not here: SPI_SLAVE_SEL has 0 valid bits (should be between 1 and 16)
Looking for EPCS registers at address 0x0A001C00 (with 32bit alignment)
  Initial values: 00000000 00000000 00000260 00000000 1CE7FF800000000 00000001
  Valid registers found
EPCS signature is 0x16
EPCS identifier is 0x010216
No EPCS layout data - looking for section [EPCS-010216]
Unable to use EPCS device
Leaving target processor paused

【问题讨论】:

  • 您尝试在哪里运行 Linux? DE2-115 是没有硬核的 EP4CE115……你的 EPCS64 是 EPCS64。你的项目是什么?你能从没有 linux 的情况下启动 nios 并运行一些最简单的裸机 led 闪烁开始吗?
  • @osgx 是的,我可以运行预先构建的项目,甚至可以运行由使用 Fedora 的其他人构建的 uClinux。我还将尝试使用 fedora 而不是 ubuntu 进行构建。

标签: linux fpga intel-fpga nios


【解决方案1】:

您的说明(不是针对 DE2-115,而是针对另一块板)针对您遇到的错误给出了指示:

 No EPCS layout data - looking for section [EPCS-010216] .

http://www.alterawiki.com/wiki/Linux_with_MMU_on_VEEK/t-Pad#Unfortunately.2C_if_you_don.27t_have_VEEK.2Ft-PAD_kit.2C_but_you_have_DE2-115...

注意:当您执行“nios2-flash-programmer”命令时,您可能会收到类似的错误 没有 EPCS 布局数据 - 正在寻找 [EPCS-010216] 部分。 在这种情况下,请参考 Altera 论坛页面的“nios2-flash-programmer”或“Nios II Flash Programmer User Guide”的“A. Non-Standard Flash Memory”部分,第 23 页。

您是否查看了“Nios II Flash 编程器用户指南”https://www.altera.com/en_US/pdfs/literature/ug/ug_nios2_flash_programmer.pdf 部分A. Non-Standard Flash Memories

使用中的程序 在本节中,您需要您正在使用的闪存设备的数据表。确保你完全 了解设备的 CFI 方面。 某些 CFI 闪存设备包含缺失或不正确的 CFI 表信息。在这种情况下, Nios II Flash Programmer 可能会根据 CFI 表中的错误信息而失败。对于这些 设备,Nios II 闪存编程器提供以下方法来覆盖 CFI 表和 成功烧写闪存... 始终尝试使用内置识别和 在尝试创建覆盖文件之前覆盖。确定闪存编程器是否识别 设备,使用--debug 选项从命令行运行闪存编程器。如果闪光灯 编程器覆盖 CFI 表时,闪存编程器会显示一条消息“Override data for this device is built in”。

原始 VEEK/T-pad 和 DE2-115 板上的闪存设备是什么?

nios2-flash-programmer --epcs --debug --base=0x0a001800 tPad_Selector.flash 命令输出什么?

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-02
  • 1970-01-01
相关资源
最近更新 更多