|
Переключить режим работы ARM, текущее состояние ядра Abort, надо переключить в Supervisor |
|
|
|
Mar 18 2010, 11:55
|
Ортодокс
  
Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775

|
Вот фрагмент кода на ассемблере, который позволит переключиться в режим супервизора Код mrs r0, cpsr bic r0, r0, #0x1F orr r1, r0, #0x13 msr cpsr_cxsf, r1
|
|
|
|
|
Mar 19 2010, 03:05
|
Частый гость
 
Группа: Validating
Сообщений: 169
Регистрация: 10-11-04
Из: Челябинск
Пользователь №: 1 088

|
Цитата(Aurochs @ Mar 18 2010, 16:55)  Вот фрагмент кода на ассемблере, который позволит переключиться в режим супервизора Вольшое спасибо, похоже на то, что требуется
|
|
|
|
|
Mar 19 2010, 13:37
|
Частый гость
 
Группа: Validating
Сообщений: 169
Регистрация: 10-11-04
Из: Челябинск
Пользователь №: 1 088

|
Цитата(sergeeff @ Mar 19 2010, 17:57)  Если не секрет. Откуда возникла такая потребность? Оба режима Abort или Undefined Instruction - это "аварийные режимы" процессора. Если вы в них попали, надо выяснять почему и исправлять программу. А вываливаться из них какой смысл? Не секрет, конечно: после сброса и до ввода в режим отладки, процессор успевает исполнять какой-то мусор с флэшки. Мне же его надо иметь в нормальном состоянии. Собственно, вот  Вообще, я пока приведённым рецептом не воспользовался - нашёл способ сделать инче, но это частный случай, а так-то рецептик себе на манжету запишу
|
|
|
|
|
Mar 21 2010, 02:10
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(defunct @ Mar 21 2010, 04:58)  SoC на двух 1136 ARM'ах, чей там SDRAM контроллер, - не знаю... Дает аборт при доступе к несуществующей памяти, даже если в MMU ARM'ов помечено, что память там есть. Хорошо, а как инициализируется этот контроллер - знаете? Просто ведь неоткуда знать ему, что там и в каком количестве снаружи прикручено, если только кто-то (сам процессор, точнее) не подскажет. А вот генерить abort там, где ему было сказано, что памяти нет - это пожалуйста.
|
|
|
|
|
Mar 21 2010, 15:36
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(sergeeff @ Mar 21 2010, 15:27)  Существуют более интеллигентные способы узнать объем памяти без вваливания в Abort. Я таким пользуюсь года три. Интеллигентных способа, как я понимаю, здесь два: 1. Получить значение объема от bootloader'а 2. Прочитать конфигурацию контроллера памяти Попытка выяснить объем самостоятельно неминуемо приведет к abort'у.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|