Gast
#341041
woher weis man eigentlich wann ein flash voll mein programmiergerät (bzw Softwarwe) programmiert den my egal wie groß die hex datei auch war
|
Anzeige
|
Speicher
Gast
#341041
woher weis man eigentlich wann ein flash voll mein programmiergerät (bzw Softwarwe) programmiert den my egal wie groß die hex datei auch war
Gast
#341042
Man kann die HEX Datei mit einem Hex-Editor ansehen bzw. in einen Binärfile umwandeln. Z.B. mit dem Programm WINHEX. Dann sieht man, welcher Adressbereich "gefüllt" ist. Eigentlich muss es auch eine .LST Datei oder .MAP Datei o.ä. geben (Output des Linkers) wo das lesbar drinsteht. Wenn man nur die HEX Datei hat, braucht man den o.a. Editor. Und man muss natürlich wissen, wieviel Speicher man insgesamt zur Verfügung hat. Oftmals ist eine "Lücke" zwischen dem Programmbereich beginnend bei Adresse 0x0000 und den Interrupt-Vektoren (Tabelle), die oftmals am oberen Speicherende liegt (bei uPs), z.B. ab 0xFF80..0xFFFF. Dann steht ab 0x0000 viel Programmcode, hexadezimal Bytes, unterschiedliche Werte. Irgendwann kommen nur noch "FF" Werte, da ist das Programm zu Ende ; ganz weit oben kommen die Interrupt-Vektoren. Diese "Lücke", welche i.d.R. mit "FF" belegt ist (weil in der HEX Datei u.U. gar nicht enthalten und somit Defaultwert FF entsprechend "gelöscht" Zustand), diese "Lücke" ist der noch freie Speicherbereich. Die Speicheraufteilung des uP muss man aber auch kennen. Manche uPs haben "eingebaute" Lücken, die nicht befüllbar sind.
Gast
#341043
ok und wie weis man das der flash voll ist
Gast
#341044
Im Regelfall zeigt dein Compiler dir an, wie groß das Programm ist.
Anhand der Grösse des .hex-Files kann man das eher schlecht beuteilen,
da diese Dateformat noch einen "Overhead" ("Adress-und
Checksum-Brimborium"?) besitzt.
Gast
#341045
Eine .hex-Datei ist mindestens 2,3x größer als die eigentliche Binärdatei, also in ein 16k Flash paßt maximal etwa eine 36k .hex-Datei.
Gast
#341046
ich verwende den keil
Gast
#341047
Ich verwende den Hammer und ein paar Nägel - das ist doch völlig egal - hast Du denn die Antworten jetzt auch gelesen?!
Gast
#341048
Ich benutze lieber einen Akkuschrauber und Kreuzschlitz-Schrauben. Prinzipiell sollte es aber möglich sein, aus der intel-hex-Datei die Programmgrösse durch auszählen der Bytes festzustellen. Viel Spaß dabei! Antwort schreiben |
Anzeige
|