25
программу, и затем посмотрите на регистры и дамп памяти, чтобы решить воз-
никшую проблему. Вы можете обнаружить неисправность, в этом случае Вы из-
мените код, перестроите программу и попытаетесь снова ее запустить.
Но что делать, если проблема не очевидна? Или, что делать, если неполадки
видны только, когда система работает на полной
скорости и таинственным обра-
зом исчезают, когда Вы пытаетесь их устранить с помощью точек останова и дру-
гих операторов отладки? Этот тип проблем появляется очень часто.
К счастью, DSP/BIOS предлагает несколько реальных преимуществ в этой
области. Каждый модуль DSP/BIOS предварительно обработан таким образом,
что нужные данные могут быть получены из системы во
время выполнения про-
граммы. Как это возможно?
Как мы упоминали в предыдущем разделе, есть периоды времени, в течение
которых процессор бездействует, что означает, что он напрямую не делает ничего
для выполнения приложения. В течение этого времени процессор может переме-
щать данные от целевой платы (платы на которой расположен DSP) в компьютер
разработчика
(ПК с запущенным Code Composer Studio). Этого можно достичь
путем соединения (например, через последовательный кабель, шину PCI, USB ка-
бель) проложенного между персональным компьютером разработчика и целевой
платой во время фазы отладки. Производительность и виртуально неограниченная
память персонального компьютера разработчика может быть использована для
получения отладочной информации во время выполнения программы из инстру-
ментальных модулей DSP/BIOS и
их преобразования в простые и понятные фор-
маты. В качестве хорошего примера обратитесь к графику на рис. 2-1. Все эти
данные собраны “бесплатно”, а не ценой работы в реальном режиме времени DSP.
Вам, как пользователю, не потребуется что-то дополнительно программи-
ровать. Вам просто надо выбрать для отображения график из меню средств
Code
Composer Studio. То же самое справедливо для графика «загрузки» CPU и окон
статистики, которые показывают, сколько раз выполнялся модуль, среднее и наи-
худшее время выполнения. Все эти возможности реального времени – настоящий
дар для отладки комплексных систем.
Самое замечательное, ничто из этого инструментального кода не должно
вносить изменений в версию, которая отлаживается, по сравнению
с версией, ко-
торая будет поставляться потребителю. Это действительно помогает по двум при-
чинам. Во-первых, у Вас есть только одна версия кода для сохранения. Во-
вторых, в случае возникновения проблемы в некоторых областях, вам будут дос-
тупны те же самые возможности отладки в масштабе реального времени.
И насколько большой?
Если все эти особенности DSP/BIOS кажутся полезными, Вы, наверное,
спросите себя, сколько адресного пространства занимают модули? На этот вопрос
нельзя просто ответить из-за масштабируемости ядра и поддержке различных
платформ, таких как TMS320C5000 и TMS320C6000. Таблица 2-1 показывает не-
которые типичные значения размеров ядра в различных конфигурациях. Заметим,
что при минимальной конфигурации ядра, в семействе
С5000, оно может быть