Инструменты пользователя

Инструменты сайта


prog:spec:multicore_debug_new

Запускаем отладку многопроцессорной системы

В данной статье мы рассмотрим как настроить среду CM-LYNX, чтобы выполнить отладку сразу нескольких процессоров 1967ВНxx. Связь отладчика с процессором осуществляется посредством JTAG интерфейса, поэтому чтобы в режиме отладки иметь доступ сразу к нескольким процессорам, необходимо объединить процессоры в JTAG цепочку. В нашем проекте мы будем использовать отладочный комплект для процессора цифровой обработки сигналов 1967ВН028, на отладочной плате которого уже реализовано соединение двух процессоров 1967ВН028 в JTAG цепочку.

Особенности JTAG цепочки на отладочной плате для 1967ВН028

Подключение процессоров 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 будет несколько отличаться от стандартной.

Обратите внимание, что в старой версии статьи для CM-LYNX 1.06.** настройка отладки нескольких ядер выполнялась абсолютно иначе и гораздо сложнее. С версии CM-LYNX 1.07.00 процесс многоядерной отладки стал настраиваться гораздо проще, о чем приводится информация далее.

Создаём отладочную конфигурацию. Для этого нажимаем на стрелку у значка жука и переходим в Debug configurations.

Так как у нас выбран тулчейн LLVM, то в открывшемся окне слева выбираем тип Milandr DSP1967 (LLDB) и выбираем иконку "New".

Создастся конфигурация {Name_project} Debug. Теперь во вкладке main необходимо указать количество ядер, то есть 2, а далее, в столбце Program, указать для каждого ядра проект для отладки. Обратите внимание, что в нашем случае оба проекта одинаковые, и оба ядра будут работать с одним проектом.

Теперь нажимаем на кнопку «Debug», после чего среда автоматически загрузит во все процессоры копию программы в соответствии с отладочной информацией о многопроцессорной конфигурации, хранящейся в "dxe"-файле, и запустится режим отладки.

Режим Debug

Теперь после запуска режима Debug в отладочной сессии будет отображаться два потока, по одному потоку на каждый процессор.

Выбрав соответствующий поток, можно по отдельности запускать выполнение программы на разных процессорах. Чтобы запустить выполнение программы одновременно на двух процессорах, воспользуемся функцией «Multisession Commands Mode».

Когда данная функция активирована, отладочные команды (Resume, Suspend, Terminate, Step Into, Step Over, Step Return) выполняются одновременно для всех активных процессоров.

plata.jpg


prog/spec/multicore_debug_new.txt · Последние изменения: 2019/10/09 14:11 — ilya