Ik ben bezig met het porten van een boorloader voor een arm7 controller van de de Keil IDE naar de IAR ide. De loader is geport is de tussen tijd, en kan hem netjes in de controller flashen. Wanneer ik nieuw hex code via de bootloader in de controller laad wordt deze ook in het geheugen geschreven. Maar nu kwam ik er achter dat de hex code gemixt er in komt te staan, en vraag me af hoe de hex code er exact in moet staan.
als ik een hex file heb. bijvoorbeeld de volgende regel:
100010E3FBFF
Lijkt het me logisch dat op een volgend in de 16 bit adressen van de controller de data als volgt geschreven word.
adr1 = 1000
adr2 = 10E3
adr3 = FBFF
Maar wanneer ik het geheugen ga uit lezen staat de code er op de volgende manier:
adr1 = 0010
adr2 = E310
adr3 = FFFB
Als ik naar de code kijk van de bootloader klopt het ook dat de code er op manier 2 in het geheugen staat. Ik vraag me alleen af, hoort dit.
Samengevat:
Als ik de orginele hex file van de bootloader pak en deze in de controller flash. En nieuwe software via de bootloader er in flash draait de nieuwe software goed. Maar als ik de geporte verzie van de bootloader pak werkt het dus niet.
Kan dat liggen aan hoe de software in het geheugen zit?
als ik een hex file heb. bijvoorbeeld de volgende regel:
100010E3FBFF
Lijkt het me logisch dat op een volgend in de 16 bit adressen van de controller de data als volgt geschreven word.
adr1 = 1000
adr2 = 10E3
adr3 = FBFF
Maar wanneer ik het geheugen ga uit lezen staat de code er op de volgende manier:
adr1 = 0010
adr2 = E310
adr3 = FFFB
Als ik naar de code kijk van de bootloader klopt het ook dat de code er op manier 2 in het geheugen staat. Ik vraag me alleen af, hoort dit.
Samengevat:
Als ik de orginele hex file van de bootloader pak en deze in de controller flash. En nieuwe software via de bootloader er in flash draait de nieuwe software goed. Maar als ik de geporte verzie van de bootloader pak werkt het dus niet.
Kan dat liggen aan hoe de software in het geheugen zit?