ucode.bin
-
- Beiträge: 1
- Registriert: Samstag 21. Juli 2001, 00:00
-
- Senior Member
- Beiträge: 78
- Registriert: Freitag 20. Juli 2001, 00:00
-
- Senior Member
- Beiträge: 288
- Registriert: Freitag 20. Juli 2001, 00:00
-
- Interessierter
- Beiträge: 22
- Registriert: Sonntag 22. Juli 2001, 00:00
-
- Neugieriger
- Beiträge: 5
- Registriert: Sonntag 2. September 2001, 00:00
Ich habe ucode.bin aus dmx.so (BR1.6) erzeugt mit:
$ dd if=dmx.so bs=1 skip=27280 count=2048 >ucode.bin
allerdings sehen die ersten Bytes folgendermaßen aus:
$ od -x ucode.bin | head -2
0000000 09b0 8ba8 9f88 0000 f008 18c2 0f08 07ea
0000020 0699 4608 6790 7ba8 18b8 0520 fdc8 05c7
Muß ich noch einen Byte-swap durchführen? Oder ist das so OK. Ich habe nirgends den Offset finden können und kam halt durch probieren drauf.
$ dd if=dmx.so bs=1 skip=27280 count=2048 >ucode.bin
allerdings sehen die ersten Bytes folgendermaßen aus:
$ od -x ucode.bin | head -2
0000000 09b0 8ba8 9f88 0000 f008 18c2 0f08 07ea
0000020 0699 4608 6790 7ba8 18b8 0520 fdc8 05c7
Muß ich noch einen Byte-swap durchführen? Oder ist das so OK. Ich habe nirgends den Offset finden können und kam halt durch probieren drauf.
-
- Contributor
- Beiträge: 1608
- Registriert: Samstag 28. Juli 2001, 00:00
-
- Erleuchteter
- Beiträge: 505
- Registriert: Freitag 20. Juli 2001, 00:00
-
- Contributor
- Beiträge: 1608
- Registriert: Samstag 28. Juli 2001, 00:00
-
- Senior Member
- Beiträge: 162
- Registriert: Freitag 30. November 2001, 00:00
Wenn Du das auf einem little endian (z.B. intel) machst, musst Du das dd wie folgt aufrufen:
dd if=dmx.so of=ucode.bin conv=swab count=2048 bs=1 skip=[dein offset]
(näheres rtfm ==> "man dd"
das "conv=swab" kannst Du Dir sparen, wenn Du das dd auf der dbox nimmst.
Wenn du nicht weisst, auf was für einem System du bist, übersetze das nachfolgende programm, und schau dir den output an
----- endian.c ----------
#include <endian.h>
int main(int argc, char **argv)
{
#ifdef LITTLE_ENDIAN
printf ("little endian (intel) swap notwendig");
#else
printf ("big endian (ppc, 68x)");
#endif
}
----------- ende endian.c ---------------
by the way: Das offset für nokia 2*i BR 2.0 ist 28176
dd if=dmx.so of=ucode.bin conv=swab count=2048 bs=1 skip=[dein offset]
(näheres rtfm ==> "man dd"
das "conv=swab" kannst Du Dir sparen, wenn Du das dd auf der dbox nimmst.
Wenn du nicht weisst, auf was für einem System du bist, übersetze das nachfolgende programm, und schau dir den output an
----- endian.c ----------
#include <endian.h>
int main(int argc, char **argv)
{
#ifdef LITTLE_ENDIAN
printf ("little endian (intel) swap notwendig");
#else
printf ("big endian (ppc, 68x)");
#endif
}
----------- ende endian.c ---------------
by the way: Das offset für nokia 2*i BR 2.0 ist 28176