Lpcvcom для USB-подключения
Обновлено: 21.11.2024
LPCScrypt, DFUSec: загрузка USB FLASH, программирование и средство обеспечения безопасности, а также конфигурация LPC-Link 2.
Утилита LPC18xx/43xx DFUSec — это инструмент для ПК с ОС Windows, который обеспечивает функции поддержки микроконтроллеров LPC18xx/43xx через USB. Инструмент состоит из 3 компонентов: Image Programmer, LPC-Link 2 Configuration Tool и Security Support Tool (v2.00). Этот инструмент назывался LPC18xx/43xx DFU Utility (DFUUtil) или DFUSec в версиях до v1.10. DFUSec — это общее название инструмента, который охватывает все эти компоненты,
Для получения инструкций по использованию определенных возможностей инструмента DFUSec используйте меню справа.
Где скачать и загрузить предварительные условия
DFUSec доступен в предварительно настроенных пакетах для Image Programmer, Link Configuration Tool (LCT) и (будущего) Security Tool.
Программист изображений
Программист образов использует возможность загрузки USB DFU устройств LPC18xx/43xx для программирования внутренней флэш-памяти, EEPROM или SPIFLASH на некоторых платах. Для этого сначала загружается небольшой USB-образ на плату через USB с помощью DFU, а затем он связывается с приложением для ПК. Для использования Image Programmer порт USB должен быть подключен для загрузки через USB устройства LPC18xx/43xx. Большинство коммерческих плат, таких как платы от Embedded Artists, Hitex, Keil и NGX, обеспечивают эту поддержку.
Image Programmer предоставляет следующие возможности:
- Встроенное программирование и перепрограммирование внутренней флэш-памяти и внутренней памяти EEPROM на всех устройствах LPC18xx/43xx через USB
- Программирование схем и перепрограммирование некоторых устройств SPIFLASH, доступных на платах LPC18xx/43xx
- Загрузка Smiple DFU и выполнение образа в IRAM с дополнительной автоматической загрузкой при каждом подключении платы
- Необязательная генерация контрольной суммы во время программы
- Генерация загрузочного заголовка (необходим для загрузки SPIFLASH или DFU)
- Последовательные программные операции для сложных компоновок изображений в различных типах хранилищ (внутренняя FLASH, внутренняя EEPROM, SPIFLASH) — за один сеанс можно быстро запрограммировать все хранилище с помощью одного автоматизированного сеанса USB.
- Поддержка расширяемой флэш-памяти – добавление поддержки других устройств хранения в прошивку алгоритма программирования.
Инструмент настройки LPC-Link 2
Инструмент настройки LPC-Link 2 используется для загрузки образов прошивки на плату LPC-Link-2 и платы LPCXpresso V2 со встроенным интерфейсом LPC-Link 2 (LINK DFU). Это позволяет загружать образ микропрограммы, поддерживающий отладку через USB, например JLINK или CMSIS-DAP, для сред разработки, отличных от LPCXpresso-IDE. Чтобы использовать этот инструмент, выберите изображение для поддерживаемых плат LPC-Link 2 и следуйте инструкциям на странице.
Инструмент поддержки безопасности (ожидается)
Инструмент поддержки безопасности будет доступен в версии DFUSec v2.00. Этот компонент DFUSec добавляет следующие возможности:
- Управление ключами AES — генерация ключей и векторов, программирование и (ограниченное) извлечение ключей
- Создание зашифрованных изображений с поддержкой заголовка CMAC
- Блокировка режима загрузки — отключите JTAG, USB или другие возможности для производственных систем
- Возможность шифровать двоичные файлы FLASH из Image Programmer, чтобы позволить перепрограммировать защищенную плату (если она не заблокирована)
Важные примечания: прочитайте перед загрузкой и использованием
- Использование средства настройки LPC-Link2 больше не рекомендуется
- Функции, предлагаемые этим инструментом, были заменены LPCScrypt.
- Загрузите LPCScrypt, чтобы получить последние версии прошивки CMSIS-DAP и J-Link для плат LPC-Link2 или LPCXpresso V2/V3.
Инструмент настройки LPC-Link 2 (LCT) — это инструмент Windows, который устанавливает прошивку CMSIS-DAP/VCOM/LPCSIO или JLINK на платы LPCXpresso V2/V3 и LPC-Link 2. Этот пакет содержит средство настройки связи, все необходимые драйверы для Windows, руководство пользователя, а также исходные файлы и файлы проекта для восстановления микропрограммы алгоритма программирования, используемой LCT. Версия V2 обеспечивает расширенные возможности для плат LPCXpresso V2/V3 с улучшениями CMSIS-DAP, моста UART, подключенного к целевому процессору (только для плат LPCXpresso V2/V3), и моста LPCSIO, который обеспечивает связь с ведомыми устройствами I2C и SPI на Платы LPCXpresso V3. Для плат LPC-Link 2 обновленная версия CMSIS-DAP обеспечивает более быстрое программирование и более стабильную работу.В этой версии также добавлена поддержка J-Link — дополнительную информацию см. на веб-сайте SEGGER: для плат lpc-link2 и для плат LPCXpresso V2/V3.
Прошивка, включенная в этот пакет:
- Платы LPCXpresso V2/V3: отладчик CMSIS-DAP + VCOM (мост UART, подключенный к целевому процессору) + мост LPCSIO (мост I2C + SPI + GPIO, подключенный к целевому процессору)
- Платы LPC-Link 2: прошивка CMSIS-DAP
- Платы LPC-Link 2 и LPCXpresso V2 и V3: прошивка J-Link
Если вы используете платы LPC-Link 2 или LPCXpresso V2/V3 с LPCXpresso-IDE, вам не нужно использовать этот инструмент.
Обратите внимание, что перед использованием LCT необходимо установить NET4.5.1. Этот пакет автоматически загрузит и установит NET4.5.1, если это необходимо. Для более старых версий LCT v1.xx перед использованием необходимо загрузить и установить NET4 вручную.
Начало работы
Перейдите сюда, чтобы получить краткое руководство по использованию инструмента LCT для установки встроенного ПО на поддерживаемые платы. Установщик LCT установит руководство пользователя, в котором показаны шаги LCT для программирования микропрограммы на вашей плате. Это руководство пользователя можно выбрать в меню «Пуск».
Известные проблемы
- При использовании с виртуальной машиной (ВМ) LCT может неправильно выполнять перечисление. Не рекомендуется использовать это на виртуальной машине.
- Версия LCT >= v2.01 не будет работать в системах Windows XP. Вы можете использовать только старую версию v2.00 для систем Windows XP. Загрузите его здесь.
Важное примечание:
Начиная с версии 1.5, LPCScrypt является рекомендуемым инструментом для программирования последних версий CMSIS-DAP
и прошивку J-Link на платы LPC-Link2 или LPCXpresso V2/V3.
LPCScrypt — это средство командной строки с быстрой флэш-памятью, EEPROM, OTP и программным обеспечением безопасности для микроконтроллеров серий LPC1800 и LPC4300.
К основным функциям относятся:
- Поддержка нескольких платформ (Windows, Mac, Linux)
- Интерфейс командной строки с поддержкой сценариев
- Программирование внутренней и SPIFI флэш-памяти
- Поддержка широкого спектра устройств SPIFI (благодаря использованию LPCOpen lpcspifilib)
- Оптимизирован для высокоскоростной работы — обычно 100–300 КБ/с, в зависимости от флэш-устройства, хост-ОС и хост-компьютера.
LPCScrypt состоит из двух частей: многоплатформенного инструмента командной строки и монитора встроенного ПО MCU.
При использовании монитор встроенного ПО загружается в целевой MCU с помощью поддержки USB DFU, встроенной во встроенное ПЗУ (с использованием USB0 или USB1).
Прошивка создает виртуальный последовательный порт (VCOM) через USB для связи с хостом.
Хост-инструмент LPCScrypt предоставляет интерфейс командной строки для прошивки, предоставляя доступ к программируемым функциям MCU.
Его можно вызвать с помощью одной команды или файла сценария, содержащего последовательность команд.
Стандартные инструменты хоста, такие как пакетные файлы Windows или сценарии оболочки Linux/Mac, можно использовать с хост-инструментом LPCScrypt для автоматизации нескольких операций,
например, шифрование двоичных файлов, программирование двоичных файлов на флэш-устройства, настройка параметров загрузки, настройка VID/PID и, наконец, имитация сброса MCU.
LPCScrypt — это гибкий и быстрый инструмент, который подходит для одноразового программирования и тестирования или для полуавтоматического производственного программирования.
Доступна расширенная версия LPCScrypt с дополнительной поддержкой функций безопасности компонентов LPC18S00 и LPC43S00,
в соответствии с правилами экспортного контроля. Эта расширенная версия добавляет:
- Создание и программирование 128-битных ключей AES
- Шифрование и программирование защищенных изображений
Свяжитесь с местным представителем NXP, чтобы получить расширенную версию.
Загрузить Примечания Документация по LPCScrypt Загрузите и прочтите документацию перед установкой/использованием LPCScrypt Установщик Windows v1.5.2 build 588 Поддерживаемые платформы: Windows Vista или позже, 32- или 64-битная Установщик Mac OS X v1.5.2 build 588 Поддерживаемые платформы: Mac OS X Mountain Lion (10.8.5) или новее Установщик Linux v1.5.2 build 588 Поддерживаемые платформы: LPCScrypt только протестирован и поддерживается в последних дистрибутивах Ubuntu и Fedora (32- или 64-разрядная версия). Он *может* работать в других дистрибутивах, но мы не можем обеспечить поддержку, если это не так. LPC-Link2 может работать и как отладочный зонд, и как отладочная плата для микроконтроллера LPC4370.
Для изучения LPC4370 с помощью LPCScrypt:
• Для загрузки с USB0: JP1 не установлен.
• Для загрузки с SPIFI: установлен JP1.
Примечание MCU на LPC-Link2 не имеет внутренней флэш-памяти.
LPCScrypt поставляется со сценариями, позволяющими программировать образы прошивки CMSIS-DAP и J-Link
в платы LPC-Link2 и LPCXpresso V2/V3.
Чтобы использовать эту функцию, настройте выбранную плату на загрузку DFU, а затем подключите ее к хост-компьютеру через USB.
Чтобы установить отладочную прошивку CMSIS-DAP, откройте командную оболочку и вызовите сценарий program_CMSIS:
Чтобы установить отладочную прошивку J-Link, откройте командную оболочку и вызовите скрипт program_JLINK:
Для использования в Windows ярлыки для этих сценариев доступны из пункта LPCScrypt в меню "Пуск".
Пути к файлам в этом документе используют разделители каталогов Windows, в Linux или Mac OSX их необходимо заменить на «/»
Эти сценарии загрузят прошивку LPCScrypt на выбранную плату и
затем выберите подходящий образ микропрограммы и запрограммируйте его во флэш-память.
После завершения следуйте инструкциям на экране, чтобы использовать запрограммированный зонд отладки.
Для получения дополнительной информации прочитайте следующие разделы с подробным объяснением этой процедуры.
Сценарии предлагают возможность повторить последовательность программирования, чтобы можно было последовательно запрограммировать несколько тестов отладки.
Отладка вариантов прошивки и драйверов
4.1 Варианты прошивки
Отдельные образы прошивки доступны для каждого варианта LPC-Link2 для следующих реализаций протокола отладки:
4.1.1 CMSIS-DAP
Образы тестов отладки CMSIS-DAP позволяют выполнять отладку из любой совместимой цепочки инструментов,
включая IAR EWARM, Keil MDK, а также интегрированную среду разработки NXP LPCXpresso.
Помимо функций отладки, образ CMSIS-DAP по умолчанию также обеспечивает:
• Поддержка захвата трассировки SWO из интегрированной среды разработки LPCXpresso
• Поддержка измерения мощности в LPCXpresso IDE
• Мост UART, подключенный к целевому процессору (только для плат LPCXpresso V2/V3),
• Мост LPCSIO, обеспечивающий связь с ведомыми устройствами I2C и SPI (только для плат LPCXpresso V3).
Для получения дополнительной информации см.:
Если эти дополнительные функции не требуются, также предоставляется версия, поддерживающая только функции отладки.
Информацию о параметрах сценария см. в Разделе 7.2.
LPCXpresso IDE не требует, чтобы образ CMSIS-DAP был запрограммирован во флэш-память отладочного зонда,
поскольку обычно он загружается непосредственно в датчик после включения питания.
Однако он может использовать предварительно запрограммированную версию, если она имеется.
4.1.2 Сеггер J-Link
Пожалуйста, убедитесь, что вы прочитали условия лицензирования Segger для этих образов микропрограмм отладочного зонда перед их использованием.
Для получения информации об использовании J-Link с LPC-Link2 и LPCXpresso V2/V3 см.:
Изображения отладочного зонда J-Link позволяют плате LPC-Link2/LPCXpressoV2/V3 работать в качестве отладочного зонда J-Link
который работает с цепочками инструментов, поддерживающими протокол J-Link, такими как IAR EWARM, Keil MDK, Rowley CrossWorks,
Atollic TrueSTUDIO, инструменты, совместимые с OpenOCD, а также цепочки инструментов на основе GDB, такие как emIDE.
J-Link также можно использовать с LPCXpresso IDE.
Подробнее см.:
4.2 Драйверы
Возможно, вам потребуется установить дополнительные драйверы Windows, чтобы использовать пробу отладки.
Для CMSIS-DAP пакет драйверов Windows, если он еще не установлен, например, с помощью LPCXpresso IDE, можно найти по адресу:
Дополнительную информацию о J-Link можно найти на веб-сайте Segger.
Программирование (LPC-Link2)
Чтобы запрограммировать автономный LPC-Link2, в первую очередь убедитесь, что перемычка JP1 НЕ установлена, чтобы датчик мог загружаться с помощью DFU при включении питания.
Рисунок 5.1. Загрузка LPCLink2 DFU
Затем подключите плату к хост-компьютеру через USB-разъем для отладки и в командной оболочке запустите:
Сценарий автоматически определит тип отладочного зонда и выберет соответствующую версию микропрограммы.
После завершения программирования отсоедините плату от хоста, установите JP1, затем снова подключите плату к хост-компьютеру.
Вы должны увидеть, что проба отладки перечисляется в USB-системе хоста.
Дополнительно
LPC-Link2 – это отладочная и тестовая плата двойного назначения.
Плата содержит один микроконтроллер LPC4370 и 1 МБ флэш-памяти SPIFI.
Принимая во внимание, что платы LPCXpresso V2/V3 содержат выделенный микроконтроллер отладки 43xx (подключаемый через нижний левый USB-порт)
с внутренней флэш-памятью в дополнение к целевому MCU.
Поскольку отладочная прошивка хранится во флэш-памяти отладочного микроконтроллера, для этих плат требуются разные образы.
7.1 Шаги скрипта
В этом разделе описываются операции, выполняемые сценариями program_CMSIS и program_JLINK.
Сценарии выполняют следующие шаги:
<р>1. Загружает зонд отладки с прошивкой LPCScrypt.• это выполняется путем вызова скрипта \scripts \bootLPCScrypt
• если эта операция завершится успешно, то скрипт продолжит работу, в противном случае скрипт завершится с ошибкой
<р>2. Тесты на успешную связь между хостом и LPCScrypt• \bin\LPCScrypt print 0x1234 повторно вызывается до тех пор, пока не будет установлена успешная связь.
• при каждой попытке печатается «.». 3. Определите MCU отладочного зонда.
• Вызывается \bin\LPCScrypt querypart для возврата имени части
• в зависимости от результата выбирается тип вспышки SPIFI или BANKA
<р>4. Соответствующий файл образа находится в каталоге микропрограммы LPCScrypt на основе идентифицированного MCU отладочного зонда.• если это невозможно найти, будет сгенерирована ошибка, и скрипт завершится
<р>5. LPCScrypt вызывается для программирования образа на выбранную плату.• в случае сбоя работы программы будет сгенерирована ошибка и скрипт завершится
<р>6. Если ошибок не возникло, шаги будут повторены для следующего подключаемого устройства.• для LPC-Link2 прошивка хранится во флэш-памяти SPIFI по адресу 0x14000000,
поэтому плата должна быть настроена на загрузку из памяти SPIFI для CMSIS-DAP
или прошивка J-Link для использования после программирования (путем подключения перемычки JP1)
• для плат LPCXpresso V2/V3 прошивка хранится во флэш-памяти BankA по адресу 0x1A000000,
поэтому плату необходимо перенастроить для загрузки с BankA для прошивки CMSIS-DAP или J-Link
Поскольку физические COM-порты отсутствуют в ноутбуках и быстро исчезают на настольных компьютерах, для программистов встраиваемых систем очень удобно иметь чип с интерфейсом USB.
LPC1768 имеет интерфейс устройства USB, и эта библиотека позволит вам использовать его в качестве виртуального COM-порта. Библиотека объединяет функции из различных источников, перечисленных в ссылке.Вот простой пример, демонстрирующий работу библиотеки. Ознакомьтесь с различными функциями, предлагаемыми в usbSerial.h
Чтобы создать этот пример, сначала загрузите и извлеките последнюю базу кода быстрого старта проекта. Затем загрузите и извлеките в ту же папку библиотеку usbSerial. Содержимое файла main.cpp следующее:
Загрузите последний скомпилированный проект здесь. Измените начальный адрес флэш-памяти в файле компоновщика (LPC17xx.ld) и выполните повторную сборку, если вы используете дополнительный загрузчик. Я внес изменения для вторичного загрузчика USB NXP.Windows запросит драйвер при первом использовании устройства. Необходимый файл .inf находится в самой папке библиотеки. Для тех, кому может понадобиться помощь в установке драйвера,
В Windows 7 отсутствует терминальное программное обеспечение. Таким образом, вам придется использовать эмулятор терминала, если вы используете Windows 7. Некоторые популярные из них — TeraTerm, RealTerm и шпатлевка. Еще одна программа, которая привлекла мое внимание своей простотой, — это терминал Брея.
Что бы вы ни выбрали, вам необходимо знать, какой номер был присвоен COM-порту LPC1768. Эту информацию можно получить из диспетчера устройств.
Как видно выше, COM7 — это то, что мне нужно использовать для связи с LPC1768.
LPC-P1343 — это недорогая плата для разработки ARM Cortex-M3 от Olimex, которая поддерживает подключение через USB. Программное обеспечение для платы было разработано с использованием Rowley CrossWorks для ARM. Драйвер USB получен из проекта LPC1343CodeBase.
Оглавление
Запрограммируйте прошивку на устройство
Прежде чем использовать плату, ее необходимо запрограммировать. В каталоге установки есть файл с именем firmware.bin, который необходимо скопировать во встроенную флэш-память. Выполните следующие простые шаги:
- Установите перемычку BLD_E на плате.
- Подключите плату через USB к компьютеру.
- Теперь плата должна отображаться как запоминающее устройство USB с файлом firmware.bin.
- Удалите файл с доски и замените его файлом из каталога установки.
- Извлеките запоминающее устройство USB.
- Удалите перемычку и перезагрузите плату.
К сожалению, описанная выше процедура не будет работать на Linux или Mac, поскольку эти ОС по-разному записывают данные на запоминающие устройства USB. Вам понадобится программное и аппаратное обеспечение для программирования чипа через порт SWD, или вы можете попробовать информацию по этой ссылке. Обратите внимание, что контрольная сумма уже верна, поэтому вы можете пропустить эту часть инструкций.
Установка драйвера устройства (только для Windows)
Этот шаг не требуется на Mac или Linux, так как они оба распознают виртуальный COM-порт без дополнительных драйверов.
Устройство отображается в Windows как виртуальный COM-порт (VCOM), поэтому все, что нужно, — это файл .inf для его описания и универсальный драйвер Windows VCOM. Скопируйте файл lpc134x-vcom_64.inf из установки в папку Windows\inf и подключите LPC-P1343. Откройте диспетчер устройств Windows и разверните раздел Порты (COM и LPT), и вы должны увидеть новый COM-порт с именем LPC134x USB VCom Port (COMn), где n должно быть число больше 2.
Если устройство не отображается в списке портов, а вместо этого отображается в разделе Другие устройства со значком, указывающим на проблему, попробуйте позволить Windows выполнить поиск в Интернете соответствующего драйвера устройства.
Подключение устройства к шаговым двигателям
Устройство обеспечивает только цифровые выходы шага и направления. Некоторая форма драйвера двигателя необходима для преобразования этих сигналов в аналоговые сигналы мощности, которые вызывают шаговое движение. В таблице ниже показано назначение контактов по умолчанию, используемое для подключения платы к драйверу шагового двигателя. 8 выходных контактов шага и направления также подключены к 8 светодиодным индикаторам (активный низкий уровень) на плате.
Есть также 8 входных контактов для автоматического ограничения движения в каждом направлении по каждой оси. Эти контакты имеют слабую подтяжку, а контакты имеют активный низкий уровень, что означает, что их заземление будет препятствовать движению. Двигатели будут работать правильно, если ограничительные штифты останутся плавающими.
Назначения выводов
Ось Шаг Направление Ограничение вперед td> Предел числа оборотов X P3.0 P3.1 - P2.0 -P2.1 Y P3.2 P3.3< /td> -P2.2 -P2.3 Z P2.4 P2.5 -P2.8 -P2.9 U P2.6 P2.7 -P2.10 -P2.11 Запуск скрипта
Когда устройство подключено к ПК с Windows через USB, вы должны увидеть COM-порт с именем LPC134x USB VCom Port (COMn). Используйте COMn, где n – однозначное число, в качестве аргумента порта программы шагового двигателя.
В Mac и Linux виртуальный COM-порт появится в каталоге /dev.
Плата LPCXpresso55S16 представляет собой идеальную платформу для оценки семейства микроконтроллеров LPC55S1x/LPC551x, основанных на архитектуре Arm® Cortex®-M33. В комплект поставки входят разъемы экрана, совместимые с Arduino® UNO, с дополнительными портами расширения по всей площади основания Arduino, а также порт интерфейса PMod/host и место для модуля MikroElektronika Click.
Оборудование¶
Микроконтроллер LPC55S16 Arm® Cortex®-M33, работающий на частоте до 150 МГц
256 КБ флэш-памяти и 96 КБ встроенной памяти SRAM
Высокоскоростной USB-датчик отладки LPC-Link2 с портом VCOM
Соединение I2C и SPI USB с устройством LPC через зонд LPC-Link2
Вариант расширения MikroElektronika Click
Разъемы расширения LPCXpresso, совместимые с Arduino UNO
PMod-совместимый разъем расширения/хоста
Кнопки сброса, интернет-провайдера, пробуждения и пользовательские кнопки для удобного тестирования функциональных возможностей программного обеспечения
Полноскоростное USB-устройство/хост-порт
Высокоскоростное USB-устройство/хост-порт
Разъем UART для внешнего последовательного кабеля к USB
Стерео аудиокодек с линией входа/выхода
Акселерометр NXP FXOS8700CQ
Для получения дополнительной информации о SoC LPC55S16 и плате LPCXPresso55S16 см.:
Поддерживаемые функции¶
Конфигурация платы lpcxpresso55s16 поддерживает следующие аппаратные функции:
вложенный векторный контроллер прерываний
Другие аппаратные функции в настоящее время не включены.
Подключения и операции ввода-вывода¶
Система на кристалле LPC55S16 имеет регистры IOCON, которые можно использовать для настройки функциональности вывода.
Системные часы¶
Система на кристалле LPC55S16 настроена на использование внутреннего FRO на частоте 96 МГц в качестве источника системных часов. Другие источники системных часов предоставляются в SOC в зависимости от ваших системных требований.
Последовательный порт¶
Система на кристалле LPC55S16 имеет 8 интерфейсов FLEXCOMM для последовательной связи. Один настроен как USART для консоли, один настроен для I2C, а остальные не используются.
Программирование и отладка¶
Создавайте и прошивайте приложения как обычно (дополнительные сведения см. в разделе Создание приложения и запуск приложения).
Настройка отладочного зонда¶
Отладочный зонд используется как для прошивки, так и для отладки платы. Эта плата по умолчанию настроена на использование встроенного отладочного зонда LPC-Link2 CMSIS-DAP, однако инструменты хоста отладки pyOCD еще не поддерживают LPC55S16, поэтому вместо этого вы должны перенастроить плату для одного из отладочных зондов J-Link. р>
Сначала установите J-Link Debug Host Tools и убедитесь, что они есть в пути поиска.
Затем следуйте инструкциям встроенного отладочного зонда LPC-Link2 J-Link, чтобы запрограммировать прошивку J-Link. Убедитесь, что у вас установлена последняя версия микропрограммы для этой платы.
Настройка консоли¶
Подключите USB-кабель от ПК к разъему J1 (LINK2) и используйте выбранный вами последовательный терминал (minicom, putty и т. д.) со следующими настройками:
Читайте также: