hoe werkt een PIC-programmer precies, hier volgt een stukje hex-code:


:100000000A28FF30A100FF30A000A00B0528A10B9B
:100010000328003407309F008316D73081008B01FE
:10002000C0308600FF3085008312860101308600D3
:1000300001200230860001200430860001200830B3
:10004000860001201030860001202030860001202B
:02005000162870
:02400E00613F10
:00000001FF

wat wordt er nu precies doorgestuurd naar de PIC?
bij welk adres starten ze?

Googel op "intel-hex" en de waarheid zal geopenbaard worden.

wanneer er meerdere bytes op een regels staan, gaat het adres dan gewoon met 1 omhoog?

De eerste 2 nibbles geven het aantal bytes aan (0x10 = 16).
De volgende 4 nibbles geven het adres aan van de eerste byte. 0x0000 op de eerste regel; 0x0010 op de tweede, enz...
En uiteraard worden de data-bytes, die volgen na de eerste, op een volgend adres geplaatst.

Hoe dat met PIC's zit, weet ik niet. Maar een AVR werkt met word-adressen. De programmer moet bijgevolg het byte-adres delen door 2, en dan telkens eerst de low-byte gevolgd door de high-byte doorgeven.

Op 26 juli 2007 22:10:45 schreef Electro:
wanneer er meerdere bytes op een regels staan, gaat het adres dan gewoon met 1 omhoog?

Voor 12 en 14 bit core PICS (10F, 12F, 16F) code worden twee bytes uit de hex file 1 woord in de PIC. Het woord adres in de PIC is het (byte) adres in de hex file gedeeld door twee.

Hoe het precies naar de PIC wordt gestuurd (mocht je dat interesseren) staat in de "programming specifications" van de betreffende PIC.