Перейти к содержанию
    

Script debugger enable & code in SDRAM

Здравствуйте.

Два вопроса.

1) Использую среду VDSP++ 5.0 Update 7. Возникла необходимость использования скриптов. Разобрался как их загружать и запускать, но не могу понять как разрешить их отладку. В EE-235 (An Introduction to Scripting in VisualDSP++) описана процедура разрешения дебаггера - для этого поискал на сайте http://www.microsoft.com/downloads "Script Debugger" и скачал оттуда scd10en.exe, установил, перезагрузил компьютер, запустил VDSP++, открыл проект, загрузил скрипт, тыкаюсь правой кнопкой в окно Output Window - строка Enable Debugger как была серой так и осталась. Что я делаю не так? Может быть проблема в лицензии?

 

2) Почитал несколько тем, в которых обсуждается моя вторая проблема - размещение части кода в SDRAM, а также примеры от AD, но так и не разобрался до конца, в чем ошибка.

Итак, использую самодельную плату на BF532 (TQFP корпус) с подключенной SDRAM (8Мб) и загрузочной флэшь AT45DB161D. Создал проект, в котором исполняемый код размещается в SRAM, а данные частично располагаются как в SRAM так и в SDRAM. Нашел и переделал под свой проект пример от AD, реализующий предварительную инициализацию контроллера и периферии перед загрузкой основного кода - подключаю в проект Init_code_532.dxe - инициализируется SDRAM и PLL. Заливаю прошивку во флэшь через ByteBlaster, для отладки использую UART. Добавил в обработчик исключения отображение кодов ошибок по примеру из http://electronix.ru/forum/index.php?showtopic=71718 . Использую в проекте свой ldf-файл. Далее пытаюсь разместить одну исполняемую программу в SDRAM, пишу такой код:

#pragma section("sdram0_bank2")

void LCD_init (void)

 

Наблюдаю в map-файле, что данная функция разместилась в SDRAM. Посмотрел прошивку с помощью LdrViewer'a - требуемый блок размещается по требуемому адресу. Подключаю терминал, заливаю прошивку - программа выполняется до места вызова функции из SDRAM и потом затык. Обработчик исключения выдает коды ошибок:

 

SEQSTAT - 0х21 - May be used to emulate instructions that are not defined for a particular processor implementation.

EXCAUSE - 0х21

RETX - 0x0080014C - это адрес конца программы LCD_init (т.е. LCD_init размещается по адресам 0х00800000-0х0080014С).

 

SDRAM работает корректно - делал тест записи/чтения именно по этим адресам. Пытался также размещать код в SDRAM (начиная с адреса 0х00800000) и тупо выводить в терминал содержимое адресов, в которых размещается код - выводилась последовательность 0x00 длиной 14С (что соответствует длине программы LCD_init), а далее произвольные значения.

В отладчике (симуляторе) все работает корректно, осуществляется переход на нужные адреса и возврат.

 

BF532 отличается от BF533 наличием ПЗУ определяемым пользователем. Может быть это обстоятельство требует каких-то дополнительных действия и примеры для BF533 не будут 100% работать в случае с BF532?

Кто что может подсказать? Куда копать дальше?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

.. интересно решили проблему?

з.ы.

..конечно некропостинг и надежды мало , но вдруг ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...