Найти в Дзене

Как перепрограммировать LPC1768 в старой плате FPrint 55ПТК под свои задачи

Как перепрограммировать NXP LPC1768 в старой плате FPrint 55ПТК по свои проекты. Берем старую ненужную плату от принтера и на ней изучаем контроллеры LPC Статья будет завершаться готовым для скачивания проектом USB-HID устройства (Клавиатура, мышка , виртуальный COM портв - на ваш выбор). Segger Embedded Studio Для программирования мы выбираем среду разработки Embedded Studio. Главное на наш взгляд достоинство Segger Embedded Studio, что у них представлена Не коммерческая версия , которая имеет полный функционал без ограничений. А также компания SEGGER поставляет популярный программатор JLink , который подходит к большому количеству микроконтроллеров ARM (стоит на Алиэкспрессе 700р.) . Им мы и будет прошивать и отлаживать плату. Немного о минусах Embedded Studio Главный минус - это отсутствие большого количества примеров для разных контроллеров (в отличии например от среды Keil). У Segger есть пример на их плату разработчиков с контроллером MK66F18 (это тоже NXP). Изучаем там код.
Оглавление

Как перепрограммировать NXP LPC1768 в старой плате FPrint 55ПТК по свои проекты.

Берем старую ненужную плату от принтера и на ней изучаем контроллеры LPC

Контроллеры LPC и платы для разработчиков очень дорогие , поэтому есть смысл покапаться в старом барахле ЦТО-хников.Итак осваиваем программирование новых контроллеров NXP LPC на примере 1768
Контроллеры LPC и платы для разработчиков очень дорогие , поэтому есть смысл покапаться в старом барахле ЦТО-хников.Итак осваиваем программирование новых контроллеров NXP LPC на примере 1768

Статья будет завершаться готовым для скачивания проектом USB-HID устройства (Клавиатура, мышка , виртуальный COM портв - на ваш выбор).

Segger Embedded Studio

Для программирования мы выбираем среду разработки Embedded Studio.

Главное на наш взгляд достоинство Segger Embedded Studio, что у них представлена Не коммерческая версия , которая имеет полный функционал без ограничений.

А также компания SEGGER поставляет популярный программатор JLink , который подходит к большому количеству микроконтроллеров ARM (стоит на Алиэкспрессе 700р.) .

Им мы и будет прошивать и отлаживать плату.

Немного о минусах Embedded Studio

Главный минус - это отсутствие большого количества примеров для разных контроллеров (в отличии например от среды Keil).

У Segger есть пример на их плату разработчиков с контроллером MK66F18 (это тоже NXP). Изучаем там код.

В нашем случае для создания ведомого USB устройства под LPC1768 качаем с сайта segger.com поддержку нашего контроллера (называется ESPRO).

И далее создаем свой проект под LPC 1768 с нуля по аналогии с MK66F18 подкидывая туда все нужные файлы *.h,*.c .

Получается полностью автономный проект (без внешних зависимостей), который можно скачать по ссылке :

https://kkmspb.ru/development/NXP/programming-USB/So-first-working-LPC1768-project-on-Embeded-Studio.php

Самое приятное в Embedded Studio, что далее можно легко реализовывать любое USB-HID устройство внося минимальные изменения в код.

Поскольку программный код любого USB устройства является очень объемным мы не будем здесь приводить его частично или полностью, проще смотреть готовый работающий проект.

Отметим приятные возможности Embedded Studio , с которыми мы столкнулись:

Отладка

Отладка JLink-ом идет по всем функциям , в том числе и по тем , что в Keil невозможно (например SystemClock_Config()).

Трассировка

Для трассировки по SWO Segger использует свой набор файлов, смотрите ветку проекта SEGGER. В любом месте проекта вы может вставить инструкцию типа:

SEGGER_RTT_printf(0, "This is my message\n");

и сообщение попадет в окно отладки.

Также туда попадают штатные сообщения от USB обмена, настраивается это инструкциями :

USB_SetWarnFilter(0xFFFFFFFFF);
USBD_SetLogFilter(0XFFFFFFFFF)

операционная система EmbOS

Да-Да, именно операционная система в контроллерах ARM.

Не надо самому мучатся с созданием нескольких одновременно выполняющихся задач. Например одновременно управляем USB , Ethernet каналами , microSD , flash-ой и т.д.

Все гораздо проще - используйте embOS от Segger (она по умолчанию встроена во все примеры Segger-а).

Для этого у SEGGER есть своя библиотека и процесс создания сложных устройств становится намного приятнее.

Просто невероятная скорость компиляции

По сравнению с Keil5 раз в 20 быстрее полная пересборка проекта! Лично убедился на Win10-64 и Win7-64.

Вот так-то и можно будет быстро создавать свои решения.

Не забывайте про лицензионное соглашение Segger

Помните, что для использования всех возможностей БЕСПЛАТНО надо принять лицензионное соглашение о некоммерческом использовании продукта.

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

Проект также выложен на github-е

https://github.com/PavelDorofeev/USB-Device-LPC-1768-Segger-Embedded-Studio

Если у вас появились вопросы , задавайте , будем решать вместе.