1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/neptunekk-pyOCD

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

pyOCD

pyOCD — это пакет Python с открытым исходным кодом для программирования и отладки микроконтроллеров Arm Cortex-M. Он использует различные типы USB-отладочных зондов. Пакет полностью кроссплатформенный и поддерживает Linux, macOS и Windows.

Предоставляется инструмент командной строки, который охватывает большинство случаев использования, или вы можете использовать Python API для низкоуровневого управления целью. Общее применение Python API — запуск и управление CI-тестами.

Поддерживается более 70 популярных микроконтроллеров. Кроме того, благодаря использованию CMSIS-Packs поддерживается практически каждое устройство Cortex-M на рынке.

Инструмент командной строки pyocd даёт вам полный контроль над устройством с помощью следующих подкоманд:

  • gdbserver: удалённый сервер GDB позволяет выполнять отладку с использованием gdb через плагин GNU MCU Eclipse или консоль.
  • flash: программирование файлов различных форматов во флэш-память.
  • erase: стирание части или всей флэш-памяти микроконтроллера.
  • pack: управление пакетами семейства устройств CMSIS, которые обеспечивают дополнительную поддержку целевых устройств.
  • commander: интерактивный REPL-контроль и проверка микроконтроллера.
  • list: отображение подключённых устройств.

API и инструменты предоставляют следующие функции:

  • управление остановкой, шагом и возобновлением;
  • чтение/запись памяти;
  • чтение/запись основных регистров;
  • установка/удаление аппаратных и программных точек останова;
  • установка/удаление контрольных точек;
  • запись во флэш-память;
  • загрузка двоичных, шестнадцатеричных или ELF-файлов во флэш;
  • контроль сброса;
  • доступ к CoreSight DP и AP;
  • SWO и SWV;
  • и многое другое!

Настройка и настройка поддерживаются через файлы конфигурации и пользовательские скрипты.

Требования

  • Python 3.6.0 или новее (предпочтительно), или Python 2.7.9 или новее.
  • macOS, Linux или Windows 7 или новее.
  • Микроконтроллер с процессором Arm Cortex-M.
  • Поддерживаемый отладочный зонд:
    • CMSIS-DAP v1 (HID), например встроенный отладочный зонд с использованием прошивки DAPLink.
    • NXP LPC-LinkII.
    • CMSIS-DAP v2 (WinUSB), например Cypress KitProg3, Keil ULINKplus.
    • STLinkV2 или STLinkV3, как встроенные, так и автономные версии.

Статус

PyOCD функционально надёжен и полностью пригоден для использования.

Python API считается частично нестабильным, поскольку мы реструктурируем и очищаем его перед выпуском версии 1.0.

Документация

Документация pyOCD находится в каталоге docs/. Помимо руководств пользователя, вы можете создать справочную документацию с помощью Doxygen и предоставленного файла конфигурации (docs/Doxyfile).

Установка

Последнюю стабильную версию pyOCD можно установить через pip следующим образом:

$ pip install -U pyocd

Последняя версия пакета pyOCD доступна на PyPI, а также на GitHub.

Чтобы установить последнюю предварительную версию из HEAD основной ветки, вы можете сделать следующее:

$ pip install --pre -U https://github.com/mbedmicro/pyOCD/archive/master.zip

Вы также можете установить непосредственно из исходного кода, клонировав репозиторий git и запустив:

$ python setup.py install

Обратите внимание, что в зависимости от вашей операционной системы у вас могут возникнуть проблемы с разрешениями при выполнении этих команд. У вас есть несколько вариантов:

  1. В Linux запустите с sudo -H, чтобы установить pyOCD и зависимости глобально. (Установка с sudo никогда не требуется для macOS.)
  2. Укажите параметр --user для установки локально для вашего пользователя.
  3. Запустите команду в virtualenv, локальном для определённого рабочего набора проекта.

Для получения информации об установке и использовании на не-x86 системах, таких как Raspberry Pi, см. соответствующую документацию. Установка libusb

Libusb — это зависимость для всех поддерживаемых операционных систем. Pyusb — обычный пакет Python, который устанавливается вместе с pyOCD. Однако libusb представляет собой двоичную разделяемую библиотеку, которая не устанавливается автоматически через pip dependency management.

Способ установки libusb зависит от вашей ОС:

  • macOS: используйте Homebrew: brew install libusb.
  • Linux: уже должен быть установлен.
  • Windows: скачайте libusb с сайта libusb.info и поместите DLL в папку установки Python рядом с python.exe. Убедитесь, что используете ту же 32- или 64-битную архитектуру, что и ваша установка Python. Примечание: из-за известной проблемы (см. ссылку) текущая рекомендация заключается в использовании версии libusb 1.0.21 на Windows вместо самой последней.

Правила udev в Linux

В Linux, особенно Ubuntu 16.04+, необходимо настроить правила udev, чтобы позволить pyOCD получать доступ к отладочным пробникам из пользовательского пространства. В противном случае вам придётся запускать pyOCD как root, используя sudo, что крайне не рекомендуется. (Никогда не запускайте pyOCD от имени root на любой ОС.)

Чтобы помочь с этим, примеры файлов правил udev включены в pyOCD в папке udev. Папка содержит подробные инструкции.

Поддержка целей

См. документацию по поддержке целей (docs/target_support.md), чтобы узнать, как проверить, есть ли у используемых вами микроконтроллеров встроенная поддержка, и как установить поддержку для дополнительных микроконтроллеров через CMSIS-Packs.

Автономный сервер GDB

После установки pyOCD через pip или setup.py вы сможете выполнить следующую команду, чтобы запустить сервер GDB на базе pyOCD:

$ pyocd gdbserver

Дополнительную помощь можно получить, выполнив команду pyocd gdbserver --help.

Пример сеанса командной строки GDB, показывающий, как подключиться к работающему pyocd gdbserver и загрузить прошивку:

$ arm-none-eabi-gdb application.elf
<gdb> target remote localhost:3333
<gdb> load
<gdb> monitor reset

Подкоманда pyocd gdbserver также может использоваться в качестве замены OpenOCD в существующих установках. Основное отличие заключается в наборе команд монитора gdb.

Рекомендуемая настройка GDB и IDE

Рекомендуемый набор инструментов для разработки встраиваемых устройств Arm Cortex-M — GNU Arm Embedded, предоставляемый компанией Arm. GDB входит в этот набор инструментов.

Сервер GDB хорошо работает с Eclipse и подключаемыми модулями GNU MCU Eclipse. GNU MCU Eclipse полностью поддерживает pyOCD с включённым плагином отладки pyOCD.

Для просмотра значений периферийных регистров можно использовать встроенный просмотрщик регистров GNU MCU Eclipse или установить плагин Embedded System Register Viewer. Их можно установить внутри Eclipse, используя следующие адреса серверов обновлений программного обеспечения:

В Eclipse выберите пункт меню «Справка -> Установить новое программное обеспечение...». Затем либо нажмите кнопку «Добавить...» и заполните имя и URL-адрес сверху (по одному разу для каждого сайта), либо просто скопируйте URL-адрес в поле, где указано «введите или выберите сайт». Затем вы можете выбрать программное обеспечение для установки и нажать «Далее», чтобы начать процесс.

Настройка разработки

Инструкции по настройке среды разработки для pyOCD см. в руководстве для разработчиков (docs/developers_guide.md).

Вклад

Мы приветствуем вклад в pyOCD во всех областях. Подробные требования к вкладам см. в руководящих принципах вклада (CONTRIBUTING.md).

Чтобы сообщить об ошибках, создайте проблему в проекте GitHub.

Лицензия

PyOCD лицензирован с разрешительной лицензией. Лицензия Apache 2.0. Полный текст лицензии смотрите в файле LICENSE.

Copyright © 2006-2019 Arm Ltd и другие (см. отдельные исходные файлы).

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

pyOCD is an open source Python package for programming and debugging Arm Cortex-M microcontrollers using multiple supported types of USB debug probes Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/neptunekk-pyOCD.git
git@api.gitlife.ru:oschina-mirror/neptunekk-pyOCD.git
oschina-mirror
neptunekk-pyOCD
neptunekk-pyOCD
master