Closed mjgpy3 closed 5 years ago
Very nice. One more detail (there's always one more detail). There's one last record at the end of the .HEX file. Here's one from the files I made. :00000001FF
Looks like this value is a hard coded value. I think it flags the HEX loader that it's the end of the hex data. I will manually patch it in for now. Described on page 11 of the document:
So glad you wrote the assembler code in my reduced Python mentality. I was able to easily find the line and write out the end of file record!
@douggilliland nice!
@mjgpy3 Something strange about it. The program may be wonky that uses it. Digging into the reason but it looks great to me.
@mjgpy3 The hex file address field is shifted right by two digits: This is what the assembler puts out: :04000000208000005C :040000012088100043 :040000022071000069
This is what it should be: :04000000208000005C :040001002088100043 :040002002071000069
https://web.archive.org/web/20160607224738/http://microsym.com/editor/assets/intelhex.pdf
Fixed assembler.
Now matches the dump file.
Once again, easy to find/fix.
Finally got it all to really work. Final issue was Quartus did not do the path right to the HEX code. Ended up moving it into a place relative to the VHDL code so that Quartus got and loaded the HEX file. Worked great.
See https://github.com/douggilliland/R32V2020/issues/28#issuecomment-493681182 for more info.