embeded/FPGA - ALTERA2018. 2. 3. 14:03

머가 문제야 도대체 ㅠㅠ


처음 nios2를 올리면 EPCS의 시작 주소부터 검색을 하는데

유효한 레지스터는 찾았으나.. EPCS 서명과 식별자도 다 맞는데

EPCS layout data가 없다고.. 근데 레이아웃 데이터는 또 머야

Info: 2018. 2. 3 오후 1:47:39 - (정보) elf2flash: args = --input=D:/Download/DE0_NANO/software/hello_world_0/hello_world_0.elf --output=D:/Download/DE0_NANO/software/hello_world_0_bsp/flash/hello_world_0_epcs_flash_controller_0.flash --epcs --verbose

Info: 2018. 2. 3 오후 1:47:39 - (미세) elf2flash: Starting

Info: 2018. 2. 3 오후 1:47:39 - (보다 미세) elf2flash: Program Record: 3964 bytes destined for 0x4008000

Info: 2018. 2. 3 오후 1:47:39 - (보다 미세) elf2flash: Program Record: 724 bytes destined for 0x4009250

Info: 2018. 2. 3 오후 1:47:39 - (보다 미세) elf2flash: Start Record: 4008020

Info: 2018. 2. 3 오후 1:47:39 - (미세) elf2flash: Done

Info: Using cable "USB-Blaster [USB-0]", device 1, instance 0x00

Info: Resetting and pausing target processor: 

Info: OK

Info: Reading System ID at address 0x04012030: 

Info: verified

Info: Processor data bus width is 32 bits

Info: Looking for EPCS registers at address 0x04011000 (with 32bit alignment)

Info:   Initial values: 0001703A 04C00074 9801483A 9CFFF804 983FFD1E 0000203A

Info:   Not here: reserved fields are non-zero

Info: Looking for EPCS registers at address 0x04011100 (with 32bit alignment)

Info:   Initial values: 93000237 6300080C 603FFD26 90000335 A8000C26 03010004

Info:   Not here: reserved fields are non-zero

Info: Looking for EPCS registers at address 0x04011200 (with 32bit alignment)

Info:   Initial values: 02C02004 002EE03A 00000F06 90000335 4000683A 0017883A

Info:   Not here: reserved fields are non-zero

Info: Looking for EPCS registers at address 0x04011300 (with 32bit alignment)

Info:   Initial values: 003FD006 5280040C 501496FA 701CD07A 729CB03A 843FFFC4

Info:   Not here: reserved fields are non-zero

Info: Looking for EPCS registers at address 0x04011400 (with 32bit alignment)

Info:   Initial values: 00000000 00000000 00000260 00000000 00000000 00000001

Info:   Valid registers found

Info: EPCS signature is 0x16

Info: EPCS identifier is 0x010216

Info: Leaving target processor paused

Error: No EPCS layout data - looking for section [EPCS-010216]

Error: Unable to use EPCS device

Error: Error code: 8 for command: nios2-flash-programmer "D:/Download/DE0_NANO/software/hello_world_0_bsp/flash/hello_world_0_epcs_flash_controller_0.flash" --base=0x4011000 --epcs --sidp=0x4012030 --id=0x0 --timestamp=1517632677 --device=1 --instance=0 '--cable=USB-Blaster on localhost [USB-0]' --program --verbose 


아무튼 한번더 Start 눌러서 굽기 시도 하면

0x0000 0000을 못 찾고는 바로 배를 짼다.. 도대체 머야 -_-

Info: 2018. 2. 3 오후 1:47:52 - (정보) elf2flash: args = --input=D:/Download/DE0_NANO/software/hello_world_0/hello_world_0.elf --output=D:/Download/DE0_NANO/software/hello_world_0_bsp/flash/hello_world_0_epcs_flash_controller_0.flash --epcs --verbose

Info: 2018. 2. 3 오후 1:47:52 - (미세) elf2flash: Starting

Info: 2018. 2. 3 오후 1:47:52 - (보다 미세) elf2flash: Program Record: 3964 bytes destined for 0x4008000

Info: 2018. 2. 3 오후 1:47:52 - (보다 미세) elf2flash: Program Record: 724 bytes destined for 0x4009250

Info: 2018. 2. 3 오후 1:47:52 - (보다 미세) elf2flash: Start Record: 4008020

Info: 2018. 2. 3 오후 1:47:52 - (미세) elf2flash: Done

Info: Using cable "USB-Blaster [USB-0]", device 1, instance 0x00

Info: Resetting and pausing target processor: 

Info: OK

Info: Reading System ID at address 0x04012030: 

Info: verified

Info: Processor data bus width is 32 bits

Info: Looking for EPCS registers at address 0x04011000 (with 32bit alignment)

Info:   Initial values: 0001703A 04C00074 9801483A 9CFFF804 983FFD1E 0000203A

Info:   Not here: reserved fields are non-zero

Info: Looking for EPCS registers at address 0x04011100 (with 32bit alignment)

Info:   Initial values: 93000237 6300080C 603FFD26 90000335 A8000C26 03010004

Info:   Not here: reserved fields are non-zero

Info: Looking for EPCS registers at address 0x04011200 (with 32bit alignment)

Info:   Initial values: 02C02004 002EE03A 00000F06 90000335 4000683A 0017883A

Info:   Not here: reserved fields are non-zero

Info: Looking for EPCS registers at address 0x04011300 (with 32bit alignment)

Info:   Initial values: 003FD006 5280040C 501496FA 701CD07A 729CB03A 843FFFC4

Info:   Not here: reserved fields are non-zero

Info: Looking for EPCS registers at address 0x04011400 (with 32bit alignment)

Info:   Initial values: 00000016 00000016 00000260 00000000 00000016 00000001

Info:   Not here: reserved fields are non-zero

Info: Leaving target processor paused

Error: No EPCS registers found: tried looking at addresses    

Error:  0x04011000,

Error:  0x04011100,

Error:  0x04011200,

Error:  0x04011300 and

Error:  0x04011400

Error: Error code: 8 for command: nios2-flash-programmer "D:/Download/DE0_NANO/software/hello_world_0_bsp/flash/hello_world_0_epcs_flash_controller_0.flash" --base=0x4011000 --epcs --sidp=0x4012030 --id=0x0 --timestamp=1517632677 --device=1 --instance=0 '--cable=USB-Blaster on localhost [USB-0]' --program --verbose 

일단 EPCS 레지스터를 못 찾았다 에러를 보면


B.5 "No EPCS Registers Found" Error

When you run the flash programmer to program an EPCS device, you get the error:

"No EPCS registers found: tried looking at addresses...."

B.5.1 Probable Cause

The flash programmer can connect with a Nios II JTAG debug module in the FPGA, but it cannot successfully find an EPCS device located at the specified base address.

>> 플래시 프로그래머는 FPGA의 Nios II JTAG 디버그 모듈과 연결할 수 있지만, 지정된 base address에서 EPCS 장치를 발견하는데 성공하지 못했다.

B.5.2 Suggested Actions

• Reconfigure the FPGA with a valid target design via JTAG using the Intel Quartus Prime programmer. If the FPGA is configured by another method, such as by a configuration controller, the pins that connect to the EPCS device might be disabled.

>> 쿼터스 프로그래머를 이용해 JTAG으로 FPGA를 재설정하라. 만약에 FPGA가 configuration controller 와 같은 다른 방법으로 설정된다면 EPCS 장치와 연결되는 핀들이 비활성화 되었을 수 도 있다.

• If you are using quartus_pgm --nios2 from the command line, ensure you specified the correct base address for your EPCS device. You can find the flash memory's base address in Platform Designer.

>> 커맨드 라인에서 quartus_pgm --nios2 을 사용한다면, EPCS 장치에 올바른 base address가 지정되었다 확인하라. Platform Deisigner의 플래시 장치에서 base address를 찾을 수 있다.

• Ensure that the EPCS device is correctly connected to the FPGA on the board. Verify the EPCS connection by running the "Test EPCS" routine in the "Memory Test" software template provided by the Nios II EDS. If the test fails, there is a problem with your memory connection. There are two places to look for the problem:

>> EPCS가 FPGA 보드에 정상적으로 연결되었는지 확인하라. Nios II EDS에 소프트웨어 템플릿으로 제공된 "Memory Test"안의 "Test EPCS"를 실행함으로서 EPCS 연결을 확인하라.

— The physical connection on your target board

— The pin assignments on the top-level FPGA design

• Use the Intel Quartus Prime Programmer to program the EPCS device directly via a JTAG download cable, and verify that the EPCS device successfully configures the FPGA.

• Run quartus_pgm --nios2 from the command line with the --epcs parameter. This command displays information about the flash memory in the EPCS device. For more information, refer to the "Using the Flash Programmer from the Command Line" chapter.

Related Links

Using the Flash Programmer from the Command Line on page 16

[링크 : https://www.altera.com/en_US/pdfs/literature/ug/ug_nios2_flash_programmer.pdf]


New에서 BSP Template에서 생성으로 보니 존재는 하네

Memory Test Small은 Flash 부분이 빠진다.


그나저나 얘는 램에 올리나.. 찾아보니 이거 실행조차 안되면 램도 연결 제대로 안된거라네..

Using cable "USB-Blaster [USB-0]", device 1, instance 0x00

Resetting and pausing target processor: OK

Reading System ID at address 0x04012030: verified

Initializing CPU cache (if present)

OK


Downloading 02000000 ( 0%)

Downloading 02010000 (49%)

Downloading 020200A0 (94%)

Downloading 04008000 (99%)

Downloaded 129KB in 1.9s (67.8KB/s)


Verifying 02000000 ( 0%)

Verify failed between address 0x2000000 and 0x200FFFF

Leaving target processor paused


Downloading ELF Process failed 

[링크 : https://alteraforum.com/forum/showthread.php?t=53368]


My problem is resolved now, I just changed the clock source of the EPCS CONTROLLER. The clock was driven from the system clock using a CLOCK BRIDGE.

Now, the clock is driven from a PLL OUTPUT ( the system and the EPCS CONTROLLER clocks are now independent).

Thank you Daixiwen & dsl for helping me. 

[링크 : https://alteraforum.com/forum/showthread.php?t=49224&page=3]

'embeded > FPGA - ALTERA' 카테고리의 다른 글

Nios II 안된 이유가.. 설마..  (0) 2018.02.04
clock bridge  (0) 2018.02.03
Nios II EPCS 및 SDRAM  (0) 2018.02.03
altera speed grade  (0) 2018.02.03
Nios II 조금 감 잡은듯  (0) 2018.02.02
Posted by 구차니