Bin to Hex problem

Witam :)

Próbuje zaprogramować pamięć Flash Atmela (AT45DB161B). Znalazłem w sieci i wykonałem stosowny programor:

formatting link
jednak problem z konwersją pliku z firmware w postaci *.bin do pliku *.hex Wygląda na to, że program życzy sobie aby plik .hex posiadał "16 bajtową strukturę" czyli:

:10000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 :10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 :10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 itd.

Programy które znalazłem konwertują na postać 32 bajtową:

:20000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 :20002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC :20004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55

albo tworzą zupełne inne standardy...

Nigdy nie zajmowałem się na poważnie elektroniką/informatką mam więc niewielkie pojęcie w powyższej sprawie, liczę więc na wyrozumiałość :) i pomoc :)

pozdrawiam

Reply to
NoName
Loading thread data ...

NoName napisał(a):

Takie pliki generuje ISP Programmer, ale bez problemu powinien zrozumieć dłuższe czy krótsze linie (nie pamiętam teraz limitu, chyba max. 255 znaków w linii).

BTW: Przy konwersji na hex plików binarnych > 64KB zastosuj właściwy konwerter, dodający rekordy rozszerzonego adresowania. Stary dobry bin2hex.exe nie zdaje egzaminu, bardzo dobrze natomiast działa objcopy (wszystko jedno czy z kompilatora avr czyli avr-objcopy, czy z kompilatora arm czyli arm-elf-objcopy itp).

Reply to
Adam Dybkowski

To ja się podepnę do wątku. Generuję sobie plik *hex, i uzupełniam go wartościami 0xFF do wielkości całego flasha za pomocą komend: --gap-fill

0xFF --pad-to 0x3800, jednak w pliku wynikowym powstają mi oto takie nieciągłości:

... :1017D000E199FECFBFBBAEBB0DBA11960FB6F89420 :1017E000E29AE19A0FBE0895F3DF012CF1DF112494 :0217F00008955A :0417F200010100876A :1017F600FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 :10180600FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 ...

Czy jest na to jakiś sposób? Chciałbym mieć wszystkie linie o takiej samej długości.

TIA, Antek

Reply to
antek

antek napisał(a):

Odpowiem sobie sam :) Wygląda na to, że każda sekcja zaczyna się od nowej linii. Zastosowałem następującą sztuczkę: najpierw tworze .bin a następnie konwertuję na .hex - wszelkie nieciąglości znikają. Może jednak ktoś zna bardziej elegancką metodę. Interesuje mnie też, czy da się w jakiś sposób ustawić długość linii tego hex-a np. 0x20 zamiast 0x10 itp.

Reply to
antek

antek napisał(a):

Bo? Nie podobają Ci się nierówne linie gdy je sobie wydrukujesz i powiesisz na ścianie? Przecież to nie ma żadnego znaczenia. Ważne, aby taki format pliku zrozumiał program czytający plik hex.

BTW: Zawsze możesz skonwertować na .bin i spowrotem na .hex.

Reply to
Adam Dybkowski

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.