Найти в Дзене

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

Оглавление

Как перепрограммировать 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

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

Что-то пошло не так, и нам не удалось загрузить комментарии. Попробуйте ещё раз
Рекомендуем почитать
Легендарный процессор: как я спас старый ПК друга и не пожалел
Когда мой друг Максим притащил к моей квартире системный блок, покрытый слоем пыли толщиной в полсантиметра, я думал — всё, конец. Приговор вынесен. Но иногда в мире железа случаются чудеса... — Слушай, — сказал он, тяжело дыша от подъёма на четвёртый этаж, — может, хоть что-то стоящее найдёшь? А то выбрасывать жалко... Я посмотрел на корпус. Древний. Потёртый. Явно из эпохи, когда YouTube ещё только зарождался. Но что-то внутри меня — назовите это инстинктом сборщика, интуицией энтузиаста — шептало: «Открой...
Почему ПК с PCIe 3.0 лучше выбросить на свалку, а GeForce RTX 5060 Ti не подходит для старого ПК
Статистика свидетельствует о том, что значительная часть пользователей не спешит с покупкой нового компьютера. Многие люди предпочитают выжимать из старого кремния все соки, а только после этого решаются на апгрейд. Приходится снижать настройки графики не в самых требовательных играх, наслаждаясь прохождением новинок исключительно на YouTube. Даже на нашем сайте находятся люди, до сих пор гоняющие на процессорах Intel, выпущенных 10 и более лет назад. Некоторые наши читатели рассказывают и о более...
Кому и для чего нужны древние сборки на 370/478 сокете?
В эпоху процессоров с едва ли не сотнями ядер, терабайтных SSD и трассировки лучей кажется, что древним сборкам на старых платформах место в музее. Однако вот что странно: спрос на «динозавров» от года к году только увеличивается! Это странно, ведь кому может быть нужна немощная машина на базе старых и слабых Pentium lll и 4? Разобрался в вопросе Игорь Позняев, создатель и автор канала «Блог системного администратора». Настало время окунуться в нулевые! Мало ли, может, были какие-то «секретные» процессоры, которые способны заткнуть за пояс современные i9? Шучу, таких не было...
Следующая статья
Документы, вакансии и контакты