Цитата(Палыч @ Apr 6 2011, 14:00)

Что значит "целиковый"? C какой целью Вы хотите получить такой файл?
Попробовать дизассемблировать - нужно исправить одно ограничение в прошивке. Опыт с 51-м был. Целостная прошивка - ну, в аппаратном виде носителей программы два, а мне нужно получить один непрерывный файл с непрерывным адресным пространством.
Цитата(Палыч @ Apr 6 2011, 14:00)

Не обязательно в такой последовательности. При обращении по адресу бОльшем, чем максимальный адрес внутренней памяти программ, обращение производится к внешней памяти.
Начиная с какого адреса во внешнем ПЗУ? Максимальный_адрес +1 ? Это я и имел в виду.
Цитата(Палыч @ Apr 6 2011, 14:00)

Вполне возможно, что младшие 8К внешней памяти вовсе не используются... Тут уж - как построено ПО нужно смотреть...
Первый байт равен 02 только во внутренней флэш, ПЗУ начинается с 20, следующий тоже 20 - это символы кодовой страницы ASCII - они нужны для работы программы, затенять их внутренней прошивкой чревато их исключением. Вот в чем проблема для меня.
если наложить внутреннее содержимое (из флэш) на первые 8К пространства внешнего ПЗУ программ, то при дизасе получается галиматья -
...
code:1FFA mov R6, #8
code:1FFC mov R1, #0x68 ; 'h' ; -
после этой команды нет перехода на исполняемый код !!!code:1FFC ; END OF FUNCTION CHUNK FOR start
code:1FFC ; ---------------------------------------------------------------------------
code:1FFE .byte 0x12
code:1FFF .byte 0x61 ; a
code:1FFF ; end of 'code'
code:1FFF
seg_01:00002000 ; ===========================================================================
seg_01:00002000
seg_01:00002000 ; Segment type: Pure code
seg_01:00002000 ;.segment seg_01
seg_01:00002000 ; .equ $, 0x2000
seg_01:00002000 ; START OF FUNCTION CHUNK FOR seg_01_4FC8
seg_01:00002000 seg_01_2000: .byte 0xFF
...
Сообщение отредактировал Kofey Nik - Apr 6 2011, 12:49
Все мы учились понемногу - чему нибудь и как нибудь :).