puhat 0 9 февраля, 2010 Опубликовано 9 февраля, 2010 · Жалоба Здравствуйте. Два вопроса. 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? Кто что может подсказать? Куда копать дальше? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 5 7 апреля, 2017 Опубликовано 7 апреля, 2017 · Жалоба .. интересно решили проблему? з.ы. ..конечно некропостинг и надежды мало , но вдруг ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться