embeded/FPGA - ALTERA2018. 1. 29. 14:09

일단 필요로 하는 녀석은 아래 경로에 존재하는데

path가 설정안되어 있으면 에러가 날테니 적당히~ 사용

C:\intelFPGA_lite\17.1\nios2eds\bin

C:\intelFPGA_lite\17.1\nios2eds\bin\gnu\H-x86_64-mingw32\bin 


D:\>C:\intelFPGA_lite\17.1\nios2eds\bin\elf2flash.exe --input=hello_world_0.elf --output=swimage.flash --epcs

D:\>dir

2018-01-27  오후 01:19               946 hello_world.c

2018-01-27  오후 01:20           319,239 hello_world_0.elf

2018-01-27  오후 01:20            86,021 hello_world_0.map

2018-01-29  오후 01:53            11,824 swimage.flash


D:\>C:\intelFPGA_lite\17.1\nios2eds\bin\gnu\H-x86_64-mingw32\bin\nios2-elf-objcopy.exe -I srec -O ihex swimage.flash  swimage.hex

D:\>dir

2018-01-27  오후 01:19               946 hello_world.c

2018-01-27  오후 01:20           319,239 hello_world_0.elf

2018-01-27  오후 01:20            86,021 hello_world_0.map

2018-01-29  오후 01:53            11,824 swimage.flash

2018-01-29  오후 01:57            13,272 swimage.hex 


도대체 무슨 마법이냐.. 312KB 짜리가 12KB가 되다니.. -_-?

ELF에 이것저것 디버그 정보도 들어가서 커졌을수는 있지만 이해할수 없는 용량 감소네..

아무튼 위는 flash 파일 아래는 hex 파일 내용이다.

flash는 intel HEX 포맷이랑 비슷한거 같네.. 아무튼 덕분에(?) flash에서 hex로의 변환에서

용량 차이는 크게 나타나지 않는다.

S00600002D454C3B

S325000000007C0F00000000010074004000140840083A6800080000000000000000000000008C

S3250000002000000000000000007400C0061400E0DE74008006148CA4D67400800014498510B4

S325000000407400C000144DC5182603C010150000100401801036FDFF10C0251000C03310003B

:100000007C0F00000000010074004000140840084C

:100010003A68000800000000000000000000000036

:1000200000000000000000007400C0061400E0DEC4

:1000300074008006148CA4D67400800014498510C6


아무튼 변경후에는...  SOF 추가하고

HEX도 추가했는데 시작주소가 auto라니 찜찜(?) 해서


Properties 에서 시작주소를 0x0 으로 해주니 정상대로 나온다.


췟.. 플래시 로더 안 넣었다고 못 만드네 아무튼 넣고 만드니 8MB 자리 jic 통~


구워는봤는데 안되네..

귀찮아서.. (!) Nios II 이미지인 sof를 그냥 jic에 넣어서 그런가.. 똑같이 hex로 변환해서 넣어야 하나?


sof는 jic로 변환한 내용 처음에 0xff로 시작한다.

합친건데.. 이미지 순서가 아마 반대로 들어온 듯 하다..


프로그램이 앞에 들어가있고 그 이후에 sof 내용이 들어있다.

(쭈욱 내려보면 sof파일의 내용이 시작하는 부분이 보인다)



---

sof2flash --input=<hwimage>.sof --output=hwimage.flash --epcs --verbose

elf2flash --input=<elf file>.elf --output=swimage.flash --epcs --after=hwimage.flash --verbose


nios2-elf-objcopy -I srec -O ihex hwimage.flash  hwimage.hex

nios2-elf-objcopy -I srec -O ihex swimage.flash  swimage.hex 

[링크 : https://www.altera.com/support/support-resources/knowledge-base/solutions/rd12092009_471.html]

[링크 : https://www.altera.com/support/support-resources/knowledge-base/solutions/rd10132010_126.html]

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

altera Nios II, epcs controller  (0) 2018.01.29
Nios II / Nios II Classic 차이점  (0) 2018.01.29
Nios II 이미지 합치기 (조사)  (0) 2018.01.27
Nios II 프로그램 빌드..  (0) 2018.01.27
Nios II 명령어 관련 조사  (0) 2018.01.26
Posted by 구차니