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

 
 
> Команда софтверной точки останова ARM7
SM
сообщение Feb 2 2010, 11:49
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Подскажите пожалуйста, какой код инструкции программной точки останова у ARM7 (ARMv4). На сколько я понимаю, символическое имя BKPT # - оно с ARMv5 пошло. А чем стопануть ARMv4?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
GetSmart
сообщение Feb 2 2010, 11:55
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Что-то у меня в голове всплыла архитектура х86. Там была команда 0xCC ==> Int 3. Ну то есть понятно, что проц прыгал на вектор 3-его прерывания. А в АРМе он куда должен "ускакать" от программной точки останова? Может в какое-то исключение?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 2 2010, 12:04
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Нет такой команды в v4. Разве что действительно в исключение ускакать типа undef.
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 2 2010, 12:13
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(GetSmart @ Feb 2 2010, 14:55) *
Может в какое-то исключение?

Ни в какое. Войти в состояние эмуляционного останова. Просто остановиться, о чем уведомить отладчик взведенным битом в одном из регитсров, доступных через JTAG.



Цитата(aaarrr @ Feb 2 2010, 15:04) *
Нет такой команды в v4.

Да быть того не может. Отладчики-то ставят софтверные точки останова в неограниченном количестве.



------------------------
вопрос закрыт.

#define ARM_SWBP_OPCODE_V4 0xDEFED0FEUL
#define ARM_SWBP_OPCODE_V4_BE 0xD0FEDEFEUL
#define ARM_SWBP_OPCODE_V5T 0xE1200070UL
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 2 2010, 12:27
Сообщение #5


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(SM @ Feb 2 2010, 17:13) *
#define ARM_SWBP_OPCODE_V4 0xDEFED0FEUL

Вроде как из множества команд "Coprocessor Register Transfer". Причём с условием LE (меньше или 0 со знаком)


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 2 2010, 12:44
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(GetSmart @ Feb 2 2010, 15:27) *
Вроде как из множества команд "Coprocessor Register Transfer". Причём с условием LE (меньше или 0 со знаком)

Так это просто паттерн для EmbeddedICE, который в свою очередь программируется, а никак не инструкция в нормальном понимании.
В обычных условиях ARM7TDMI просто вылетит в Undefined Instruction.
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 2 2010, 15:32
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(aaarrr @ Feb 2 2010, 15:44) *
Так это просто паттерн для EmbeddedICE, который в свою очередь программируется,


Так сразу бы и сказали, что код инструкции эмуляцонного останова для v4 программируется, в каком бы понимании оно не было бы smile.gif Кстати, спасибо, тоже полезная и не лишняя информация.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 10:18
Рейтинг@Mail.ru


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