Введение
CMSIS-DAP/DAPLink-это аппаратное и программное обеспечение с открытым исходным кодом, запущенное Muse Lab. Он изысканный и компактный по внешнему виду. По сравнению с популярной J-Link_OB/st-link скорость горения быстрее, в то время как цена намного ниже, без риска авторского права. DAPLink предоставляет три интерфейса. Это Программирование перетаскивания, поддержка последовательного порта и отладки. Кроме того, вы можете обновить прошивку DAPLink с помощью интерфейса программирования drag-and-drop загрузчика.

Спецификация

Особенности
● Аппаратное обеспечение с открытым исходным кодом, обеспечивает аппаратную схему
● Программное обеспечение с открытым исходным кодом, предоставляет исходный код и прошивку
● Поддержка программирования и отладки целевой MCUs на основе ядра ARM Cortex, таких как STM32, GD32, NRF51/52

● Поддержка разъема отладки SWD и JTAG
Интерфейс отладки без драйвера на основе CMSIS-DAP обеспечивает канал, по которому запускается протокол отладки CMSIS-DAP. Это позволяет всем ведущим отраслевым стандартным инструментальным цепочкам программировать и отлаживать целевую систему. Поддерживаемые инструменты включают:
Keil MDK
Верстак IAR
PyOCD
Поддерживаемые отладчики других CMSIS-DAP
● Поддержка последовательного порта USB
DAPLink delight probe также предоставляет последовательный порт USB, который может быть соединен с TTL UART в целевой системе. Последовательный порт USB появится на компьютере Windows как com-порт, или на машине Linux как интерфейс a /dev/tty и на Mac OS как dev/usbмодем.
● Поддержка USB drag-and-drop программирования
Датчики отладки DAPLink также появляются на хост-компьютере в качестве usb-диска. Файлы программ в форматах binary (.bin) и hex (.hex) могут быть скопированы на usb-диск, который затем программирует их в память целевой системы. Это достигается путем встроенного алгоритма флэш-программирования в интерфейсную прошивку. Таким образом, для программирования drag-and-drop для работы важно, чтобы версия используемой прошивки DAPLink была специально создана для целевой системы.
● Поддержка обновления прошивки с помощью интерфейса программирования drag-and-drop загрузчика
● Поддержка сброса программного обеспечения, целевая плата будет сброшена после завершения загрузки прошивки
Установка драйвера
В то время как Linux и Mac OS не требуют никаких драйверов, для версии Windows старше 10 потребуется драйвер последовательного порта. Скачайте драйвер с https://github.com/wuxx/nanoDAP/tree/master/driver/windows7_serial_driver. Установите «CMSIS_DAP.inf» или «windows7_serial_driver» для CMSIS-DAP, установив “mbedWinSerial_16466.exe» для DAPLink

Как программировать
1. Подключите CMSIS-DAP/DAPLink delight probe к целевой плате через разъем SWD или JTAG


2. Подключите CMSIS-DAP/DAPLink к хост-компьютеру.
Если все пройдет хорошо, на менеджере устройств компьютера появится виртуальный последовательный порт и USB-HID устройство.

Для датчика отладки DAPLink на хост-компьютере также появится usb-диск с именем «DAPLINK».

3. Настройте инструмент отладки. Выберите Keil MDK в качестве примера (swd-соединение).
(1) Откройте Keil, нажмите «опции для цели»-> «отладка» и выберите «CMSIS-DAP отладчик».

(2) нажмите кнопку «Настройки» и настройте страницу «отладка», как показано ниже

(3) Настройте страницу «Загрузка вспышки»

4. Нажмите кнопку «загрузить» или введите F8 для программирования кодов на целевой плате.
Как использовать последовательный порт
1. Подключите CMSIS-DAP/DAPLink delight probe к целевой плате, как показано ниже,

2. Подключите CMSIS-DAP/DAPLink для отладки компьютера. Проверьте серийный номер порта в менеджере устройств

3. Откройте инструмент последовательного порта на хост-компьютере, например, шпатлевка, SSCOM. Настройте серийный номер порта и скорость передачи данных для подключения к целевой плате. Затем хост-компьютер может связаться с целевой платой.


Как перетаскивать (DAPLink)
1. Подключите DAPLink delight probe к целевой плате через разъем SWD или JTAG
2. Подключите DAPLink к хост-компьютеру. На ПК появится usb-диск с именем «DAPLINK». Перетащите файлы программ в форматах binary (.bin) и hex (.hex) и вставьте в usb-диск. Тогда прошивка будет запрограммирована в память целевой системы.

Как обновить прошивку (DAPLink)
1. Подключите nRST с GND DAPLink по линии dupont. Затем подключите DAPLink к хост-компьютеру. На ПК появится usb-диск с именем «обслуживание».
2. Отсоедините nRST с контактами GND. Перетащите новую прошивку и вставьте ее в usb-диск. Затем новая прошивка будет запрограммирована в память датчика отладки DAPLink.

Как программировать с OpenOCD
Мы предоставляем скрипт инструмент для программирования целевой MCU с OpenOCD. Загрузите скрипт в https://github.com/wuxx/openocd-toolbox. Затем дважды щелкните скрипт без установки.
Документы
● Руководство пользователя: https://github.com/wuxx/nanoDAP/blob/master/doc/README.md
● Аппаратное и программное обеспечение: https://github.com/wuxx/nanoDAP
● Драйвер последовательного порта для Win7: https://github.com/wuxx/nanoDAP/tree/master/driver/windows7_serial_driver
● Скрипт для OpenOCD: https://github.com/wuxx/openocd-toolbox
Вопросы и ответы
В: компьютер сообщает, что в Windows 7 отсутствует драйвер последовательного порта
О: в то время как Linux и Mac OS не требуют никаких драйверов, версии Windows старше 10 потребуется драйвер последовательного порта. Скачайте драйвер с https://github.com/wuxx/nanoDAP/tree/master/driver/windows7_serial_driver
В: Keil MDK предлагает «Сбой связи SWD/JTAG», как это решить?
О: во-первых, проверьте, правильно ли подключены контакты датчика отладки и целевой платы. Во-вторых, проверьте, достаточно ли напряжения целевой платы. Если контрольная плата снабжена устройством отладки, напряжение может быть недостаточным, так как максимальный выходной ток USB составляет 500 мА.
В: Keil MDK предлагает «ошибка в RDDI-DAP», как ее решить?
О: во-первых, проверьте, правильно ли подключены контакты датчика отладки и целевой платы. Во-вторых, попытайтесь использовать более короткие линии DuPont, так как сигналы между линиями DuPont могут мешать друг другу, если линии DuPont слишком длинные. Вы также можете попробовать уменьшить скорость программирования. Как правило, проблема может быть решена вышеуказанными методами.
В: какие чипы поддерживает программирование перетаскивания?
Ответ: DAPLink поддерживает трансиверное Программирование нескольких чипов. Пожалуйста, обратитесь https://github.com/ARMmbed/DAPLink/tree/master/source/family. В будущем больше фишек будет поддерживаться с развитием ARM community. Если ваш собственный чип должен быть поддержан при помощи программы перетаскивания, вы можете внести некоторые изменения кода, указав исходный код.
Вопрос: Можно ли использовать CMSIS-DAP/DAPLink delight probe для отладки в Linux?
О: в Linux вы можете использовать CMSIS-DAP/DAPLink с OpenOCD для программирования и отладки целевого MCU. OpenOCD-популярный инструмент для отладки по всему миру, так как он является открытым исходным кодом и мощным. Так как OpenOCD является кросс-платформой, вы также можете использовать OpenOCD для отладки MCU в Windows путем написания сценариев конфигурации.
Список доставки
● Комплект 1: CMSIS-DAP зонд для отладки * 1 + 20 см DuPont Line * 4
● Комплект 2: DAPLink delight Probe * 1 + 20 см DuPont Line * 4