Потрясающие встроенные ресурсы для разработчиков
Потрясающий список источников и либеров для разработки встроенных систем
Внедрение источников и LIBS в этом списке специально подходит для встроенных систем, ограниченных ресурсами (с низкой памятью и низкой мощностью), таких как 8-битные, 16-битные и 32-битные микроконтроллеры.
Предупреждение, этот список не охватывает никаких связанных с Linux тем (например, платформа Raspberry Pi или любых других SBCS (один платный компьютер)).
Постоянный URL-адрес этого списка: https://github.com/idoka/awesome-embedded-software
Содержимое
- Общий
- Память
- Управление памятью
- Буферы
- Кольцевой буфер
- Фиф
- Хранилище
- Файловые системы
- Базы данных
- Флэш -память
- Протоколы
- Радиочастотные протоколы
- Сетевые протоколы
- Веб -сервер
- MQTT
- Протокол анализации
- Обработка данных
- Математика
- DSP и фильтрация
- Сжатие
- Ай мл
- резюме
- Криптография
- Общий
- Эллиптическая кривая криптография
- Генерация случайных чисел
- ОС
- RTOS
- Планировщик на основе событий
- Пользовательский интерфейс
- Кли
- Меню
- printf
- Сканировать
- Регистрация
- Графический интерфейс
- Редакторы GUI
- Шрифт утилит
- Инструменты умозамывания картины
- Аппаратное обеспечение
- Другие
- Управление потоком
- Загрузчики
- Обновления прошивки
- Сенсорный экран
- Управление временем
- Встроенные сценарии и языки
- Компиляторы
- Без рубрики
Общий
- Wiselib - библиотека общих алгоритмов для гетерогенных, распределенных, встроенных систем.
- util.embedded - Полезный код поддержки для встроенной разработки.
- Embxx - встроенная библиотека C ++.
- Встроенные Libs - библиотеки для встроенного программного обеспечения (в основном для STM32).
- ETLCPP - библиотека встроенных шаблонов, где пользователь может объявить размер или максимальный размер любого объекта заранее.
- Efll - библиотека Fuzzy Logic - это стандартная библиотека для встроенных систем.
- Коллекция разных портативных фрагментов C - Сбор различных портативных фрагментов C.
- SC - портативные, отдельные библиотеки C и структуры данных (C99).
- MicroTBX - Инструментальный аппарат Microcontroller с открытым исходным кодом, состоящий из программных компонентов, обычно необходимых в встроенных программных приложениях. MicroTBX написан на языке программирования C (C99) с учетом соответствия MISRA.
- UMLIBC - LIBC с ограниченными от памяти.
- µClibc -ng - встроенная библиотека C.
- LIBC в Embedded Artistry-внедренная внедренная C-стандартная библиотека, предназначенная для встроенных систем на основе микроконтроллера. Снижение набора функциональности (из -за встроенной природы). Выбран для переносимости и быстрого роста.
- HWLIB-C ++ OO Библиотека микроконтроллеров для программирования закрытия к прибору.
- CTL - C Шаблон -библиотека контейнеров. Существует быстрый компилирование, тип Safe, только заголовок, библиотека контейнеров, похожая на шаблон для ISO C99/C11.
- FSMLANG - Язык Описания Машины штата с генератором языка C. Поддерживает плоские и иерархические машины и подсистему событий.
Память
Управление памятью
- Libmemory - Библиотека управления памятью с реализациями для Malloc (), Free () и других полезных функций управления памятью.
- LWMEM - Легкая библиотека диспетчера динамической памяти для встроенных систем с ограничениями памяти. Он реализует Malloc, Calloc, Realloc и свободные функции.
- UMM_MALLOC - Диспетчер памяти для небольших (ISH) микропроцессоров.
- O1HEAP-Высокометристический распределитель памяти с высокой детерминированной константой, предназначенный для жестких встраиваемых встраиваемых систем.
Буферы
- Inceddedproto - C ++ Протокол Буферов реализация, специально подходящая для микроконтроллеров ARM Cortex -M. Это маленький, надежный и простой в использовании.
- Protobuf-Embedded-C-Протокол Буферов Генератор для ограниченных ресурсов встроенные приложения, написанные на языке программирования C.
Кольцевой буфер
- LWRB - Легкая библиотека менеджера управляющего кольцами.
- RINGBUFFER - Простая библиотека с безопасным кольцом кольца прерывания (круглый) буферных очередей для встроенных платформ.
- LFBB-Двухпартийный буфер без блокировки, вариант кольцевого буфера, который всегда может предоставить кондиционевое пространство внутри буфера для чтения, написания или изменения данных на месте.
Фиф
- FIFOFAST - быстрый, общий FIFO для MCUS.
Хранилище
Файловые системы
- LWEXT4 - Библиотека файлов ext2/ext3/ext4 для микроконтроллеров.
- FATFS - Внедрение FAT файловой системы.
- LevelX - обеспечивает выравнивание износа Flash для FileX и автономных целей.
- UFAT-Нижняя память, полная функция, реализация VFAT.
- FAT_IO_LIB - небольшая площадь, низкая зависимость, C Code реализация драйвера FAT16 и FAT32.
- SDFAT - Arduino FAT16/FAT32 Exfat Library.
- FAT32 - Файл -система FAT32 FAT32, написанная в C без сторонних зависимостей. Это требует небольшого порта, который обеспечивает функции для инициализации, чтения и записи в MSD.
- EMFAT - Библиотека эмуляции FAT32 для STM32F4.
- OpenFAT - Файловая реализация файловых систем для встроенных процессоров.
- UC-FS-Компактная, надежная, высокопроизводительная и защищенная от потока файловая система для микропроцессоров, микроконтроллеров и DSP. Дополнительный компонент журнала обеспечивает безопасную работу при сохранении совместимости жира.
- Littlefs - Маленькая отказоустойчивая файловая система, разработанная для микроконтроллеров.
- UFFS - файловая система для устройств NAND с выравниванием износа и хорошей терпимостью.
Базы данных
- FlashDB-база данных с ультра-легким весом, которая поддерживает данные ключей и временных рядов.
- PUREDB - портативный и крошечный набор библиотек для создания и чтения постоянных баз данных.
- Unqlite - встроенный NOSQL, транзакционная база данных.
- VEDIS - внедренная реализация Redis (библиотека Datastore C, созданная с более чем 70 командами, сходными по концепции с REDIS, но без сетевого уровня, так как VEDIS работает в том же процессе приложения хоста).
- Microkvs - крошечное хранилище ключей для постоянных данных конфигурации на микроконтроллерах.
Флэш -память
- EasyFlash - легкая библиотека встроенной флэш -памяти.
- Flashalgo - Фреймворк для здания ARM Cortex -M "FLM" Алгоритмы флэш -программирования.
- FCB - Flash Circular Buffer обеспечивает абстракцию, с помощью которой вы можете обрабатывать Flash как FIFO.
Протоколы
- NanoPB - Реализация протоколов размером с небольших кода в ANSI C. Особенно подходит для использования в микроконтроллерах, но подходит для любой системы с ограниченной памятью.
- Обмен - Механизм запроса/ответа для встроенного развития с использованием атомики.
- Xmodem - библиотека Xmodem для систем встраивания, мобильных, IoT и настольных систем.
- TinyFrame - Простая библиотека для создания и анализа данных для последовательных интерфейсов (например, UART / RS232).
- Nanomodbus - компактная библиотека Modbus RTU/TCP C для встроенных/микроконтроллеров.
- RCOBS - Кодирование обратных кормов (RCOBS) представляет собой вариант кодировки COBS, предназначенных для обеспечения кодирования с нулевым лавками.
Радиочастотные протоколы
- Radiohead - Библиотека пакетов для встроенных микропроцессоров.
- Radiohead's Adafruit - библиотека пакетов для встроенных микропроцессоров с документами.
Сетевые протоколы
- UIP - Очень небольшая реализация стека TCP/IP, написанного Адамом Данкельсом.
- LWIP - Небольшая независимая реализация пакета протоколов TCP/IP, которая была первоначально разработана Адамом Данкельсом. Lwip подходит для использования во встроенных системах с десятками килобит бесплатной оперативной памяти и места для около 40 килобитов кодового ПЗУ.
- Httpclient - клиентская библиотека HTTP.
- httpio - отдельный протокол перекрестного запроса и генератор ответов для протокола HTTP.
- PICOTCP - модульный стек TCP/IP с небольшим путем, предназначенный для встроенных систем и Интернета вещей.
- RAWTCP_LIB - C Библиотека для создания и использования пакетов TCP/IP с необработанными сетевыми розетками.
- LRNDIS - Ethernet над USB (RNDIS + LWIP).
- CyclonetCP - двойной стек IPv4/IPv6, посвященный встроенным приложениям. Стек распределяется в виде полного ANSI C и высокодоступного исходного кода (примеры, не включенные в источники GitHub).
- STATICNET - C ++ TCP/IP и SSH Stack с All -Static Allocations, предназначенные для встроенных приложений с голой металлом (без операционной системы) с минимальным следствием.
Веб -сервер
- Mongoose - встроенный веб -сервер и встроенная сетевая библиотека. Он реализует неблокирующие API-интерфейсы, управляемые событиями, для TCP, UDP, HTTP, WebSocket, MQTT.
- LIBEVHTP - чрезвычайно быстрые и надежные встроенные HTTP -серверы с легкостью.
- Libμhttpd - очень гибкая, легкая и полностью асинхронная библиотека HTTP -сервера на основе LIBEV и HTTP -Parser.
- Sandbird - Tiny (800SLOC) Embeddable HTTP -сервер, написанный в C89.
MQTT
- Libemqtt 1 - Встроенная клиентская библиотека C для протокола MQTT.
- Libumqtt 2 - Легкая и полностью асинхронная библиотека Clift Clifit C MQTT на основе LIBEV.
- Paho MQTT - C клиентская библиотека для встроенных систем.
Протокол анализации
Регулярные выражения анализации
- REGEXP - Библиотека регулярных выражений для встроенных систем.
GSM
- LWGSM - Библиотека для модулей SIMCOM GSM для общения AT AT AT и RTO с хост -устройства.
- GSM_ENGINE - Generic At Parser для модулей на основе команд.
- Tinygsm - небольшая библиотека Arduino для модулей GSM, которая работает.
GPS
- LWGPS - Легкий GPS NMEA SARSER для встроенных систем.
- Minmea - Легкая GPS NMEA 0183 Библиотека анализатора в Pure C.
В командном анализаторе
- ATAT - LIB для обработки пользовательских команд AT -LIKE.
- CAT - Plain C Library для анализа в командах для использования в хост -устройствах.
- GZAT - Портативный в библиотеке командного анализа на языке C ++.
- ATPARSER - MBED -OS, совместимый с командным анализатором.
- ATCommander - Портативная библиотека C ++ для отправки по командам и разрабатываю их ответы.
- LWESP - Легкий ESP в библиотеке синтаксического анализатора команд для общения с модулем ESP8266 или ESP32 Wi -Fi с использованием команд.
Различные протоколы
- LWPKT-легкая структура протокола пакетов для многоуровневой связи, ориентированная на RS-485.
- LWOW - Легкая библиотека протоколов OneWire, оптимизированная для оборудования UART на встроенных системах.
- Panstamp -Swap - Простой беспроводной абстрактный протокол для любого существующего радио ISM.
- Panstamp -USWAP - Микрокафтер для MCU для MCU, подключенного через UART.
- Мин - Микроконтроллер Interconnect Network Protocol Версия 2.0.
- LIBCOAP - C Внедрение легкого протокола приложений для устройств, которые ограничивают свои ресурсы, такие как вычислительная мощность, RF -диапазон, память, пропускная способность или размеры сетевых пакетов. Этот протокол, COAP, стандартизирован IETF как RFC 7252.
Обработка данных
Математика
- Liquid-FPM-программная математическая библиотека с фиксированной фиксированной точкой для встроенной обработки сигналов.
- FPM-C ++ только заголовок. Математическая библиотека.
- Собственное - библиотека шаблонов C ++ для линейной алгебры: матрицы, векторы, численные решатели и связанные с ними алгоритмы.
DSP и фильтрация
- Liquid-DSP-Библиотека обработки цифровых сигналов для программных радиоприемников.
- МИНФФТ - Маленькая и быстро дискретная библиотека преобразования Фурье.
- IIR1 - DSP IIR Filter Library, написанная в C ++.
- Kalman -Clib - Микроконтроллер, нацеленная на наивную реализацию фильтра Kalman в Pure C.
- LIBDSPL - Библиотека алгоритмов обработки цифровых сигналов, написанная на языке C.
- Pocketfft - сильно модифицированная реализация FFTPack.
- Поцелуй FFT - Mixed -Radix Fast Fourier Transform, основанный на принципе, «Держите его простым, глупым».
- CMSIS-DSP-встроенная библиотека вычислений для Cortex-M и Cortex-A.
- SIGLIB-Цифровая обработка сигналов и библиотека машинного обучения (x86, Cortex-A и Cortex-M, RISC-V, DSP от TI, ADI и т. Д.).
- LSP-DSP-LIB-Библиотека DSP для цифровой обработки сигналов предоставляет набор функций, которые выполняют SIMD-оптимизированные вычисления на нескольких аппаратных архитектурах. Все функции в настоящее время работают на числах с плавающей запятой IEEE-754.
Сжатие
- Heatshrink - библиотека сжатия данных для встроенных/в реальном времени систем.
- Shoco - C Библиотека для сжатия и декомпрессии коротких струн. Это очень быстро и просто в использовании. Модель сжатия по умолчанию оптимизирована для английских слов, но вы можете генерировать собственную модель сжатия.
- Smaz - сжатие для очень маленьких струн.
- ECL - встроенная библиотека сжатия предназначена не только для встраивания, но в основном ориентирована на небольшие данные и имеет специальные оптимизированные режимы с низкой памяти для ограниченных сред.
- Unishox2 - гибридный энкодер для коротких строк юникода (Unishox обеспечивает наилучшее сжатие для короткого текста и не сравнивать с алгоритмом сжатия общего назначения, таким как LZ4, Snappy, LZMA, Brottli и ZSTD).
- TCOBS-Короткое сжатие сообщений с помощью кадрирования COBS с использованием неявного кодирования длины длиной, оптимизированные для данных, содержащих статистически немного больше 0 и FF байтов подряд, поскольку данные часто имеют 16, 32 или 64-битные числа с небольшими значениями.
Ай мл
Искусственный интеллект и машинное обучение
- Cranium - портативная, только заголовок, библиотека искусственной нейронной сети, написанная в Vanilla C99.
- μtensor - библиотека выводов Tinyml AI.
- FIDO - Легкая библиотека машинного обучения C ++ для встроенной электроники и робототехники.
- NNOM - Нейронная сеть на микроконтроллере (NNOM) - это библиотека нейронной сети высокого уровня, специально предназначенные для микроконтроллеров.
- CAFFEPRESSO - Оптимизированная библиотека для глубокого обучения на платформах на основе встроенных акселераторов.
- Libonnx - легкий, портативный механизм Pure C99 ONNX вывода для встроенных устройств с поддержкой аппаратного ускорения.
- TinyMaix - крошечная библиотека нейронной сети вывода специально для микроконтроллеров (TINYML). Разработано для того, чтобы следовать правилу: простой в использовании> Портатив> Скорость> Пространство.
резюме
Компьютерное зрение
- Встроенный SOD - библиотека встроенного компьютерного зрения и машинного обучения (оптимизированный процессор и IoT).
- QR-Image, врученная-QR Библиотечная вилка для встроенных систем.
Криптография
Общий
- Формированная - минимальный, модульный способ писать криптографические приложения на платформах микроконтроллеров (ржавчина).
- Wolfssh - Легкая библиотека клиентов и серверов SSHV2, написанная в ANSI C и предназначенная для сред, RTO и ограниченных ресурсов - в первую очередь из -за его небольшого размера, скорости и набора функций.
- Libhydrogen-легкая, безопасная, простой в использовании крипто-библиотека, подходящая для ограниченных сред.
- Krypton - встроенная библиотека TLS/DTLS, источник и бинарная совместимая подгруппа OpenSSL.
- Wolftpm - высокопортативная библиотека TPM 2.0, предназначенная для встроенного использования.
- MBEDTLS - открытый, портативный, прост в использовании, читаемой и гибкой библиотеке TLS, а также эталонная реализация API криптографии PSA.
- ? Liblithium - легкая криптография библиотека, которая портативна по дизайну. Это требует только стандартного C99 и не предполагает 8-битную адресность, что делает ее подходящим для использования в некоторых архитектурах DSP, а также в основных архитектурах.
- «Trezor -Crypto - сильно оптимизированные криптографические алгоритмы для встроенных устройств.
- Poly1305-DONNA-реализации быстрого автономного кода сообщений (8-битный, 16-битный, 32-битный и 64-битный размножение версий).
- Arduinolibs - Arduino Cryptography Library.
- TLSE - ОДИН -файл C File TLS 1.2/1.3 Реализация с использованием Tomcrypt в качестве крипто -библиотеки.
- Libtomcrypt-Довольно всеобъемлющий, модульный и портативный криптографический инструментарий, который предоставляет разработчикам широкий спектр хорошо известных опубликованных шифров блока, односторонних хэш-функций, режимов цепочки, псевдолудочных генераторов чисел, общедоступной криптографии и множества других процедур.
- Monocypher - простые в использовании, простая в развертывании, проверенная крипто -библиотека, написанная на портативном C.
- Minicrypt - Библиотека крипто -примитивов для встроенных систем.
- TinyCrypt - Библиотека криптографических алгоритмов предоставляет реализацию для ограниченных устройств минимального набора стандартных примитивов криптографии.
- Tiny-AES-C-небольшие портативные AES128/192/256 в C.
- µAES - легкая, очень гибкая, портативная и совместимая с ANSI -C реализация мод шифрования AES и блокировки шифров.
- CycloneCrypto - криптографический инструментарий, предназначенный для использования во встроенных системах. Он предоставляет комплексный набор криптографических примитивов (хэш -функции, потоковой и блокировки шифров, криптография открытого ключа), которые можно использовать для добавления функций безопасности в ваше встроенное приложение.
Эллиптическая кривая криптография
- Salty-ED25519 подписи с оптимизацией сборки для Cortex-M4 и Cortex-M33.
- Micro-ECC-ECDH и ECDSA для 8-битных, 32-битных и 64-битных процессоров.
- LibueCc - очень маленькая общая эллиптическая крип -крип -библиотека, совместимая с ED25519.
- C25519-AND255519-CURVE25519 и ED25519 для систем с низкой памяти (Curve25519 Скалярное умножение использует менее половины кб использования пикового стека).
Генерация случайных чисел
- PCG-C-BASIC-Код обеспечивает минимальную реализацию одного члена семейства случайных генераторов случайных чисел PCG, которые являются быстрыми, статистически превосходными и предлагают ряд полезных функций.
- PCG -C - Код обеспечивает реализацию семейства случайных генераторов случайных чисел PCG, которые являются быстрыми, статистически превосходными и предлагают ряд полезных функций.
ОС
- Citrus - Операционная система Bare Metal Arm® Cortex® -A5.
- Vanilla - Операционная система Bare Metal Arm® Cortex® -M7.
- ? Хаос - Multicore Multicore Multicore Arm® Cortex® -A Операционная система на основе архитектуры Microkernel.
- Ядра LK - Маленькая ядра, встроенная в ядро, представляет собой ядро SMP -Aware, предназначенное для небольших систем, переносимых на различные платформы и архитектуры процессоров.
- Quarkts - OS для встроенных приложений, которые поддерживают приоритетное кооперативное планирование, управление временем, примитивы между заданиями, иерархические государственные машины и коратики.
- Micro-Ros-Micro-Ros ставит ROS 2 на микроконтроллеры.
RTOS
- ? Freertos ™ - Freertos.
- Зефир - новое поколение, масштабируемые, оптимизированные, безопасные RTO для нескольких аппаратных архитектур.
- Apache Nuttx - Apache Nuttx - это зрелая встроенная операционная система в реальном времени (RTOS).
- SCMRTOS-крошечная превентивная операционная система в реальном времени, предназначенная для использования с однохипными микроконтроллерами. SCMRTOS способен работать на крошечных UCS с небольшим количеством оперативной памяти 512 байтов. RTOS написан на C ++ и поддерживает различные платформы.
- Chibios/RT-компактная и быстрое операционная система в реальном времени, поддерживающая несколько архитектур, предназначенные для встроенных приложений на микроконтроллерах 8, 16 и 32-битных.
- Azure RTOS Threadx - Advanced Opering System в реальном времени (RTOS), разработанная специально для глубоко встроенных приложений.
- EcoS - операционная система в реальном времени, предназначенная для встроенных приложений (закрытый источник) .
- Embox - конфигурируемые RTOS, предназначенные для ограниченных ресурсов и встроенных систем. Embox Main Idea - это использование программного обеспечения Linux без Linux.
- Riot-многопоточная операционная система в реальном времени, которая поддерживает ряд устройств, которые обычно встречаются в Интернете вещей (IoT): 8-битный, 16-битный и 32-битный микроконтроллеры. Riot основан на следующих принципах проектирования: энергоэффективность, возможности в реальном времени, небольшая следов памяти, модульность и единый доступ API, независимо от базового оборудования (этот API предлагает частичное соответствие POSIX).
- ARM MBED OS - Операционная система платформы, предназначенная для Интернета вещей. Он включает в себя все функции, необходимые для разработки подключенного продукта, основанного на микроконтроллере коры Arm Cortex-M, включая безопасность, подключение, RTOS и драйверы для датчиков и устройств ввода-вывода.
- RT-Thread-RT-Thread родился в 2006 году, это операционная система с открытым исходным кодом, нейтральным и сообществом в реальном времени (RTO). RT-Thread имеет стандартную версию и Nano версию. Для систем микроконтроллера (MCU) с ограниченным ресурсом (MCU) версия Nano ядра, которая требует только 3 КБ Flash и ресурсов памяти 1,2 КБ, может быть адаптирована с простыми в использованием инструментами; А для богатых ресурсами устройств IoT, RT-Thread может использовать онлайн-инструмент управления программным пакетом вместе с инструментами конфигурации системы для достижения интуитивной и быстрой модульной резки, плавный импорт богатых программных пакетов, тем самым достигая сложных функций, таких как графический интерфейс Android и сенсорные эффекты скольжения, интеллектуальные эффекты взаимодействия голоса и так далее.
- Distortos - объектно -ориентированный C ++ RTO для микроконтроллеров.
- R3-OS-экспериментальные статические (μitron-esque) RTOS для глубоко встроенных систем, проверяя предел Rust's Const Eval и Generics (Rust) .
- Tock Embedded OS-встроенная операционная система, предназначенная для работы с несколькими параллельными, взаимно недоверчивыми приложениями для микроконтроллеров с низкой памяти и низкой мощностью (Rust) .
- Одуванчик - операционная система Microkernel в реальном времени в Rust.
- Miditaos - Мобильная операционная система, основанная на Freertos, оптимизированные для E Ink Displays - разработана для Midita Pure Minimalist Phone.
- µc/os-II-упреждающие, высоко портативные и масштабируемые ядра в реальном времени. Предназначен для простоты использования на огромном количестве архитектур процессоров.
- µc/os-III-упреждающие, очень портативные и масштабируемые ядра в реальном времени. Предназначен для простоты использования на огромном количестве архитектур процессоров.
- QP/C-встроенные рамки/RTO для встроенных систем на основе активных объектов (актеров) и иерархических государственных машин (FUSA, MISRA-C 2023 Соответствие).
- Довольно ОК RTO - без тика, минимальные, 500 строк кода, 7 функций.
Планировщик на основе событий
- Uevloop - быстрый и легкий цикл событий для встроенных платформ.
- LWEVT - Легкая система управления событиями для встроенных систем.
- Асинхронная - асинхронная структура в C для систем, где важно низкое использование памяти.
- Protothreads - Предоставьте линейное выполнение кода для систем, управляемых событиями, внедренных в C, предназначенных для систем с ограниченными памятью, таких как небольшие встроенные системы или узлы беспроводных сенсорных сети.
- Evosos - Система на основе событий, разработанная для Arduino Framework.
- VSF - программная структура Versaloon - крошечная инкрементная программная структура, управляемая событиями, для встроенных систем.
Пользовательский интерфейс
Кли
- CLI - CLI (интерфейс командной строки) Пример сборка в Pure C., разработанный для MCU, поддержки блока/ввода режима не блока.
- Терминал - интерфейс командной строки для микроконтроллеров. Гибкие настройки терминала позволяют интегрировать его с любым микроконтроллером без особых усилий.
- Serialmenu - Arduino Library, чтобы легко создать меню на серийной консоли.
- Терминальный сервер - сервер терминала для MCU.
- Microsh - оболочка для небольших встроенных устройств.
- CMD -L - Обработчик командной строки для встроенных устройств.
- Embedded-Cli-CLI с одним заголовком с историей и автозаполнением для встроенных систем.
- Microshell - легкая чистая C -реализация виртуальной оболочки, совместимая с терминалом VT100. Поддержите корневое дерево, пути монтажа времени выполнения, глобальные команды и многое другое.
- Microrl - Библиотека линий микроидку для небольших и встроенных устройств с основной поддержкой VT100.
Меню
- PROMENU - Библиотека Advanced Generic Application Menu. Библиотека Promenu используется для быстрой реализации расширенных меню пользователей. Он поддерживает гнездование, числовые настройки, настройки текста, логические значения и события. Библиотека реализована в C ++ с помощью встроенного порта Arduino, но его легко переносить в разные архитектуры.
- BBMENU - простое портативное меню CLI для задач MISC (оно основано на текстовых меню, легко определенных в файле).
- MicromeNu-V2-крошечная текстовая библиотека меню в C для встроенного использования.
printf
- LWPRINTF - Легкая библиотека печати оптимизирован для встроенных систем.
- Incedded_printf - встроенная версия знаменитой функции "printf ()". Идея заключается в создании простой и эффективной библиотеки для удовлетворения некоторых распространенных потребностей во встроенных системах.
- TinyPrintf - Tiny Printf и Sprintf Library для небольших встроенных систем.
- XPRINTF -FP - PRINTF для встроенной системы с поддержкой плавающей запятой.
- XPRINTF -IO - Компактная строковая библиотека ввода -вывода. Он идеально подходит для крошечных микроконтроллеров, которые имеют недостаточную память программы для регулярной функции печати. Рекомендуемое использование: написание форматированных строк в ЖК -дисплей или UART и для консоли отладки/технического обслуживания.
- XPRINTF - Полная реализация форматирования FPRINTF (), подходящая для встроенного использования.
- Tiny-Printf-крошечная, быстрая, не зависимая и полностью загруженная реализация Printf для встроенных систем. Обширный тестовый набор прохождения.
- Tiny-Printf New-Enhanced и Pervorted Fork
tiny-printf . Крошечный, быстрый (иш), автономный и полностью загруженный печатный, спринф и т. Д. - Mini -Printf - Минимальная реализация printf () для встроенных проектов.
- Nanoprintf - самая маленькая публичная реализация Printf для своего набора функций.
- FMT - современная библиотека форматирования, обеспечивающая быструю и безопасную альтернативу C Stdio и C ++ Iostreams.
- Emio - очень маленький двоичный след std :: формат, как форматирование с использованием C ++ 20.
Сканировать
- Scanf - Портативная реализация функций Scanf ввода в C.
- FT_SCANF - простой SCANF %S %C %d.
Регистрация
- Встроенный -лог - маленькая и красивая библиотека встроенных журналов для MCU.
- EasyLogger-Ultra-Lightweewele (ROM <1,6K, RAM <0,3K), высокопроизводительная библиотека логарифмических данных C/C ++.
- Trice-супер быстрое и крошечное встроенное устройство C Printf-подобное код трассировки (работает также внутри прерываний) и журнала ПК в реальном времени (визуализация идентификатора трассировки).
- Встроенный диагностик-логгер-легкая структура регистратора для небольших проектов на основе микроконтроллера. Многоуровневое журнал и передача строк на основе токена.
- Spdlog - очень быстро, только заголовок/скомпилированная, библиотека ведения журнала C ++.
- ELOG - Система журнала думает для встроенных систем с использованием ресурсов Mininmal. Система журнала предназначена для минимизации композиции памяти во флэш-памяти или оперативной памяти, включить эффийтный буфер в рамке с очень эффективным хранилищем.
Графический интерфейс
- LVGL-мощный и простой в использовании встроенный графический интерфейс с множеством виджетов, расширенные визуальные эффекты (непрозрачность, антиалиазии, анимация) и низкие требования к памяти (16K RAM, 64K Flash).
- EasyGui - EasyGui для встроенных систем (высоко оптимизирован для STM32).
- TouchGFX - удобный для пользователя графический инструмент C ++, интегрированный как бесплатный инструмент в экосистеме STM32.
- egui - графическая библиотека Egui.
- Eslowgraphics - Библиотека программного обеспечения с низким уровнем программного обеспечения от Errorsoft (ESLGL).
- FTK - библиотека GUI для встроенной системы.
- U8GLIB - Универсальная графическая библиотека для 8 -битных встроенных систем.
- ? U8G2 - библиотека U8GLIB для монохромных дисплеев, версия 2.
- SGFX - легкая встроенная библиотека для дисплеев и сенсорных экранов, предоставляя все необходимое для создания полностью изготовленного встроенного графического интерфейса.
- Guix - предоставляет полную библиотеку и дизайна встроенного графического пользовательского интерфейса (GUI), способствуя созданию и обслуживанию всех графических элементов, необходимых для вашего устройства.
- Гилиб - библиотека GUI для встроенных систем.
- HMI_LIBRARY - Интерфейс машины человека, подходящий для встроенной системы.
- AFGUI - встроенная библиотека GUI.
- Makisegui - Графика и библиотека графического интерфейса для систем встроенных.
- EMGUI - Simple C UI Библиотека для встроенных платформ.
- HAGL - Легкая аппаратная агностическая графическая библиотека для встроенных устройств. Он поддерживает основные геометрические примитивы, растровые карты, блинчики, фиксированные шрифты ширины. Библиотека пытается оставаться легким, но нацеливается на разумно мощные микрочипы, такие как ESP32. Там нет динамического распределения.
- Встроенная графика - 2D -графическая библиотека, которая сосредоточена на встроенных устройствах с ограниченными памятью для рисования графики без использования каких -либо буферов (ржавчина).
- LOVYANGFX - Дисплей (LCD / OLED / EPD) Библиотека (для ESP32 SPI, I2C, 8BTARALLEL / ESP8266 SPI, I2C / RP2040 SPI / ATSAMD51 SPI и многое другое).
- Ugui (µgui) - графическая библиотека. Он поддерживает цвет, серого, монохромные и несколько дисплеев, сенсорный экран, окна и объекты, основные геометрические примитивы, шрифты, консоль. Не существует необходимого динамического распределения и памяти для буфера экрана. Документация доступна на веб -сайте разработчика.
Редакторы GUI
- lv_gui_designer-перетаскивание, простой дизайнер с графическим интерфейсом, построенный с Littlevgl.
- Walv - Online, Wysiwyg Gui Designer для Littlevgl. Поддерживается кроссплатформ (даже Android и iOS).
Шрифт утилит
- Bitmap-OSD-Font-A 'C' Bitmap Font для дисплея на экране.
- TTF2MESH - Библиотека для TrueType Font Tessellation. Позволяет преобразовать глифы шрифтов в сетку объектов без расчитывания.
- SFAM_GENERATOR - Простые сценарии для создания битовых шрифтов для STM32, AVR, Arduino или других MCU.
- MCUFONT - библиотека рендеринга шрифта для микроконтроллеров.
Шрифты и значки
- Picon-Pico-Icon Set с взломанной лигатурой (разработанным на 8-градусном: для чтения в 8PX 16PX 24px 32px 48px).
Инструменты умозамывания картины
- LCD-Image-Converter-инструмент для создания растровых карт и шрифтов для встроенных приложений; Позволяет создавать растровые карты и шрифты и преобразовать их в формат источника «C» для встроенных приложений.
Аппаратное обеспечение
- Встроенный драйвер - встроенная библиотека драйверов для различных периферийных устройств.
Io
- Fastio - Fast GPIO раздвоен от http://os.mbed.com/users/sissors/code/fastio/.
USB
- tinyusb - кроссплатформенный USB -стек для встроенной системы.
- LIBUSB_STM32 - Легкий стек USB -устройств для микроконтроллеров STM32.
- Cherryusb - крошечный, красивый и портативный стек USB -хост и устройства для встроенной системы с USB.
Вспышка
- SFUD - Universal Driver Serial Flash (с использованием стандартной серийной (SPI) Flash Flash Flash Flash Library).
CAN BUS
- Libcanard-Компактная реализация протокола беспилосовой работы/CAN в C для встроенных в реальном времени систем в реальном времени.
- CANBUS -MESSAGE - CAN MESSICT ASBERCLY и BIBITORL для разборки для Teensy & STM32.
- Canboot - Can Bootloader для MCU (в настоящее время поддерживается LPC176X, STM32 и RP2040).
Другие
Управление потоком
- C-Thread-Pool-минимальный, но мощный бассейн в ANSI C.
Загрузчики
- Mcuboot - безопасная загрузка для 32 -битных микроконтроллеров.
- OpenBLT - загрузчик с открытым исходным кодом для STM32, XMC, HCS12 и других микроконтроллеров. Он поддерживает интерфейсы связи, такие как: rs232, CAN, USB, TCP/IP, и он поставляется с простым в использовании инструмента для MicroBoot PC для инициирования и мониторинга обновления прошивки. Также поддерживается выполнение обновлений прошивки непосредственно из SD-карты.
- Tinyuf2 - загрузчик на основе Tinyusb для встроенных устройств, таких как ESP32, STM32 и IMX RT10XX.
- Wolfboot - портативный, ОС -алкогольный, безопасный загрузчик для микроконтроллеров, поддержка аутентификации прошивки и механизмов обновления прошивки.
Обновления прошивки
- UF2 - Спецификация формата USB -мигания для мигающих микроконтроллеров по MSC (класс массового хранения; aka съемный флэш -накопитель).
- Swupdate - Обновление программного обеспечения для встроенных устройств Linux для обновления системы в поле. Swupdate поддерживает локальные и OTA обновления, несколько стратегий обновлений и разработан с учетом безопасности.
Сенсорный экран
- TSLIB - библиотека доступа к сенсорному экрану.
Управление временем
- Timelib - библиотека управления временем для встроенных устройств.
- мктц - библиотека часовых поясов для крошечных встроенных систем.
Встроенные сценарии и языки
- Маленький - небольшой, быстрый, легко встроенный язык, реализованный в одном файле .c.
Компиляторы
- SDCC - Small Device C Compiler (that targets the Intel MCS51 based microprocessors (8031, 8032, 8051, 8052, etc.), Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola) HC08 based (hc08, s08), Zilog Z80 based MCUs (Z80, Z180, SM83, Rabbit 2000, 2000a, 3000a, TLCS-90), Padauk (PDK14, PDK15) и STMicroelectronics STM8).
- TCC - Tiny C Compiler (~ 100 КБ для исполняемого файла x86 TCC, включая препроцессор C, компилятор C, ассемблер и линкер).
- LCC - ретаржетабельный компилятор ANSI C (вилка для ULP в ESP32).
- PCC - Portable C Compiler (зеркало).
- Tinygo - Go Compiler для мелочей: микроконтроллеры, Webassembly (WASM/WASI) и инструменты командной строки (на основе LLVM).
- chibicc - еще один маленький компилятор C, который реализует большинство функций C11.
- RVCC-Boottrapped C Compiler для 32-битного RISC-V и ARM ISA (генерирует исполняемые бинарные файлы ELF Linux для RV32IM и ARMV7).
Без рубрики
- Приложения Apache Nuttx - Сбор инструментов, оболочек, сетевых утилит, библиотек, переводчиков и могут использоваться с Nuttx RTO.
- MODM - Barebone Embedded C ++ 20 Библиотечный генератор для микроконтроллеров AVR, SAM и ARM Cortex -M (поддерживается 3534 устройства).
- Cembed - небольшая утилита для встраивания файлов в заголовок C.
- ICBIN-библиотека с одним заголовком для встраивания двоичных и текстовых файлов.
- WTX - набор веб -ориентированных инструментов.
Внося
- Ваши вклад всегда приветствуются! Пожалуйста, сначала прочитайте рекомендации по взносу.
Сноски
Пожалуйста, следите за этим корневым репо для последних обновлений.