[elektro] JTAG agyrém
Horváth Péter
justicefriend at freemail.hu
Wed Dec 24 14:17:26 CET 2014
Aztán végül is rájöttem
Ez az ixp422 processzoros routerboard hardveresen "BIG ENDIAN" -nak van
konfigurálva (a processzor mindkettőt támogatja).
Viszont a JTAG programok (H-JTAG, OCD Commander) csak "LITTLE ENDIAN"
beállítással voltak hajlandó kezelni.
Az OCD commanderrel próbált lépésenkénti programfuttatás is hülyeségeket
csinált, pl. az SP regiszter értéke értelmetlenül változott.
Valószínűleg az történt, hogy a 4 byte-os (ARMv5) utasítások fordítva
kerültek a flash memóriába, mint ahogy beolvassa a processzor.
Sokadik agyament próbálkozás után, megcseréltem 4 byteonként a
betöltendő/lementett image fájlban a byteok sorrendjét,
és ettől jó lett.
2014.12.02. 18:53 keltezéssel, Skandar Graun írta:
> Késő már, de a sérült tartalmat nem olvastátok ki előtte?
> Azzal összehasonlítva kiderül a lo-hi keveredés.
> Valamint biztos, hogy memóriahiba miatt szállt el a router?
>
> 2014. december 2. 15:44 Horváth Péter írta, <justicefriend at freemail.hu>:
>
>> Sziasztok!
>>
>> Van egy Intel IXP422 processzorral + 28F128J3 flash IC -vel szerelt router.
>> Van egy 16777216 byte -os mentés a flash IC eredeti tartalmáról, ami még
>> backup utility-vel készült az akkor még működő routerről.
>>
>> H-JTAG nevű programmal ki tudom írni mind a 16777216 byte -ot (16MB) a
>> flash IC -be, aztán reset, és áramtalanítás után ugyanazt
>> visszaolvasni. Viszont a program nem indul el. Mi lehet ennek az oka?
>> Összekeverednek a cím vagy adatvezetékek, vagy a flash IC szervezése?
>> Néztem a flash IC adatlapját, miszerint 8, és 16 bites konfigurációban
>> is lehet használni.
>> JTAG -al való elérés során máshogy kezeli a FLASH IC-t, mint ahogy a
>> processzor olvassa a programot a 0x0 címről?
>>
>> Gondoltam hogy házi készítésű programmal összekeverem a biteket az image
>> fájlban a betöltés előtt.
>> De hogy keverjem össze? valami ötlet? (gondolok olyanra pl hogy 8 bites
>> konfigurációban beírt adat felső fele honnan olvasható ki 16bites
>> konfigurációban)
>>
>> Vagy van olyan bootloader image ami 2db 128 Kbyte-os blokkot foglal a
>> flash IC -ben található 128 blokkból. De hogy találjam ki, hogy melyik 2-t?
>> (Gondoltam hogy mind a 128 blokkba beírom a bootloader egyik felét,
>> aztán hátulról elkezdem lecserélni a bootloader 2. felére :) )
>>
>> Minden ötletet szívesen fogadok!
>>
>> kösz,
>> Péter
>>
>>
>>
>>
>>
>>
>>
>>
>> -----------------------------------------
>> elektro[-flame|-etc]
>>
> -----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list