NoName
Guest
Wed Dec 13, 2006 8:25 pm
Witam :)
Próbuje zaprogramować pamięć Flash Atmela (AT45DB161B). Znalazłem
w sieci i wykonałem stosowny programor:
http://www.amwaw.edu.pl/%7Eadybkows/elka/ispprog.html
Mam 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
Adam Dybkowski
Guest
Thu Dec 14, 2006 12:38 am
NoName napisał(a):
Quote:
Próbuje zaprogramować pamięć Flash Atmela (AT45DB161B). Znalazłem
w sieci i wykonałem stosowny programor:
http://www.amwaw.edu.pl/%7Eadybkows/elka/ispprog.html
Mam 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
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).
--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
antek
Guest
Thu Dec 14, 2006 6:30 pm
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
antek
Guest
Thu Dec 14, 2006 8:16 pm
antek napisał(a):
Quote:
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.
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.
Adam Dybkowski
Guest
Mon Dec 18, 2006 10:38 pm
antek napisał(a):
Quote:
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.
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.
--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.