Hallo! Ich habe folgendes Problem mit dem intel hex file format: Ich hab ein kleine programm geschrieben, welches die daten aus jeder zeile extrahiert. d.h. länge, adresse, record typ und prüfsumme werden entfernt. Mit diesen daten füttere ich dann meinen bootlaoder. Leider entsprechen die daten, die ich dann mit avr studio auslese nicht den gleichen, die beim programmieren über isp im controller landen. hier ein kleines beispiel: intel hex file daten: :080000000C9459000C9400005F :100008000C9400000C9400000C9400000C94000068 :100018000C9400000C9400000C9400000C94000058 :100028000C940A010C9400000C9400000C9400003D :100038000C9400000C945D010C9405010C940201D1 :100048000C9400000C9400000C9400000C94000028 :100058000C9400000C9400000C9400000C94000018 :100068000C9400000C9400000C9400000C94000008 :100078000C9400000C9400000C9400000C940000F8 :100088000C9400000C9400000C9400005F00AA007F :1000980090E2000000000100030094000100060047 :1000A80096000200090098000000F894EE27EFBBC4 :1000B800F1E0F5BFE5BFE0937400E0937500F8E167 :1000C800F0936000E09360008DE0A2E0BB27ED9321 :1000D8008A95E9F780E090E1A0E0B1E0ED9301971F :1000E800E9F7EEE9F0E085919591009761F0A59127 :1000F800B59105901590BF01F00105900D920197FB :10010800E1F7FB01F0CFE0E0EEBBEFEFEDBFE0E1A0 :10011800EEBFC0E0D5E00C94BC01E0E8E0936100DC :10012800E0E0E0936100E2B9EFEFE1B9E0E0E5B9C2 :10013800E0E7E4B9E0E0E8B9E7B9EBB9EAB9EEB964 :10014800EDB9E1BBE0BBE4BBE3BBE2E0E4BDE0E06A :10015800E6BDE6EEE7BDE0E0E0938000E1E0E09395 :1001680081001CD1E0E0E0938700E0938600E093F3 :100178008900E0938800E0938B00E0938A00E09385 :100188008D00E0938C00E093B600E5E0E093B000CA :10019800E0E0E093B200E093B300E0939000E093D6 :1001A8009100E0939500E0939400E0939700E0932A :1001B8009600E0939900E0939800E0939B00E09309 :1001C8009A00E0939D00E0939C00E0936900E0931F :1001D8006A00EDBBE3E0E0936E00E1E0E0936F00BE :1001E800E0937000E0E0E0937100E0E8E0BFE0E059 :1001F800E0937B00E093D8007894089536BC42B829 :100208001895EA93E0E0E2B9E9911895EA93FA9330 :10021800EFB7EA936092B200E1E0F0E07E0E8F1E45 :10022800E991EFBFF991E991189577248824E8813D :10023800F9817E168F06D8F3229608955394E7E045 :10024800E51508F45524E52DE03019F4E8E14E2EC3 :1002580022C0E13019F4E9E94E2E1DC0E23019F44C :10026800E1E84E2E18C0E33019F4E5EA4E2E13C02B :10027800E43019F4E4E24E2E0EC0E53019F4E6E657 :100288004E2E09C0E63019F4E2E44E2E04C0E730E1 :1002980011F4EAE54E2E89D0EF5FFF4F6F4F7F4F85 :1002A800E0930005F0930105609302057093030540 :1002B80008950A921A92FA926A937A938A939A9371 :1002C800AA93BA93EA93FA93EFB7EA9367D0F099AF :1002D800B5DFE991EFBFF991E991B991A9919991A8 :1002E800899179916991F9901990099018952497B5 :1002F80084E0A0E0B0E0EAE9F0E00E9415025ED0F8 :100308009884A984F09A64D00E94060266D028F4E2 :10031800EE81FF819E16AF0608F006C069D0E1E0C5 :10032800F0E09E0EAF1EEFCF40D0E883F9836A83DA :100338007B8344D0F09A42D0A881B9818A819B817D :1003480047D00E94010249D0B8F342D046D060F4A9 :100358004FD0E885F985E915FA0528F4E92DFA2D35 :1003680031979E2EAF2EF1CFF09844242E96089503 :10037800D4DEE0E4FCE960E070E00E940B02E0EC0F :10038800FAEDFA93EA93E8E4FEEEFA93EA93E1E0F1 :10039800F0E0FA93EA93ABDFFFCFFFCFA09285009E :1003A800E92DFA2DE09384000895E0910005F0917D :1003B800010560910205709103050895E0E0E0935E :1003C8000005E0930105E0930205E0930305089515 :1003D800EA85FB856C857D850895A0910005B0911F :1003E800010580910205909103050E94100208956D :1003F800EC81FD81FA93EA9318CFEA1BFB0B680B9B :10040800790B089576956795F795E79508957A930A :100418006A93FA93EA930895AE17BF07860797077A :100428000895AC0FBD1F05900D928A95E1F70895C8 :00000001FF extrahierte daten: 0C94 5900 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0A01 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 5D01 0C94 0501 0C94 0201 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 0C94 0000 5F00 AA00 90E2 0000 0000 0100 0300 9400 0100 0600 9600 0200 0900 9800 0000 F894 EE27 EFBB F1E0 F5BF E5BF E093 7400 E093 7500 F8E1 F093 6000 E093 6000 8DE0 A2E0 BB27 ED93 8A95 E9F7 80E0 90E1 A0E0 B1E0 ED93 0197 E9F7 EEE9 F0E0 8591 9591 0097 61F0 A591 B591 0590 1590 BF01 F001 0590 0D92 0197 E1F7 FB01 F0CF E0E0 EEBB EFEF EDBF E0E1 EEBF C0E0 D5E0 0C94 BC01 E0E8 E093 6100 E0E0 E093 6100 E2B9 EFEF E1B9 E0E0 E5B9 E0E7 E4B9 E0E0 E8B9 E7B9 EBB9 EAB9 EEB9 EDB9 E1BB E0BB E4BB E3BB E2E0 E4BD E0E0 E6BD E6EE E7BD E0E0 E093 8000 E1E0 E093 8100 1CD1 E0E0 E093 8700 E093 8600 E093 8900 E093 8800 E093 8B00 E093 8A00 E093 8D00 E093 8C00 E093 B600 E5E0 E093 B000 E0E0 E093 B200 E093 B300 E093 9000 E093 9100 E093 9500 E093 9400 E093 9700 E093 9600 E093 9900 E093 9800 E093 9B00 E093 9A00 E093 9D00 E093 9C00 E093 6900 E093 6A00 EDBB E3E0 E093 6E00 E1E0 E093 6F00 E093 7000 E0E0 E093 7100 E0E8 E0BF E0E0 E093 7B00 E093 D800 7894 0895 36BC 42B8 1895 EA93 E0E0 E2B9 E991 1895 EA93 FA93 EFB7 EA93 6092 B200 E1E0 F0E0 7E0E 8F1E E991 EFBF F991 E991 1895 7724 8824 E881 F981 7E16 8F06 D8F3 2296 0895 5394 E7E0 E515 08F4 5524 E52D E030 19F4 E8E1 4E2E 22C0 E130 19F4 E9E9 4E2E 1DC0 E230 19F4 E1E8 4E2E 18C0 E330 19F4 E5EA 4E2E 13C0 E430 19F4 E4E2 4E2E 0EC0 E530 19F4 E6E6 4E2E 09C0 E630 19F4 E2E4 4E2E 04C0 E730 11F4 EAE5 4E2E 89D0 EF5F FF4F 6F4F 7F4F E093 0005 F093 0105 6093 0205 7093 0305 0895 0A92 1A92 FA92 6A93 7A93 8A93 9A93 AA93 BA93 EA93 FA93 EFB7 EA93 67D0 F099 B5DF E991 EFBF F991 E991 B991 A991 9991 8991 7991 6991 F990 1990 0990 1895 2497 84E0 A0E0 B0E0 EAE9 F0E0 0E94 1502 5ED0 9884 A984 F09A 64D0 0E94 0602 66D0 28F4 EE81 FF81 9E16 AF06 08F0 06C0 69D0 E1E0 F0E0 9E0E AF1E EFCF 40D0 E883 F983 6A83 7B83 44D0 F09A 42D0 A881 B981 8A81 9B81 47D0 0E94 0102 49D0 B8F3 42D0 46D0 60F4 4FD0 E885 F985 E915 FA05 28F4 E92D FA2D 3197 9E2E AF2E F1CF F098 4424 2E96 0895 D4DE E0E4 FCE9 60E0 70E0 0E94 0B02 E0EC FAED FA93 EA93 E8E4 FEEE FA93 EA93 E1E0 F0E0 FA93 EA93 ABDF FFCF FFCF A092 8500 E92D FA2D E093 8400 0895 E091 0005 F091 0105 6091 0205 7091 0305 0895 E0E0 E093 0005 E093 0105 E093 0205 E093 0305 0895 EA85 FB85 6C85 7D85 0895 A091 0005 B091 0105 8091 0205 9091 0305 0E94 1002 0895 EC81 FD81 FA93 EA93 18CF EA1B FB0B 680B 790B 0895 7695 6795 F795 E795 0895 7A93 6A93 FA93 EA93 0895 AE17 BF07 8607 9707 0895 AC0F BD1F 0590 0D92 8A95 E1F7 0895 bitte um entschuldigung für diesen "hex-haufen" :) btw: die extrahierten daten bitte OHNE leerzeichen interpretieren. es werden NUR die hex werte so wie sie hier stehen byte für byte ab adresse 0x0000 in den flash geschrieben. Danke für eure Hilfe!
Sieht doch eigentlich nicht schlecht aus. Womit hast Du jetzt ein Problem?
wie gesagt, wenn ich die extrahierten daten in den controller schreibe und dann auslese, ergibt das ein hex file A. wenn ich das gleiche programm mit AVR studio in den controller schreibe, ergibt das ein programm B. leider ist A nicht gleich B....
kleiner tipp am Rande: avr-objcopy -I ihex -O binary main.hex main.bin so erspart man sich das umwandeln. Wenn du die über bootloader programmierte Version ausließt, dann ist am Ende noch der bootloader im hex file. wenn du per isp programmierst so ist dieser nicht am Ende da. Vielleicht ist das ja der Unterschied?
dr. boot: Schicke mal das original-hex-file und jenes, das Du mit dem Bootloader geschrieben hast. Dabei solltest Du einmal das Originalfile und dann das per Bootloader in den Controller gebrannte Programm mit AVR-Studio als Read-Flash-File auslesen, so daß Du wieder ein intel-hex-file bekommst. Erst dann kann man die beiden Files direkt miteinander vergleichen.
@travel rec. genau so hab ichs gemacht - danke für eure hilfe. ich hab den fehler jetzt gefunden - ich hatte LB und UB in den pages vertauscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.