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

 
 
> Проблемы при отладке в Microblaze, Глючит при пошаговом исполнении в режиме Debug
Sergey'F
сообщение Jun 9 2011, 09:50
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 17-09-05
Из: Москва
Пользователь №: 8 660



Постоянно сталкиваюсь с проблемой при отладке софта через меню Debug под Microblaze через Platform Cable USB. Версия - ISE и EDK 12.2 с патчами.

Вариантов поведения по сути два. Первый - неправильное исполнение кода (пример ниже). Второй - вылет с нормальной инструкции в обработчик исключения неверной инструкции. Проблемы возникают как в пошаге, так и при запуске на исполнение до точки останова.

По неправильному исполнению кода наиболее наглядно - простой цикл.
CODE
int i;
int *p;
int data[4];
...
for (i=0; i<4; i++) p[i]=data[i];
...

При запуске в режиме отладки не изменяется счетчик цикла, причем при прохождении в пошаге по окну дизассемблера прыгает в начало цикла с инструкции сохранения.

Пробовал разные аппаратные конфигурации - отключал в ядре Writeback в кэше данных, играл другими параметрами.
Играл с софтом - включал и не включал кеш - эффект один. Стека простейшей программе хватает. Прогнал тест внешней памяти - проходит. Размещал программу и во внешней, и во внутренней памяти - то же.
И по быстродействию вроде бы проходит (смотрел отчет), хоть я и не спец в констрейнах Xilinx.

Запускаю неконтролируемое отладчиком исполнение через Run - система работает нормально.

Нет ли идей, в какую сторону копать, что у Xilinx почитать? Может, приоритеты прерываний как-то надо поставить правильно, XCL на SDRAM отключить и все пустить через один канал, или с кэшем еще как-то поколдовать?
Go to the top of the page
 
+Quote Post



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

 


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


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