Контроллер lpc что это
Перейти к содержимому

Контроллер lpc что это

  • автор:

Драйвер для неизвестного устройства Intel ICH LPC Interface Controller

Сегодня в очередной раз столкнулся с необходимостью установки драйвера для неизвестного устройства Intel(R) 82801GB/GR (ICH7 Family) LPC Interface Controller — 27B8. В зависимости от модели чипсета название этого устройства может быть другим, но суть от этого не меняется. Это достаточно старая и известная проблема, которая до сих пор у многих вызывает затруднения.

Если в Диспетчере устройств открыть закладку «Сведения» для этого неизвестного устройства, то в разделе «ИД оборудования» можно увидеть строку ACPI\ATK0110. ATK 0110 — это виртуальное устройство которое собирает информацию о работе материнской платы для утилиты Asus AiBooster. Для Windows 2000 и выше нужно установить драйвер ATK0110 ACPI UTILITY.

Будьте внимательны! В архиве находятся две версии драйвера: для 32-битных и 64-битных операционных систем. Обязательно следует устанавливать версию, которая соответствует разрядности вашей операционной системы.

Вы так же можете использовать Windows Update, который автоматически подберет, скачает и установит необходимый драйвер.

Месяц HAL продолжается: HAL для LPC

В продолжение месяца постов о HAL решил написать и о своей библиотеке, правда, в отличие от предыдущих она в основном специализируется на контроллерах от NXP. Библиотека не использует дополнительных прослоек и работает напрямую с регистрами. Она состоит из двух обязательных частей, которые собираются с помощью GCC ARM, make и kconfig, и затем статически линкуются с основным проектом.

    , ,
  • +1
  • 29 мая 2016, 18:19
  • 9

mbed LPC1768 + IAR + CMSIS-DAP (шаблон проекта)

Всем привет!

Думаю что тем, кто среди вас является поклонниками IAR и у кого внезапно завалялся mbed LPC1768 (он же mbed обыкновенный), может пригодиться шаблон, который я состряпал и оформил на днях.

Почему рабочий и такой весь распрекрасный mbed может внезапно заваляться? Ну хотя-бы потому, что он, сикут эт ардуинус вульгарис, не поддерживает нормальную отладку из коробки со своим онлайн-компилятором. Именно поэтому он завалялся и у меня, после того, как я с ним наигрался. Что уж поделать — жирую я, привык к нормальной отладке 🙂

Так вот, относительно недавно у mbed было феерическое обновление прошивки интерфейса, в которую добавили поддержку CMSIS-DAP. Кто следит за событиями и в теме — тот знает. Кто не следит и не в теме — это такой специальный стандарт, разработанный ARM, который описывает универсальный отладчик.
Таким образом, mbed получил возможность полноценно отлаживаться по евойному USB проводочку, что есть очень хорошо. Но бида заключалась в том, что на тот момент, когда я обновил свой mbed и решил испробовать этот функционал, единственной средой, которая поддерживала CMSIS-DAP была среда Keil MDK (кто бы сомневался!). Я далеко не фанат этой среды, но чисто для интереса, поставил ее и решил попробовать. Действительно, отладка работала и делала это очень хорошо. Тем не менее, MDK я удолил, а все попытки узнать что-то про поддержку CMSIS-DAP у IAR приводили ко вполне обоснованным предположениям, что IAR тесно повязан с Segger и такую поддержку реализует не скоро. Если вообще реализует. По крайней мере интернеты были именно такого мнения и настроя.

Но на днях, обновив IAR на относительно последний, я узрел, что чудо свершилось! Поддержка CMSIS-DAP появилась и в IAR. Естественно, я сразу же начал запиливать блинки, который можно было бы отлаживать на mbed в IAR’е. Очень помогло то, что все библиотеки mbed с некоторого времени лежат с открытыми исходниками — это замечательно. Тем не менее, после создания и первичной настройки/нафаршировки проекта, простой блинки не то чтобы отлаживаться, он и компилироваться-то не особо хотел. Вот тут-то и начались грабли.
Проблемы компиляции были решены небольшим допилом mbed’овской либы. Также, либа была немного реструктурирована для упрощения. Был убран либовский CMSIS, ибо в IAR есть возможность подключить встроенный. После этих шаманств дело пошло, блинки загружался и работал нормально. Но вот отлаживаться упорно не хотел.
В результате долгих мудовых рыданий была обнаружена совершенно неочевидная вещь, связанная со скриптом линкера, о которой, походу, никто не в курсе. По всей видимости, это такая специфическая особенность работы связки mbed, IAR и CMSIS-DAP. Дело в том, что если оставить скрипты линкера как у всех, в частности, начало региона ROM в 0x00000000, то программа успешно компилируется, запускается и работает, но вот отлаживаться (именно в IAR’e) не желает — отладка жутко глючит и проц периодически ресетится и валится. Я так и не понял с чем это связно, но мне кажется, что это всяко связано с механизмом защиты кода NXP. Поэтому, ставим начало региона ROM в 0x00000300 (за областью защиты) и радуемся — отладка начинает работать как часы. Вот так.
Было еще несколько разных мелких нюансов, которые я причесал в шаблоне, и которые уже не упомню. Но тем не менее, можете качать на здоровье и пользоваться. Вполне себе мило и работает.

Да. Вот еще что. У IAR’a то-ли такая специфическая реализация CMSIS-DAP, то-ли просто баг на первой версии библиотеки поддержки этого типа отладчиков, то-ли просто какая-то несовместимость с mbed, но просто так, через механизмы отладки, загрузить прошивку в mbed не получается. Вообще никак. Загрузка только ручками на диск mbed, как обычно.
На самом деле это не сильно большая проблема, т.к. решается она просто — в свойствах проекта задается команда автоматического копирования исполняшки на диск mbed после сборки, а в свойствах отладки ставится галка, что загрузку производить не надо. Вот и все. Процедура работы при этом такая: собираем исполняшку (она автоматически грузится на диск mbed), жмем на mbed кнопу reset (исполняшка шьется в контроллер), жмем отладку в IAR, отлаживаем. В общем-то, не сильно много неудобств. Но я на всякий случай написал в суппорт mbed об этой шняге — посмотрим, что они ответят.

    , , ,
  • +1
  • 06 июня 2013, 01:38
  • 14
  • 1

LPCXpresso Урок 15. I2C. Работа с термометром LM75.

Представляю вашему вниманию ранее отменённую статью курса для начинающих посвященную шине I2C на примере работы с датчиком температуры LM75. Сам датчик имеет небольшую стоимость (25р в Чип-НН на момент покупки мной, да и в наборе I2C от NXP присутствовал), что в 2-3 раза дешевле популярного термометра от Dallas. Про LM75 имеется описание в сообществе и вне его в инете (благо есть поиск).

    , , , , ,
  • +1
  • 17 октября 2011, 11:01
  • 21
  • 2

LPCXpresso Урок 14. PWM. Синхронный ШИМ на таймере.

Прежде чем завершить курс для новичков рассмотрим такую всеми любимую и всем надоевшую тему как ШИМ.

Схема

Для данного урока нам надо подключить пару светодиодов к выводам P1.9 и P1.10 платы, через ток ограничительные резисторы (номиналом 100 Ом – 1 кОм):

Если вдруг под рукой у вас не завалялось ни одного светодиода, то можно поступить и так:

    , , , , ,
  • +2
  • 23 сентября 2011, 08:49
  • 8
  • 1

LPCXpresso Урок 13. Debug. Погружаемся в отладку на примере UART.

Я в курсе для новичков предлагаю вам уже избавленный от ошибок код, но что делать, когда пишешь код сам. Отладчик это мощное средство, давайте же изучим его ещё немного лучше. До сих пор мы только наблюдали в нем за ходом выполнения программы, в этом же уроке мы будем им управлять.

    , , , , ,
  • +2
  • 22 сентября 2011, 09:08
  • 5
  • 1

LPCXpresso Урок 12. UART. Взаимодействуем с компьютером.

Предлагаю вашему вниманию поверхностное знакомство с UART интерфейсом в контроллере. Данный урок является вступлением к наиболее важной части (следующий урок) курса для новичков.

    , , , , ,
  • +3
  • 21 сентября 2011, 13:05
  • 19
  • 1

LPCXpresso Урок 11. USB+SPI. Делаем картридер.

Курс для новичков продолжается ознакомлением с SPI на примере работы с SD/MMC карточками. А поскольку USB-MSC мы уже проходили, то соорудим пародию на картридер. Пользоваться им я категорически запрещаю, т.к. размер карты зашит в коде и при установки другой карты вы можете потерять ваши данные.

    , , , , , , ,
  • 0
  • 20 сентября 2011, 09:39
  • 11
  • 2

LPCXpresso Урок 10. USB-MSC. Разбираем пример.

Продолжим знакомство с LPC13xx в среде разработки CodeRed. На сей раз в рамках курса для новичков изучим пример использования встроенного класса USB mass storage (или попросту USB-флешки).

    , , , , ,
  • +1
  • 19 сентября 2011, 09:20
  • 10
  • 1

Используем отладку LPC-Link без CodeRed IDE

Всем привет,
Дошли наконец руки до валяющейся уже год экспрессы с 1768 на борту. Но поскольку CodeRed IDE мне категорически не нравится, появилось стойкое желание завести отладку под любой другой IDE. Что мне отчасти удалось. Опишу, что я сделал, может у кого-то появится идея, как быть дальше.

    , , ,
  • 0
  • 18 сентября 2011, 12:23
  • 14

LPCXpresso Урок 9. USB-bootloader. Прошиваем контроллер подручными средствами.

Об использовании USB-загрузчика у NXP имеется аппноут AN10986 (код). Я же попробую в рамках курса для новичков рассказать его по-русски.
На данном этапе отладчик нам не нужен, поэтому отключаем его от USB.

    , , , , ,
  • +1
  • 16 сентября 2011, 08:46
  • 36
  • Страницы:
  • 1

Прямой эфир

  • Комментарии
  • Публикации
  • alexeys3 → Сделал программатор — WILLEM 4 → Блог им. alexeys3
  • Melted_Metal → Регулятор громкости усилителей SWAT 8 → Аудиотехника
  • DVF → Lithium ECAD — российская САПР печатных плат 32 → Софт для электронщика
  • Vga → Газовый паяльник за 800 руб — Сварис ПГ-100 7 → Осторожно, говно!
  • nictrace → LuatOS и опыты над W806 3 → Деталька
  • Vga → AtMega1284p/644p и W5500 Ethernet 14 → AVR
  • jonson-72 → Программатор SPI и I2C микросхем памяти CH341A Mini Programmer 36 → Деталька
  • nictrace → Winner Micro W806 — краткий обзор. 8 → Деталька
  • Vga → EmBitz 4 → Софт для электронщика
  • anakost → Встраиваемый интерпретатор языка Pascal и его возможное применение. 3 → Алгоритмы и программные решения
  • PANYTA → LoRa SX1268 E22400-M22S запуск, настройка на максимальную дальность 10 → Радио
  • ZiB → Окирпичиваем stm8l101F1 9 → Блог им. DySprozin
  • GYUR22 → Приглашаем на вебинар «STM32WL – новый LoRa-микроконтроллер 433/868 МГц. Передача данных на большие расстояния» (28.02.2022) 3 → События и семинары
  • sunjob → Еще один шаблон проекта под STM32 на gcc 32 → Блог им. storm_ua
  • Vga → Подключение компилятора к CLion на примере Microchip XC8 5 → Осторожно, говно!
  • ReasonX → Подключение компилятора к VS Code и CLion на примере Microchip XC8 2 → Осторожно, говно!
  • Alm → W806 — GPIO и таймеры. часть 2. 1 → Деталька
  • anakost → Raspberry Pi 4. Рациональное использование SSD диска корпуса Argon One M2. Менеджер загрузки OS 4 → Как работает?
  • Technicum505SU → Отбеливание пластика 32 → Технологии
  • do-vitas → USB-CAN адаптер. 19 → STM32

Блоги

  • 38.98 AVR
  • 37.92 STM8
  • 29.53 Мусоровоз[x]
  • 28.46 STM32
  • 24.63 Деталька
  • 24.04 Связь железа с компьютером.
  • 18.15 Схемотехника
  • 17.75 Умный дом
  • 17.13 MSP430
  • 14.79 LPC1xxx

Контроллер lpc что это

После вполне себе удачного программирования контроллеров марки STM32 под Atollic True Studio возникло желание познакомится с другими контроллерами , например LPC.

Оказалось , что для LPC (1768,1778. ) есть также бесплатная среда разработки MCUXpresso с отладкой и трассировкой SWO через тот же JLink программатор.

Но признаться честно говоря нас не очень радует почти полное отсутствие на алиэкспрессе отладочных плат или когда ценник на такие платы во много раз дороже STM32 вариантов. Но , к счастью, у нас есть великое множество железок , плат управления от кассовых аппаратов , в которых используются контроллеры LPC1768,1778 и т.д. Там есть USB,RS232,Ehernet? что еще надо.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *