Willkommen in unserer Community

Werde Teil unserer Community und registriere dich jetzt kostenlos ...

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Tool: AVR-HexViewer

Dieses Thema im Forum "Programme und Tools" wurde erstellt von Dirk, 11. April 2010.

  1. Dirk

    Dirk Administrator Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    4.044
    Zustimmungen:
    100
    Ort:
    Mittelhessen, Giessen
    Sprachen:
    C#, Assembler, Pascal, C++, PHP, Java
    Map
    Wer gerne einmal genauer in den Flash-Speicher seines AVR-Mikrocontrollers "schauen" möchte, um zu sehen, wie Applikationsprogramm, Bootloader und Daten im Flashspeicher abgelegt sind, wird sich vielleicht über unser neues Tool freuen.

    AVR-HexViewer

    Systemvoraussetzung: Windows2000/XP/Vista/7

    Installation: Die Installation erfolgt einfach durch Ausführung des Setup-Programmes.

    Beschreibung:

    Über den Menüpunkt Datei/Öffnen... läßt sich ein Hex-File auswählen, welches, wie unten gezeigt, dargestellt wird.

    Möchte man sich den Speicherinhalt einer bestimmten Adresse anschauen, kann man in einem Popup-Dialog die gewünschte Adresse in dezimaler oder hexadezimaler Form eingeben. Den Dialog öffnet man einfach durch Drücken der rechten Maustaste, wenn sich die Maus über der HexView-Ansicht befindet.

    Wenn man sich die Speicherbelegung der Flashpages im Mikrocontroller anschauen möchte, wählt man den gewünschten Mikrocontroller aus. Die Flashpages werden grafisch dargestellt. Bewegt man die Maus über ein Flashpage-Kästchen, werden Adresse und prozentuelle Speicherbelegung angezeigt. Ein Klick mit der rechten Maustaste über einem Kästchen öffnet wieder den Dialog zum Sprung zu einer Adresse, wobei diesmal die Startadresse der Flashpage im Dialog ausgefüllt ist.

    Die Speicherbelegung wird durch zwei "Füllstandsanzeigen" dargestellt, Pages benutzt und Flash-Speicher benutzt.
    Eine Page gilt hierbei als benutzt, wenn mindestens ein Byte durch das Hex-File adressiert wird. Die Anzeige Flash-Speicher benutzt stellt die tatsächliche Ausnutzung des Speichers dar.

    Die Anzeige der Pages läßt sich auch rechts neben der HexView-Anzeige darstellen, auch die Größe der Page-Kästchen läßt sich anpassen. Hierfür einfach den Menüpunkt Optionen wählen.



    [​IMG]


    Aktuelle Programmversion: 2.0.1

    Download AVR-HexViewer201.zip (1,47MB)

    Für Kritik, Anregungen und allgemein Feedback, könnt ihr ja diesen Thread nutzten.
     
  2. Grandpa

    Grandpa Aktives Mitglied

    Registriert seit:
    24. Juli 2008
    Beiträge:
    1.029
    Zustimmungen:
    1
    Ort:
    Hannover
    Sprachen:
    BascomAVR
    Hi Dirk,

    eine Version für Windows 2000 (aus bestimmten Gründen gibt's bei mir kein neues Windows mehr) oder vielleicht auch für Linux (Ubuntu) wäre top. Möglich???


    Grüsse,

    Michael
     
  3. Dirk

    Dirk Administrator Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    4.044
    Zustimmungen:
    100
    Ort:
    Mittelhessen, Giessen
    Sprachen:
    C#, Assembler, Pascal, C++, PHP, Java
    Map
    Hallo Michael,

    ups sorry. Das Programm läuft auch auf Windows2000, zumindest sollte es das, ich kann es leider nicht testen, da ich kein Windows2000 mehr habe. Wenn du es installieren solltest, könntest du ja einmal eine Rückmeldung geben. Für Linux habe ich leider keine Version.

    Ich ergänze dann mal das Betriebssystem im oberen Beitrag.

    Gruß,
    Dirk
     
  4. Grandpa

    Grandpa Aktives Mitglied

    Registriert seit:
    24. Juli 2008
    Beiträge:
    1.029
    Zustimmungen:
    1
    Ort:
    Hannover
    Sprachen:
    BascomAVR
    Hi Dirk,

    prima, das reicht mir dann. Probier ich nacher aus.


    Grüsse,

    Michael
     
  5. Grandpa

    Grandpa Aktives Mitglied

    Registriert seit:
    24. Juli 2008
    Beiträge:
    1.029
    Zustimmungen:
    1
    Ort:
    Hannover
    Sprachen:
    BascomAVR
    Hi Dirk,

    funktioniert:)


    Grüsse und eine schöne Woche,

    Michael
     
  6. dino03

    dino03 Moderator

    Registriert seit:
    27. Oktober 2008
    Beiträge:
    6.656
    Zustimmungen:
    11
    Sprachen:
    BascomAVR, Assembler
    Map
    Hallo,

    ein recht nettes Progrämmchen. Muß ich mal irgendwann :eek: :rolleyes: testen.

    Gruß
    Dino
     
  7. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.668
    Zustimmungen:
    37
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    Hi Dirk,

    hab mir das mal angesehen - bei den beiden Frequenzteilerprogrammen für Thomas sieht es recht unspektakulär aus. Alles bis auf die ersten paar Kästchen ist leer.
    schwarz = voll
    weiß = leer
    gelb = weniger als 10% belegt
    grau = sonst?

    gelb hab ich bei der Tiny2313-Version, klar, die ersten Interruptvektoren werden übersprungen.
    Wie wertet Ihr das eigentlich aus? 0xFF gilt in jedem Byte als frei? Oder betrachtet Ihr das immer wortweise? Generell kann ja in vielen Opcodes ein 0xFF auftauchen. (Ok, R31 mit R31 zu verrechnen ist jetzt nicht sooo häufig dran, aber wenn man zB 0b????1111 nach R31 laden läßt, ergibt sich 1110 ???? 1111 1111 als Opcode, also 0x E? FF.
     
  8. Dirk

    Dirk Administrator Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    4.044
    Zustimmungen:
    100
    Ort:
    Mittelhessen, Giessen
    Sprachen:
    C#, Assembler, Pascal, C++, PHP, Java
    Map
    Hallo LotadaC,

    ich müsste mal nachschauen (es ist ja schon ein paar Jahre her und es basiert auf einem Tool von mir noch ein paar Jahre älter).

    Angezeigt wird die Belegung je Page, die Pagegröße ist davon abhängig, welcher Mikrocontroller verwendet wird.

    Soweit ich mich noch erinnere, hatte ich es so gelöst ...
    Wenn das Hexfile ein Byte (oder Word) in der Page adressiert, gilt es als belegt. Auch wenn der Inhalt ein 0xFF ist, also unabhängig vom Inhalt/Wert des Bytes.
    (Es hat also nicht damit zu tun, dass zufällig beim AVR Flash ein Byte mit 0xFF eigentlich nicht mehr gelöscht werden muss).

    Habe ich zum Beispiel eine Tabelle mit nur 0xFF in meinem Programm, was eine Page füllt, gilt die Page als 100% belegt.

    Dirk :ciao:
     
  9. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.668
    Zustimmungen:
    37
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    Ah ok.
    Im HexFile steht ja (vereinfacht) "schreibe ab Adresse xyz folgende Bytes/Words. Da dürfen dann auch Lücken verbleiben.
    (Quasi wenn man mit .org Bereiche freiläßt, wie bei mir geschehen)
    Hmm...
    Wenn man einen Controller auslesen läßt, wird bei den mir bekannten Programmen ein lückenloses Abbild erzeugt, müßte demnach dann alles voll erscheinen...
    hmm...
    Das Tiny2313-Programm erzeugt folgendes Hexfile:
    Code:
    :020000020000FC
    :020000001BC023
    :100020002EB9B59AB59907C0B69A115021F415E0CA
    :10003000B09AB099B19A189504E201BB0FE707BBDB
    :1000400008E40DB92BE42EB904E00CBF09E006BFAB
    :1000500003E600BF00E009BD01E308BD03E60ABDF9
    :1000600003E60FBD09E10EBD09E003BF0CE00AB9CC
    :0E00700006E403B900E009B915E07894FFCF6B
    :00000001FF
    
    führt zu:
    AVR_HEX_1.png
    Das Studio liest folgendes aus dem AVR zurück:
    Code:
    :100000001BC0FFFFFFFFFFFFFFFFFFFFFFFFFFFF23
    :10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
    :100020002EB9B59AB59907C0B69A115021F415E0CA
    :10003000B09AB099B19A189504E201BB0FE707BBDB
    :1000400008E40DB92BE42EB904E00CBF09E006BFAB
    :1000500003E600BF00E009BD01E308BD03E60ABDF9
    :1000600003E60FBD09E10EBD09E003BF0CE00AB9CC
    :1000700006E403B900E009B915E07894FFCFFFFF6B
    :10008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
    :10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
    :1000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
    :1000B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
    :1000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
    :1000D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
    :1000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
    :1000F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
    :10010000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    :10011000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
    :10012000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
    :10013000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
    :10014000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
    :10015000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
    :10016000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
    :10017000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
    :10018000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
    :10019000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F
    :1001A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
    :1001B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F
    :1001C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
    :1001D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
    :1001E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
    :1001F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
    :10020000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
    :10021000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE
    :10022000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE
    :10023000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE
    :10024000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE
    :10025000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE
    :10026000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E
    :10027000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E
    :10028000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E
    :10029000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E
    :1002A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E
    :1002B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E
    :1002C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E
    :1002D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E
    :1002E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E
    :1002F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E
    :10030000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
    :10031000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED
    :10032000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
    :10033000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD
    :10034000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD
    :10035000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD
    :10036000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D
    :10037000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D
    :10038000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D
    :10039000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D
    :1003A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D
    :1003B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D
    :1003C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D
    :1003D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D
    :1003E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D
    :1003F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D
    :10040000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
    :10041000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC
    :10042000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC
    :10043000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC
    :10044000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC
    :10045000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC
    :10046000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C
    :10047000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C
    :10048000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C
    :10049000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C
    :1004A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C
    :1004B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C
    :1004C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C
    :1004D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C
    :1004E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C
    :1004F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C
    :10050000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB
    :10051000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB
    :10052000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB
    :10053000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB
    :10054000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB
    :10055000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB
    :10056000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B
    :10057000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B
    :10058000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B
    :10059000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
    :1005A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B
    :1005B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B
    :1005C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B
    :1005D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B
    :1005E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B
    :1005F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B
    :10060000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA
    :10061000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA
    :10062000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA
    :10063000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA
    :10064000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA
    :10065000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA
    :10066000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A
    :10067000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A
    :10068000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A
    :10069000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A
    :1006A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A
    :1006B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A
    :1006C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A
    :1006D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A
    :1006E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A
    :1006F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A
    :10070000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9
    :10071000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9
    :10072000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9
    :10073000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9
    :10074000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9
    :10075000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9
    :10076000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99
    :10077000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89
    :10078000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79
    :10079000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69
    :1007A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59
    :1007B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49
    :1007C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39
    :1007D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29
    :1007E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19
    :1007F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09
    :00000001FF
    
    Dein Tool macht daraus:
    AVR_HEX_2.png
    Die zurückgelesenen FFs werden als leer erkannt, allerdings oben nicht mehr grau hinterlegt...
    ???
     
  10. Dirk

    Dirk Administrator Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    4.044
    Zustimmungen:
    100
    Ort:
    Mittelhessen, Giessen
    Sprachen:
    C#, Assembler, Pascal, C++, PHP, Java
    Map
    Dies kann mir dies bei Gelegenheit einmal anschauen.
     
  11. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.668
    Zustimmungen:
    37
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    Ist ja eigentlich nicht weiter wichtig. Interessiert mich nur. Mach Dir mal keinen Streß...;)

    Schönes Wochenende,
    LotadaC
    :ciao:
     
  12. Dirk

    Dirk Administrator Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    4.044
    Zustimmungen:
    100
    Ort:
    Mittelhessen, Giessen
    Sprachen:
    C#, Assembler, Pascal, C++, PHP, Java
    Map
    :D Nein, Stress mache ich mir nicht. Ich habe nur super wenig Zeit.

    Wenigstens gibt es jetzt mal Feedback, nach 7 Jahren :)

    Da es allgemein bei den Tools, kein Feedback/Interesse gibt, hatte ich keine mehr entwickelt und ins Forum gestellt oder irgendwas weiter entwickelt.

    Ebenfalls noch ein schönes Wochenende!

    Dirk :ciao:
     
  13. Janiiix3

    Janiiix3 Mitglied

    Registriert seit:
    28. September 2013
    Beiträge:
    976
    Zustimmungen:
    4
    Ort:
    Hannover
    Sprachen:
    C#
    Map
    Das Tool ist echt gelungen. Man kann prima den Speicher und die Adressen lokalisieren. Würde ich vor jedem anderen Tool vorziehen!
     
    maik gefällt das.
  14. dino03

    dino03 Moderator

    Registriert seit:
    27. Oktober 2008
    Beiträge:
    6.656
    Zustimmungen:
    11
    Sprachen:
    BascomAVR, Assembler
    Map
    Hi,

    um wirklich sicher zu sein das der Bereich leer ist, müßte man die Befehle interpretieren. Bei Assembler können auch Bereiche mit FFs leer sein die nicht als solche erkannt werden oder andersrum (nicht leer aber mit FFs gefüllt).

    Da kann man nur sicher sein wenn man die selber assemblierte HEX-Datei hat.

    Gruß
    Dino
     
  15. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.668
    Zustimmungen:
    37
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    Eben.
    Die aus dem Assembler-Programm erzeugte HEX-Datei läßt die Lücken (.org-Direktive) bestehen, es wird genau da Code erzeugt, wo das Programm ihn vorsieht.
    Beim Auslesen wird hingegen eine HEX erzeugt, die ein komplettes Abbild des Speichers darstellt, Logischerweise auch mit allen 0xFFs - seien die nun "leer", oder absichtlich geschrieben.
    Dirks Tool "erkennt" aber (scheinbar) in beiden(!) Fällen, daß gut 95% des Flash "frei" sind, mMn kann diese Schlußfolgerung nur aus den FFs selbst kommen.
    In der Hex-Darstellung sind alle Pages, die durch die Hex-Datei nicht getroffen werden grau hinterlegt - das fließt aber nicht in die prozentuale "Benutzung" unten mit ein.

    Wie sähe es bei folgender Konstruktion aus?
    Ich hänge an mein Programm viiiele 0xFFFFs an (mit .db im Codesegment). Dann ist zu erwarten, daß die 0xFFs auch in der HEX.Datei auftauchen. Diese 0xFFs dürften in der Hex-Darstellung dann nicht mehr grau hinterlegt sein. Eigentlich wäre der Flash damit voll.
    Was wird dann bei der "Benutzung" unten zu sehen sein?
    Eigentlich wären 100% zu erwarten - ich tippe trotzdem auf knapp 5%. Spatestens beim Zurücklesen gibt es ja dann keinen Unterschied mehr zum Bild oben...
     
  16. TommyB

    TommyB Premium Benutzer

    Registriert seit:
    17. Mai 2010
    Beiträge:
    1.599
    Zustimmungen:
    42
    Ort:
    127.0.0.1 ;)
    Sprachen:
    C#, Assembler, LunaAVR, VB.Net, Python
    Das ist doch jetzt aber meckern auf höchstem Niveau ;)
    Man könnte auch 5TB auf einen ATtiny packen wenn die Speicherzellen mehrfach und / oder überlappend angelegt sind. Das kann man nahezu unmöglich alles abfangen. Erstrecht nicht wenn Team Bitschubse mit extravaganten aber gut funktionierenden Ideen zuschlägt :)

    Es könnte auch der komplette RAM frei sein (außer Stack), aber trotzdem genutzt werden, z. B. für Zufallszahlen. Der Status ist ja nicht definiert. Ok, das Tool ist für den Flash, aber nur als Beispiel.
     

Diese Seite empfehlen

  • Über uns

    Unsere immer weiter wachsende Community beschäftigt sich mit Themenbereichen rund um Mikrocontroller- und Kleinstrechnersysteme. Neben den Themen Design von Schaltungen, Layout und Software, beschäftigen wir uns auch mit der herkömmlichen Elektrotechnik.

    Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  • Coffee Time

    Unser makerconnect-Team arbeitet hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und unser eigener makerconnekt-Server regelmäßig gewartet wird. Wir nehmen das Thema Datensicherung und Datenschutz sehr ernst und sind hier sehr aktiv, auch sorgen wir uns darum, dass alles Drumherum stimmt!

    Dir gefällt das Forum und die Arbeit unseres Teams und du möchtest es unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft, unser Team freut sich auch über eine Spende für die Kaffeekasse :-)
    Vielen Dank!
    Dein makerconnect-Team

    Spende uns! (Paypal)