В данной статье мы рассмотрим как настроить среду CM-LYNX, чтобы выполнить отладку сразу нескольких процессоров 1967ВНxx. Связь отладчика с процессором осуществляется посредством JTAG интерфейса, поэтому чтобы в режиме отладки иметь доступ сразу к нескольким процессорам, необходимо объединить процессоры в JTAG цепочку. В нашем проекте мы будем использовать отладочный комплект для процессора цифровой обработки сигналов 1967ВН028, на отладочной плате которого уже реализовано соединение двух процессоров 1967ВН028 в JTAG цепочку.
Подключение процессоров 1967ВН028 к отладчику по интерфейсу JTAG может быть настроено с помощью перемычек XP3-XP5. В зависимости от установленного положения на XP3-XP5 могут быть использованы следующие режимы:
Режим подключения отладчика к процессорам | Положение XP3 | Положение XP4 | Положение XP5 |
---|---|---|---|
Подключён только процессор D5 | 1-2 | не установлена | 1-2 |
Подключён только процессор D6 | 2-3 | не установлена | 2-3 |
Подключены оба процессора: JTAG цепочка D6-D5 | 2-3 | установлена | 1-2 |
Рисунок, наглядно демонстрирующий различные режимы подключения отладчика к процессорам.
Для использования многопроцессорной отладки нам необходимо объединить процессоры в JTAG цепочку, поэтому устанавливаем перемычки на XP3-XP5 для режима с подключением двух процессоров.
В качестве тестового примера для отладки мы будем использовать проект Hello World, описанный в статье Создаем проект в среде CM-LYNX. По статье выполняем все пункты по созданию проекта до настроек режима Debug, т.е. указываем новый workspace, создаём в нём проект для 1967ВН028 и добавляем файл main.c с кодом мигания светодиодами. Далее настройка режима Debug будет несколько отличаться от стандартной.
Создаём отладочную конфигурацию. Для этого нажимаем на стрелку у значка жука и переходим в Debug configurations.
Так как у нас выбран тулчейн LLVM, то в открывшемся окне слева выбираем тип Milandr DSP1967 (LLDB) и выбираем иконку "New".
Создастся конфигурация {Name_project} Debug. Теперь во вкладке main необходимо указать количество ядер, то есть 2, а далее, в столбце Program, указать для каждого ядра проект для отладки. Обратите внимание, что в нашем случае оба проекта одинаковые, и оба ядра будут работать с одним проектом.
Теперь нажимаем на кнопку «Debug», после чего среда автоматически загрузит во все процессоры копию программы в соответствии с отладочной информацией о многопроцессорной конфигурации, хранящейся в "dxe"-файле, и запустится режим отладки.
Теперь после запуска режима Debug в отладочной сессии будет отображаться два потока, по одному потоку на каждый процессор.
Выбрав соответствующий поток, можно по отдельности запускать выполнение программы на разных процессорах. Чтобы запустить выполнение программы одновременно на двух процессорах, воспользуемся функцией «Multisession Commands Mode».
Когда данная функция активирована, отладочные команды (Resume, Suspend, Terminate, Step Into, Step Over, Step Return) выполняются одновременно для всех активных процессоров.