Linux 使用 Altera DE2-115

Linux with Altera DE2-115

我正在尝试根据 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

您的说明(不是针对 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...

NOTE: When you execute the 'nios2-flash-programmer' command, you may get an error like No EPCS layout data - looking for section [EPCS-010216] . In such case, please refer the Altera forum page for the 'nios2-flash-programmer' or the section "A. Non-Standard Flash Memories" of "Nios II Flash Programmer User Guide" at pp.23.

你检查过"Nios II Flash Programmer User Guide"https://www.altera.com/en_US/pdfs/literature/ug/ug_nios2_flash_programmer.pdf part A. Non-Standard Flash Memories了吗?

To use the procedures in this section, you need the data sheet for the flash memory device you are using. Make sure you fully understand the CFI aspects of the device. Some CFI flash memory devices contain missing or incorrect CFI table information. In such cases, the Nios II Flash Programmer might fail based on the erroneous information in the CFI table. For these devices, the Nios II Flash Programmer provides the following methods to override the CFI table and successfully program flash memory ... Always try using built-in recognition and override before trying to create an override file. To determine whether the flash programmer recognizes the device, run the flash programmer from the command line with the --debug option. If the flash programmer overrides the CFI table, the flash programmer displays a message "Override data for this device is built in".

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

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