Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Merkwürdiges Gerechne beim Auslesen eines PIC18F » Themenansicht

Autor Thread - Seiten: -1-
000
14.01.2026, 17:07 Uhr
Guido
Default Group and Edit
Avatar von Guido

Hallo,

irgendwie stehe ich auf dem Schlauch....

Ich habe für ein Projekt Leiterplatten und einen programmierten µC dazu gekauft, soweit, so gut. Der PIC, ein 18F26K80, war temporär verschwunden, aber ich hatte ja auch die nötigen HEX-Dateien. Derzeit habe ich diesen aber in Deutschland nur in SMD gefunden und wollte schon beim Mouser bestellen.
Doch wie das so ist, plötzlich war er wieder da und aus Neugier habe ich diesen gleich mal ausgelesen.
Doch nun machte ich kugelrunde Augens, als HEX gespeichert ist der Inhalt fast doppelt so groß wie die HEX vom Autor. Dann nochmal als BIN gespeichert rödelten gut 15MB auf die Platte!
Donnerwetter, ein µC mit über 15MB Flash in diesem Gehäuse?



Der einzige Brenner, der diesen Chip kann ist mein TL866iiPlus und mit aktueller Soft- und Firmware.
Die ersten drei Dateien sind vom Autor, eine HEX dann vom TL866 und die BIN auch.
Komisch (oder auch nicht) ist, wenn ich die V4_4 vom Autor in das Brennerprogtramm lade und dann mit dem Inhalt vom PIC vergleiche, ist das identisch!

Irgendwie habe ich einen Knoten im Kopf, wie kommt sowas zustande?
Leider kann ich keine Kontrolllesung mit anderen Brennern machen, diese kennen den PIC leider nicht.

Guido
PS: In der Monster.BIN sind fast nur FF drin, in der größeren HEX auch sehr viele. Im Original aber auch, nur deutlich weniger. Die eigentlichen Programm-Bytes sind aber identisch.
--
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der edelste.
Zweitens durch Nachahmen: Das ist der leichteste.
Drittens durch Erfahrung: Das ist der bitterste.
Konfuzius

Wer immun gegen ein Minimum an Aluminium ist, der hat eine Aluminiumminimumimmunitität.

Dieser Beitrag wurde am 14.01.2026 um 17:09 Uhr von Guido editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
14.01.2026, 17:24 Uhr
PIC18F2550

Avatar von PIC18F2550

Ist richtig 3FFFFFh.

Beim Programmiereren werden nur die Daten übertragen die das Programm benötigt.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen

Dieser Beitrag wurde am 14.01.2026 um 17:25 Uhr von PIC18F2550 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
14.01.2026, 17:26 Uhr
randomize




Quelle Datenblatt Microchip

Dieser Beitrag wurde am 14.01.2026 um 17:27 Uhr von randomize editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
14.01.2026, 17:31 Uhr
Guido
Default Group and Edit
Avatar von Guido


Zitat:
PIC18F2550 schrieb
Ist richtig 3FFFFFh.

Beim Programmiereren werden nur die Daten übertragen die das Programm benötigt.


Also die ganzen FF werden übersprungen? Das wird es sein. Nur beim Lesen weiß das XGecu-Programm nichts davon und liest alle Zellen aus.

Ich muss mal auf die Adressen im Original schauen (hatte ich noch nicht)

Guido
--
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der edelste.
Zweitens durch Nachahmen: Das ist der leichteste.
Drittens durch Erfahrung: Das ist der bitterste.
Konfuzius

Wer immun gegen ein Minimum an Aluminium ist, der hat eine Aluminiumminimumimmunitität.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
14.01.2026, 21:39 Uhr
Bert




Zitat:
Guido schrieb
Nur beim Lesen weiß das XGecu-Programm nichts davon und liest alle Zellen aus.


Falls dann noch für jedes Byte die Adresse einzeln angegeben wird, kann es schnell sehr groß werden.

Auch sonst ist der 'Wirkungsgrad' von Intel-Hex eher mäßig.
Das folgende Beispiel belegt im Intel-Hex-Format 204 Bytes:
https://de.wikipedia.org/wiki/Intel_HEX#Beispiel
Im Binärformat sind es 64 Bytes. Faktor 3,777
--
Viele Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
14.01.2026, 22:41 Uhr
Guido
Default Group and Edit
Avatar von Guido


Zitat:
Bert schrieb

Falls dann noch für jedes Byte die Adresse einzeln angegeben wird, kann es schnell sehr groß werden.

Auch sonst ist der 'Wirkungsgrad' von Intel-Hex eher mäßig.
Das folgende Beispiel belegt im Intel-Hex-Format 204 Bytes:
https://de.wikipedia.org/wiki/Intel_HEX#Beispiel
Im Binärformat sind es 64 Bytes. Faktor 3,777


Schau nochmal auf mein Foto bei #000
HEX rund 187.000
BIN knapp 16.000.000
Da ist die Bin "unwesentlich" größer

Guido
--
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der edelste.
Zweitens durch Nachahmen: Das ist der leichteste.
Drittens durch Erfahrung: Das ist der bitterste.
Konfuzius

Wer immun gegen ein Minimum an Aluminium ist, der hat eine Aluminiumminimumimmunitität.

Dieser Beitrag wurde am 14.01.2026 um 22:42 Uhr von Guido editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
14.01.2026, 23:28 Uhr
schlaub_01



Hallo Guido,
das ist bei den PICs ganz normal. Auf den hohen Adressen liegen lediglich die Configuration Bytes, die kannst Du typischerweise nur mit der Microchip Software richtig nutzen. Schau mal bitte in das HEX File, ob es da am Ende einzelne höhere Adressen gibt, die weit weg vom vorherigen Code sind.

Viele Grüße,
Sven.

Nachtrag: Es kann auch noch, falls im Programm benutzt, der EEPROM Anteil auch noch mit drin ist. Das liegt dann zwischen dem FLASH für das Programm und den Configuration Bytes. Im Datenblatt siehst Du auch gut, wie die internen Adressen aufgebaut sind.

Dieser Beitrag wurde am 14.01.2026 um 23:46 Uhr von schlaub_01 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek