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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
zltigo
сообщение Mar 25 2006, 18:12
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(makc @ Mar 25 2006, 19:50) *
А что делать если код исполняется из FLASH? Его модифицировать "на лету" не получится.

Насколько я понял, у автора речь идет не о командах контроллера а 'командах-подпрограмах'.
Там можно и намертво замонтировать вызов точки трассировки. Если подпограммы длинные, то можно
попробовать манипулировать разрешением/запрещением какого-либо внешнего источника прерывания,
в обработчике которого анализировать и держать_и_не_пущать пока источник прерывания снят
не будет на время достаточное для вваливание в следующую 'команду'. Кстати, сам обработчик
прервывания можно на ходу переназначать, если нужно.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
psL
сообщение Mar 25 2006, 20:10
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390



Цитата(makc @ Mar 25 2006, 20:50) *
А что делать если код исполняется из FLASH? Его модифицировать "на лету" не получится. К тому же я слабо себе представлю, как будет работать такая подмена в случае конвейера ядра ARM. Ведь возврат будет происходить не на подмененную инструкцию, а на следующую за ней. Т.е. при подмене обработчик исключения должен будет обработать подмененную команду самостоятельно, а если она работает с памятью по относительному смещению (такое, кстати, бывает довольно часто)?


Все правильно говорите. Но:
Возможно я не правильно уловил суть вороса - помоему человеку нужна отладка в интерперетаторе, а не эмуляция отладки самого интерпретатора через JTAG, которая, насколько мне известно, невозможна.
Go to the top of the page
 
+Quote Post
makc
сообщение Mar 25 2006, 21:23
Сообщение #18


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(psL @ Mar 25 2006, 23:10) *
Цитата(makc @ Mar 25 2006, 20:50) *

А что делать если код исполняется из FLASH? Его модифицировать "на лету" не получится. К тому же я слабо себе представлю, как будет работать такая подмена в случае конвейера ядра ARM. Ведь возврат будет происходить не на подмененную инструкцию, а на следующую за ней. Т.е. при подмене обработчик исключения должен будет обработать подмененную команду самостоятельно, а если она работает с памятью по относительному смещению (такое, кстати, бывает довольно часто)?


Все правильно говорите. Но:
Возможно я не правильно уловил суть вороса - помоему человеку нужна отладка в интерперетаторе, а не эмуляция отладки самого интерпретатора через JTAG, которая, насколько мне известно, невозможна.


Да, тут есть неоднозначность. Автор написал:
Цитата
Основная проблема - как заставить ядро ARM выходить в обработку исключения при достижении заданного адреса в пользовательской программе.


Я интерпретировал "пользовательскую программу", как программу для поцессора ARM, т.е. сам интерпретатор. Т.к. для интерпретируемого кода, в принципе, можно написать эмулятор на PC и это в ряде случаев будет гораздо проще...


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
TMX
сообщение Mar 28 2006, 08:14
Сообщение #19


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 19-01-05
Из: Москва
Пользователь №: 2 064



Большое спасибо всем ответившим, не имел доступа к интернету, поэтому не участвовал в обсуждении sad.gif
Резюме: делаю язык линейных инструкций типа IL, оформляю их в виде подпрограмм, которые вызываю по таблице структур, содержащей указатель на подпрограмму и параметры, эта таблица и является программой. Функции вызываются по указателю в цикле в фоновом процессе, после каждого вызова функции-команды вызывается функция-отладчик.

Цитата(makc @ Mar 26 2006, 00:23) *
Я интерпретировал "пользовательскую программу", как программу для поцессора ARM, т.е. сам интерпретатор. Т.к. для интерпретируемого кода, в принципе, можно написать эмулятор на PC и это в ряде случаев будет гораздо проще...

С эмулятора на PC (LabWindows) я и начну smile.gif
Go to the top of the page
 
+Quote Post

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

 


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


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