Скорее всего так, но loader.bin все-таки MMU отключает:


ROM:0000029C                 MOV     R1, #0
ROM:000002A0                 MCR     p15, 0, R1,c1,c0

Надо декодировать конфигурацию MUX и используемые GPIO
(муторное занятие).
2 MB (CS2) → 0x8000000 это до 0x8200000.
loader.bin ссылается на адреса от 0x8002260 до 0x80A0C3C, т.е.
первый мегабайт. Хотя непонятно, куда updater.exe
поместит сам loader.bin (73K)
Начало fw_all.bin похоже по структуре на loader.bin ,
но есть статические ссылки на 0x0c000000 (CS3) сегмент,
а указатель стека уже не вверху первого, а второго мегабайта:


334:       e59fd118        ldr     sp, [pc, #280]  ; 0x454 --> 0x081ec3f0
338:       e28f0001        add     r0, pc, #1      ; 0x1
33c:       e12fff10        bx      r0

Так что можно предположить, что NOR находится здесь: 0x0c000000+16MB
Есть и еще один особый адрес: 0x0c020000


6a8:       e3a006c0        mov     r0, #201326592  ; 0xc000000
6ac:       e1a0f000        mov     pc, r0
...
708:       e59f0000        ldr     r0, [pc, #0]    ; 0x710 --> 0x0c020000
70c:       e1a0f000        mov     pc, r0

так же как и начало SRAM


6c8:       e3a00680        mov     r0, #134217728  ; 0x8000000
6cc:       e1a0f000        mov     pc, r0

OMAP вообще-то умеет грузиться из CS3 напрямую, но как это все сделано в гармине неясно.

Размер экрана 160x240 (может и наоборот, хотя врядли), но EOL прочитает
это из конфигурационных регистров LCDC.
LCD панель на 60/76Cx 8-битная (?), EOL предполагает только 16бит, надо править.
Вот пока такие мысли.