Как правильно обновить таблицу перевода MMU?

Я включил MMU на моей плате s3c2440 (память 3G - 4G :: атрибут сбоя), когда все не было, все было нормальноt чтение / запись памяти 3G - 4G. Чтобы проверить вектор ошибки страницы, я записал 0xFF на адрес 3G, как я и ожидал, я получил правильное значение от FSR, поэтому я сделал это в _do_page_fault (), шаг было так:

.....                 // set new page to translation table 
.....
invlidate_icache ();  // clear icache 
clr_dcache ();        // wb is used ,clear dcache 
invalidate_ttb ();    // invalidate translation table 

и затем ISR_dataabort вернулся, я прочитал адрес 3G, чтобы получить 0xFF, который я носил раньше. К сожалению, я снова прервал данные (я уверен, что значение таблицы перевода, которое я установил, в порядке)

Так что это правильный способ обновить таблицу перевода MMU. Любая помощь ценится! Спасибо

вот основной код, который я использовал (только для некоторого теста),(Я немного странный для ARM ARCH, поэтому этот код может быть срочным)

/* MMU TTB 0 BASE ATTR */
#define TTB0_FAULT          (0|(1

Ответы на вопрос(1)

Ваш ответ на вопрос