реклама на сайте
подробности

 
 
> Неопределённая инструкция
Beginning
сообщение Oct 11 2007, 15:09
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Пишу обработчик всех непредвиденных ситуаций. Написал обработчик UNDEF. Вставил в С код строку типа asm(" DC32 0x10101010"); и столкнулся с непредвиденной проблемой. А какую именно инструкцию не поймёт проц? Перепробовал кучу вариантов и все проглатывал. Может, кто подскажет, от какой инструкции сработает прерывание UNDEF.


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Beginning
сообщение Oct 12 2007, 07:49
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Пытаюсь сделать data-abort. Выполняю инструкции типа:

x=0xFFFF7004;
asm(" str R0,[R0]");

В datasheet чётко написано:

0xFFFF7000 - 0xFFFF0FFF Invalid Access*

NOTE: *An access to this area will cause a memory abort.


В симуляторе, чётко вижу, что по этому адресу записывается значение. Однако в железе ничего не происходит. В чём, может быть засада?


Пытаюсь сделать perfetch-abort. Выполняю инструкции типа:

x=0x80001000;
asm(" stmdb sp!,{r0}");
asm(" ldmia sp!,{PC}");

Напрямую записать в PC компилятор не даёт.
В симуляторе, чётко вижу, что программа прыгает на адрес 0x80001000. Однако в железе видно тоже происходит прыжок (т.к.) виснет прога, но прерывания не происходит.


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Beginning   Неопределённая инструкция   Oct 11 2007, 15:09
- - aaarrr   Строго говоря, это зависит от архитектуры. Для арх...   Oct 11 2007, 15:40
- - Beginning   Процессор SHARP LH79525 архитектура 720T.   Oct 11 2007, 17:00
|- - aaarrr   Цитата(Beginning @ Oct 11 2007, 21:00) Пр...   Oct 11 2007, 17:21
- - Beginning   Предложенная вами инструкция превратилась вот в эт...   Oct 11 2007, 18:04
|- - aaarrr   Цитата(Beginning @ Oct 11 2007, 22:04) Пр...   Oct 11 2007, 18:12
- - Beginning   Прошу прощения, ваша инструкция вызвала UNDEF. Я з...   Oct 11 2007, 18:25
|- - aaarrr   Цитата(Beginning @ Oct 12 2007, 11:49) В ...   Oct 12 2007, 08:39
- - Beginning   Я в DATASHEET LH79524-5 вижу таблицу (стр. 58) в к...   Oct 12 2007, 09:53
|- - aaarrr   Цитата(Beginning @ Oct 12 2007, 13:53) Че...   Oct 12 2007, 10:07
- - Beginning   С адресом 0x80002000 тоже самое что и с 0x8000100...   Oct 12 2007, 11:48
- - aaarrr   Undef Вы уже получили, как я понимаю. Обработчики ...   Oct 12 2007, 12:00
- - Beginning   ЦитатаОбработчики Data и Prefetch Abort строятся р...   Oct 12 2007, 12:34
|- - aaarrr   Цитата(Beginning @ Oct 12 2007, 16:34) В ...   Oct 12 2007, 12:57
|- - SpiritDance   Цитата(aaarrr @ Oct 12 2007, 16:57) Я, к ...   Oct 13 2007, 06:49
- - e-yes   Я для вызова data abort пользуюсь *((int*)1)=0; - ...   Oct 16 2007, 09:53


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 20:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01367 секунд с 7
ELECTRONIX ©2004-2016