|
Монитор SAM-BA, Вредители навредили? |
|
|
|
Mar 26 2009, 15:58
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Можно немного подправить стартап, и ремапить самой загружаемой программой. Для этого по нулевому адресу меняем ldr pc, ... на b ..., затем ремапим процессор и делаем финт ушами: Код bic pc, pc, #0x300000 nop Ну а саму программу линкуем под нулевой адрес, естественно. UPD: И кэш инструкций надо не забыть грохнуть сначала.
|
|
|
|
|
Mar 26 2009, 17:24
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(DpInRock @ Mar 26 2009, 20:10)  Надеюсь отыщу как убивать кэш. Вроде мелькало где-то. Код mrc p15, 0, r0, c1, c0, 0 ; read CP15 register 1 into r0 bic r0, r0, #0x01 ; clear MMU enable bic r0, r0, #(0x01 << 0x0c) ; disable I Cache bic r0, r0, #(0x01 << 0x02) ; disable D Cache mcr p15, 0, r0, c1, c0, 0 ; write value back Цитата(DpInRock @ Mar 26 2009, 20:10)  Вообще это тогда будет частный случай. Если эту же программу проц будет грузить из флэша будет облом. Он ремап сам делает перед джампом на 0. Ну, так уверяет даташит. Прямым текстом. Не будет он делать ремап, если это внешняя флеш (не dataflash). Состояние ремапа всегда можно проверить. Цитата(DpInRock @ Mar 26 2009, 20:10)  У атмела на этот счет ни гугу. Типа, чтоб сами разбирались? У Атмела remap - это просто старая традиция. Ну, и разбираться там особо нечего.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|