ทรัพยากรที่ฝังอยู่ในตัวที่ยอดเยี่ยมสำหรับนักพัฒนา
รายการแหล่งที่มาและ LIBs ที่ยอดเยี่ยมสำหรับการพัฒนาระบบฝังตัว
การใช้แหล่งที่มาและ LIBs ในรายการนี้เหมาะอย่างยิ่งสำหรับระบบฝังตัวที่ จำกัด ทรัพยากร (หน่วยความจำต่ำและพลังงานต่ำ) เช่นไมโครคอนโทรลเลอร์ 8 บิต, 16 บิตและ 32 บิต
คำเตือน รายการนี้ไม่ครอบคลุมหัวข้อใด ๆ ที่เกี่ยวข้องกับ Linux (เช่นแพลตฟอร์ม Raspberry Pi หรือ SBC อื่น ๆ (คอมพิวเตอร์บอร์ดเดียว))
URL ถาวรในรายการนี้: https://github.com/idoka/awesome-embedded-software
สารบัญ
- ทั่วไป
- หน่วยความจำ
- การจัดการหน่วยความจำ
- บัฟเฟอร์
- บัฟเฟอร์แหวน
- FIFO
- พื้นที่จัดเก็บ
- ระบบไฟล์
- ฐานข้อมูล
- หน่วยความจำแฟลช
- โปรโตคอล
- โปรโตคอลความถี่วิทยุ
- โปรโตคอลเครือข่าย
- เว็บเซิร์ฟเวอร์
- MQTT
- Protocol Parsers
- การประมวลผลข้อมูล
- คณิตศาสตร์
- DSP และการกรอง
- การบีบอัด
- ai ml
- CV
- การเข้ารหัสลับ
- ทั่วไป
- การเข้ารหัสเส้นโค้งรูปไข่
- การสร้างตัวเลขแบบสุ่ม
- ระบบปฏิบัติการ
- RTOS
- กำหนดเวลาตามเหตุการณ์
- ส่วนต่อประสานผู้ใช้
- CLI
- เมนู
- printf
- สแกน
- การตัดไม้
- GUI
- บรรณาธิการ GUI
- ตัวอักษรใช้ประโยชน์
- เครื่องมือ manupulation รูปภาพ
- ฮาร์ดแวร์
- คนอื่น
- การจัดการเธรด
- bootloaders
- การอัปเดตเฟิร์มแวร์
- หน้าจอสัมผัส
- การจัดการเวลา libs
- สคริปต์และภาษาที่ฝังได้
- ผู้รวบรวม
- ไม่มีหมวดหมู่
ทั่วไป
- Wiselib - ไลบรารีอัลกอริทึมทั่วไปสำหรับระบบที่แตกต่างกันกระจายระบบฝังตัว
- util.embedded - รหัสสนับสนุนที่มีประโยชน์สำหรับการพัฒนาแบบฝัง
- EMBXX - ไลบรารี C ++ แบบฝังตัว
- Embedded -Libs - ไลบรารีสำหรับซอฟต์แวร์ฝังตัว (ส่วนใหญ่สำหรับ STM32)
- ETLCPP - ไลบรารีเทมเพลตแบบฝังตัวซึ่งผู้ใช้สามารถประกาศขนาดหรือขนาดสูงสุดของวัตถุใด ๆ ล่วงหน้า
- EFLL - Library Fuzzy Logic Embedded เป็นไลบรารีมาตรฐานสำหรับระบบฝังตัว
- คอลเลกชันของตัวอย่าง C พกพา C แบบพกพา - คอลเลกชันของตัวอย่าง C พกพา C แบบพกพา
- SC - พกพา, ไลบรารีสแตนด์อโลน C และโครงสร้างข้อมูล (C99)
- Microtbx - กล่องเครื่องมือไมโครคอนโทรลเลอร์โอเพ่นซอร์สซึ่งประกอบด้วยส่วนประกอบซอฟต์แวร์ที่จำเป็นในการใช้งานซอฟต์แวร์แบบฝังตัว Microtbx เขียนในภาษาการเขียนโปรแกรม C (C99) โดยคำนึงถึง MISRA ในใจ
- UMLIBC - กระดูกเปลือย LIBC สำหรับระบบที่ จำกัด หน่วยความจำ
- µClibc -ng - ห้องสมุด C ฝังตัว
- LIBC ของ Embedded Artistry-การใช้งานไลบรารีมาตรฐาน C ที่ถูกถอดออกซึ่งมีเป้าหมายสำหรับระบบฝังตัวที่ใช้ไมโครคอนโทรลเลอร์ ชุดการทำงานที่ลดลง (เนื่องจากธรรมชาติที่ฝังอยู่) เลือกสำหรับการพกพาและการนำเสนออย่างรวดเร็ว
- HWLIB-C ++ OO Micro-Controller Library สำหรับการเขียนโปรแกรมใกล้เคียงกับฮาร์ดแวร์
- CTL - C Library เทมเพลตคอนเทนเนอร์ มีการรวบรวมอย่างรวดเร็วพิมพ์ปลอดภัยส่วนหัวเท่านั้นไลบรารีคอนเทนเนอร์แบบเทมเพลตสำหรับ ISO C99/C11
- FSMLANG - คำอธิบายเครื่องจักรของรัฐด้วยเครื่องกำเนิดภาษา C รองรับเครื่องจักรแบบแบนและลำดับชั้นและระบบย่อยเหตุการณ์
หน่วยความจำ
การจัดการหน่วยความจำ
- Libmemory - ไลบรารีการจัดการหน่วยความจำพร้อมการใช้งานสำหรับ malloc (), ฟรี () และฟังก์ชั่นการจัดการหน่วยความจำที่มีประโยชน์อื่น ๆ
- LWMEM - ไลบรารีตัวจัดการหน่วยความจำแบบไดนามิกที่มีน้ำหนักเบาสำหรับระบบฝังตัวที่มีข้อ จำกัด หน่วยความจำ มันใช้ Malloc, Calloc, Realloc และฟังก์ชั่นฟรี
- UMM_MALLOC - ตัวจัดการหน่วยความจำสำหรับไมโครโปรเซสเซอร์ขนาดเล็ก (ISH)
- O1HEAP-เครื่องจัดเก็บหน่วยความจำคงที่คงที่สูงที่กำหนดไว้สูงออกแบบมาสำหรับระบบฝังตัวที่มีความซับซ้อนสูงแบบเรียลไทม์แบบเรียลไทม์
บัฟเฟอร์
- EmbeddedDedProto - การใช้งานบัฟเฟอร์โปรโตคอล C ++ ที่เหมาะสำหรับไมโครคอนโทรลเลอร์ ARM Cortex -M Microcontrollers มันมีขนาดเล็กเชื่อถือได้และใช้งานง่าย
- Protobuf-embedded-C-ตัวสร้างบัฟเฟอร์โปรโตคอลสำหรับแอปพลิเคชันฝังตัวที่มีข้อ จำกัด ด้านทรัพยากรที่เขียนในภาษาการเขียนโปรแกรม C
บัฟเฟอร์แหวน
- LWRB - ไลบรารีตัวจัดการบัฟเฟอร์วงแหวนทั่วไปน้ำหนักเบา
- RINGBUFFER - ห้องสมุดคิวบัฟเฟอร์แบบอินเตอร์รัปต์แบบอินเตอร์รัปต์ (วงกลม) สำหรับแพลตฟอร์มฝังตัว
- LFBB-บัฟเฟอร์ bipartite ที่ปราศจากล็อคตัวแปรของบัฟเฟอร์วงแหวนซึ่งสามารถให้พื้นที่ contigous ภายในบัฟเฟอร์สำหรับการอ่านการเขียนหรือแก้ไขข้อมูลในสถานที่
FIFO
- FIFOFAST - FIFO ที่รวดเร็วและทั่วไปสำหรับ MCUS
พื้นที่จัดเก็บ
ระบบไฟล์
- LWEXT4 - ไลบรารีระบบไฟล์ EXT2/EXT3/EXT4 สำหรับไมโครคอนโทรลเลอร์
- FATFS - การใช้งานระบบไฟล์ FAT
- LevelX - ให้การปรับระดับแฟลชสำหรับ Filex และ Stand Alone วัตถุประสงค์
- UFAT-การใช้งาน VFAT ที่สมบูรณ์แบบหน่วยความจำต่ำ
- FAT_IO_LIB - รอยเท้าขนาดเล็กการพึ่งพาต่ำการใช้รหัส C ของไดรเวอร์ FAT16 & FAT32
- SDFAT - Arduino FAT16/FAT32 Library Exfat
- FAT32 - ระบบไฟล์ FAT32 Lightweight ที่เขียนใน C โดยไม่มีการพึ่งพาที่สาม มันต้องใช้พอร์ตขนาดเล็กที่ให้ฟังก์ชั่นสำหรับการเริ่มต้นการอ่านและการเขียนไปยัง MSD
- EMFAT - Library Emulation FAT32 สำหรับ STM32F4
- OpenFat - การใช้งานระบบไฟล์ FAT สำหรับโปรเซสเซอร์แบบฝัง
- 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 - บัฟเฟอร์แบบวงกลมแฟลชเป็นนามธรรมซึ่งคุณสามารถรักษาแฟลชได้เหมือน FIFO
โปรโตคอล
- NANOPB - การใช้งานบัฟเฟอร์โปรโตคอลขนาดเล็กใน ANSI C. เหมาะอย่างยิ่งสำหรับใช้ในไมโครคอนโทรลเลอร์ แต่เหมาะกับระบบที่ จำกัด หน่วยความจำใด ๆ
- การแลกเปลี่ยน - กลไกการร้องขอ/การตอบสนองสำหรับการพัฒนาแบบฝังโดยใช้อะตอม
- XMODEM - Library XMODEM สำหรับระบบฝังตัว, มือถือ, IoT และระบบเดสก์ท็อป
- TinyFrame - ไลบรารีที่เรียบง่ายสำหรับการสร้างและแยกกรอบข้อมูลสำหรับอินเทอร์เฟซอนุกรม (เช่น UART / RS232)
- Nanomodbus - ห้องสมุด Modbus RTU/TCP C ขนาดกะทัดรัดสำหรับการฝังตัว/ไมโครคอนโทรลเลอร์
- RCOBS - การเข้ารหัสย้อนกลับ (RCOBS) เป็นตัวแปรของการเข้ารหัส COBS ที่ออกแบบมาเพื่ออนุญาตการเข้ารหัสด้วย lookahead เป็นศูนย์
โปรโตคอลความถี่วิทยุ
- Radiohead - Packet Radio Library สำหรับไมโครโปรเซสเซอร์แบบฝัง
- Radiohead ของ Adafruit - Packet Radio Library สำหรับไมโครโปรเซสเซอร์แบบฝังตัวพร้อมเอกสาร
โปรโตคอลเครือข่าย
- UIP - การใช้งานขนาดเล็กมากของสแต็ก TCP/IP ที่เขียนโดย Adam Dunkels
- LWIP - การใช้งานอิสระขนาดเล็กของชุดโปรโตคอล TCP/IP ที่ได้รับการพัฒนาครั้งแรกโดย Adam Dunkels LWIP เหมาะสำหรับใช้ในระบบฝังตัวที่มี RAM ฟรีและห้องพักหลายสิบกิโลไบต์สำหรับรหัส ROM ประมาณ 40 กิโลไบต์
- httpClient - ไลบรารีไคลเอนต์ http
- HTTPIO - ตัวแยกวิเคราะห์แพลตฟอร์มแบบสแตนด์อโลนข้ามและเครื่องกำเนิดการตอบสนองสำหรับโปรโตคอล HTTP
- PICOTCP - สแต็ก TCP/IP ขนาดเล็กแบบแยกส่วนที่ออกแบบมาสำหรับระบบฝังตัวและอินเทอร์เน็ตของสิ่งต่าง ๆ
- RAWTCP_LIB - ไลบรารี C สำหรับการสร้างและการใช้แพ็คเก็ต TCP/IP กับซ็อกเก็ตเครือข่ายดิบ
- LRNDIS - Ethernet Over USB (RNDIS + LWIP)
- Cyclonetcp - สแต็ก IPv4/IPv6 คู่ที่อุทิศให้กับแอปพลิเคชันแบบฝังตัว สแต็คกระจายเป็น ANSI C เต็มรูปแบบและซอร์สโค้ดที่บำรุงรักษาได้สูง (ตัวอย่างที่ไม่รวมอยู่ในแหล่งที่มาของ GitHub)
- StaticNet - C ++ TCP/IP และ SSH สแต็กพร้อมการจัดสรรแบบคงที่ทั้งหมดที่ออกแบบมาสำหรับแอปพลิเคชันฝังตัวที่มีโลหะเปลือย (ไม่มีระบบปฏิบัติการ) ที่มีรอยเท้าน้อยที่สุด
เว็บเซิร์ฟเวอร์
- Mongoose - เว็บเซิร์ฟเวอร์ฝังตัวและไลบรารีเครือข่ายฝังตัว มันใช้ API ที่ไม่ใช่การปิดกั้นเหตุการณ์สำหรับ TCP, UDP, HTTP, WebSocket, MQTT
- LIBEVHTP - เซิร์ฟเวอร์ HTTP แบบฝังตัวที่รวดเร็วและปลอดภัยอย่างมากได้อย่างง่ายดาย
- Libμhttpd - ไลบรารีเซิร์ฟเวอร์ HTTP ที่มีความยืดหยุ่นมากมีน้ำหนักเบาและสมบูรณ์แบบอะซิงโครนัสตาม LIBEV และ HTTP -PARSER
- Sandbird - เซิร์ฟเวอร์ HTTP ขนาดเล็ก (800SLOC) ที่เขียนใน C89
MQTT
- libemqtt 1 - ไลบรารีไคลเอนต์ C ฝังตัวสำหรับโปรโตคอล MQTT
- libumqtt 2 - ไคลเอนต์ MQTT ที่มีน้ำหนักเบาและเต็มไปด้วยอะซิงโครนัสไลบรารี C ตาม Libev
- Paho MQTT - C ไลบรารีไคลเอนต์สำหรับระบบฝังตัว
Protocol Parsers
ตัวแยกวิเคราะห์การแสดงออกปกติ
- Regexp - ไลบรารีนิพจน์ทั่วไปสำหรับระบบฝังตัว
GSM
- LWGSM - ห้องสมุดสำหรับโมดูล SIMCOM GSM เพื่อสื่อสารกับคำสั่ง AT และ RTOs จากอุปกรณ์โฮสต์
- GSM_ENGINE - ทั่วไปที่ตัวแยกวิเคราะห์สำหรับโมดูลตามคำสั่ง
- TinyGSM - ห้องสมุด Arduino ขนาดเล็กสำหรับโมดูล GSM ซึ่งใช้งานได้
GPS
- LWGPS - ตัวแยกวิเคราะห์ GPS ที่มีน้ำหนักเบา NMEA สำหรับระบบฝังตัว
- MINMEA - GPS น้ำหนักเบา NMEA 0183 PARSER LIBRARY ใน Pure C.
ที่คำสั่ง parser
- Atat - lib สำหรับการประมวลผลคำสั่งแบบกำหนดเอง
- CAT - ไลบรารี C ธรรมดาสำหรับการแยกวิเคราะห์คำสั่งสำหรับใช้ในอุปกรณ์โฮสต์
- GZAT - Portable At Command Parsing Library ในภาษา C ++
- AtParser - MBED -OS ที่เข้ากันได้ที่คำสั่งแยกวิเคราะห์
- AtCommander - ไลบรารี C ++ แบบพกพาสำหรับการส่งคำสั่งและแยกวิเคราะห์คำตอบของพวกเขา
- LWESP - Lightweight ESP ที่คำสั่ง Parser Library เพื่อสื่อสารกับโมดูล ESP8266 หรือ ESP32 Wi -Fi โดยใช้คำสั่ง
โปรโตคอลต่างๆ
- LWPKT-โครงสร้างโปรโตคอลแพ็คเก็ตที่มีน้ำหนักเบาสำหรับการสื่อสารหลายอุปกรณ์มุ่งเน้นไปที่ RS-485
- LWOW - ไลบรารีโปรโตคอล Lightweight OneWire ที่ได้รับการปรับให้เหมาะสมสำหรับฮาร์ดแวร์ UART บนระบบฝังตัว
- PANSTAMP -SWAP - โปรโตคอลบทคัดย่อไร้สายแบบง่ายสำหรับวิทยุ ISM ที่มีอยู่
- PANSTAMP -USWAP - สแต็ก SWAP ขนาดเล็กสำหรับ MCU ที่เชื่อมต่อผ่าน UART
- ขั้นต่ำ - ไมโครคอนโทรลเลอร์เชื่อมต่อเครือข่ายโปรโตคอลเวอร์ชัน 2.0
- libcoap - การใช้งานแอปพลิเคชันที่มีน้ำหนักเบาสำหรับอุปกรณ์ที่ถูก จำกัด ทรัพยากรของพวกเขาเช่นกำลังการคำนวณช่วง RF, หน่วยความจำ, แบนด์วิดธ์หรือขนาดแพ็คเก็ตเครือข่าย โปรโตคอลนี้ Coap นี้ได้มาตรฐานโดย IETF เป็น RFC 7252
การประมวลผลข้อมูล
คณิตศาสตร์
- Liquid-FPM-ไลบรารีคณิตศาสตร์จุดคงที่ของซอฟต์แวร์ที่กำหนดไว้สำหรับซอฟต์แวร์สำหรับการประมวลผลสัญญาณแบบฝัง
- FPM-คณิตศาสตร์คณิตศาสตร์แบบคงที่ส่วนหัวเท่านั้น
- Eigen - C ++ เทมเพลตไลบรารีสำหรับพีชคณิตเชิงเส้น: เมทริกซ์, เวกเตอร์, ตัวแก้ตัวเลขและอัลกอริทึมที่เกี่ยวข้อง
DSP และการกรอง
- Liquid-DSP-ไลบรารีการประมวลผลสัญญาณดิจิตอลสำหรับวิทยุที่กำหนดด้วยซอฟต์แวร์
- MINFFT - ห้องสมุดแปลงฟูริเยร์ขนาดเล็กและไม่ต่อเนื่อง
- IIR1 - ไลบรารีตัวกรองเรียลไทม์ DSP IIR เขียนใน C ++
- Kalman -Clib - ไมโครคอนโทรลเลอร์กำหนดเป้าหมายการใช้งานตัวกรอง Kalman ที่ไร้เดียงสาใน Pure C.
- libdspl - ไลบรารีอัลกอริทึมการประมวลผลสัญญาณดิจิตอลข้ามแพลตฟอร์มซึ่งเขียนด้วยภาษา C
- Pocketfft - การปรับเปลี่ยนการปรับเปลี่ยนอย่างหนักของ FFTPack
- KISS FFT - การแปลงฟูริเยร์แบบผสมเร็วขึ้นอยู่กับหลักการ "Keep It Simple, Stupid"
- CMSIS-DSP-ไลบรารีการคำนวณแบบฝังตัวสำหรับ Cortex-M และ Cortex-A
- Siglib-การประมวลผลสัญญาณดิจิตอลและห้องสมุดการเรียนรู้ของเครื่อง (X86, Cortex-A และ Cortex-M, RISC-V, DSPs จาก TI, ADI ฯลฯ )
- LSP-DSP-LIB-Library DSP สำหรับการประมวลผลสัญญาณดิจิตอลให้ชุดของฟังก์ชั่นที่ดำเนินการคอมพิวเตอร์ที่ได้รับการปรับให้เหมาะสมกับสถาปัตยกรรมฮาร์ดแวร์หลายแห่ง ฟังก์ชั่นทั้งหมดในปัจจุบันทำงานบน IEEE-754 หมายเลขลอยความแม่นยำเดียว
การบีบอัด
- Heatshrink - ไลบรารีการบีบอัดข้อมูลสำหรับระบบฝังตัว/เรียลไทม์
- ห้องสมุด Shoco - C เพื่อบีบอัดและคลายสายสั้น มันเร็วและใช้งานง่ายมาก รูปแบบการบีบอัดเริ่มต้นได้รับการปรับให้เหมาะสมสำหรับคำภาษาอังกฤษ แต่คุณสามารถสร้างโมเดลการบีบอัดของคุณเอง
- SMAZ - การบีบอัดสำหรับสตริงที่เล็กมาก
- ECL - ไลบรารีการบีบอัดแบบฝังตัวไม่เพียง แต่สำหรับฝังตัวเท่านั้น แต่ส่วนใหญ่จะเน้นไปที่ข้อมูลขนาดเล็กและมีโหมดหน่วยความจำต่ำที่ดีที่สุดสำหรับสภาพแวดล้อมที่ จำกัด
- Unishox2 - Hybrid Encoder สำหรับสตริง Unicode สั้น ๆ (Unishox ให้การบีบอัดที่ดีที่สุดสำหรับข้อความสั้น ๆ และไม่ต้องเปรียบเทียบกับอัลกอริทึมการบีบอัดวัตถุประสงค์ทั่วไปเช่น LZ4, Snappy, LZMA, Brottli และ Zstd)
- TCOBS-การบีบอัดข้อความสั้น ๆ พร้อมกรอบ COBS โดยใช้การเข้ารหัสความยาวรันโดยปริยายซึ่งปรับให้เหมาะสมสำหรับข้อมูลที่มีสถิติเพิ่มขึ้น 0 และ FF ไบต์ในแถวเนื่องจากข้อมูลมักจะมีหมายเลข 16, 32 หรือ 64 บิตที่มีค่าขนาดเล็ก
ai ml
ปัญญาประดิษฐ์และการเรียนรู้ของเครื่องจักร
- CRANIUM - ห้องสมุดเครือข่ายประสาทเทียมแบบพกพาอย่างเดียว, FEEDFORWARD ATHINGRANT ARIURATIOL NEURAL NEURAL NEURAL NEURAL NEURAL NEURAL NEURAL C99
- μtensor - ไลบรารีการอนุมาน Tinyml AI
- FIDO - ไลบรารีการเรียนรู้ของเครื่อง C ++ น้ำหนักเบาสำหรับอุปกรณ์อิเล็กทรอนิกส์และหุ่นยนต์แบบฝังตัว
- NNOM - เครือข่ายประสาทบนไมโครคอนโทรลเลอร์ (NNOM) เป็นห้องสมุดเครือข่ายประสาทการอนุมานระดับสูงสำหรับไมโครคอนโทรลเลอร์โดยเฉพาะ
- CaffePresso - ห้องสมุดที่ได้รับการปรับปรุงให้ดีที่สุดสำหรับการเรียนรู้อย่างลึกซึ้งบนแพลตฟอร์มที่ใช้ตัวเร่งความเร็วในตัว
- Libonnx - เครื่องยนต์การอนุมาน C99 ONNX แบบพกพาน้ำหนักเบาและพกพาสำหรับอุปกรณ์ฝังตัวพร้อมรองรับการเร่งความเร็วฮาร์ดแวร์
- TINYMAIX - ห้องสมุดเครือข่ายประสาทการอนุมานขนาดเล็กโดยเฉพาะสำหรับไมโครคอนโทรลเลอร์ (TINYML) ออกแบบมาเพื่อทำตามกฎ: ใช้งานง่าย> พกพา> ความเร็ว> พื้นที่
CV
วิสัยทัศน์คอมพิวเตอร์
- Embedded SOD - ห้องสมุดการเรียนรู้ด้วยคอมพิวเตอร์และการเรียนรู้ของเครื่องจักรในเครื่อง (CPU Optimized & IoT สามารถใช้งานได้)
- QR-Image-embedded-QR Library Fork สำหรับระบบฝังตัว
การเข้ารหัสลับ
ทั่วไป
- trussed - วิธีที่น้อยที่สุดและเป็นโมดูลาร์ในการเขียนแอปพลิเคชันการเข้ารหัสบนแพลตฟอร์มไมโครคอนโทรลเลอร์ (สนิม)
- Wolfssh - ไลบรารีไคลเอนต์ SSHV2 ที่มีน้ำหนักเบาและเซิร์ฟเวอร์ที่เขียนใน ANSI C และกำหนดเป้าหมายสำหรับสภาพแวดล้อมที่ฝังตัว, RTOS และสภาพแวดล้อมที่ จำกัด ทรัพยากร - ส่วนใหญ่เป็นเพราะขนาดขนาดเล็กความเร็วและชุดคุณสมบัติ
- Libhydrogen-ห้องสมุด crypto ที่มีน้ำหนักเบาปลอดภัยและใช้งานง่ายเหมาะสำหรับสภาพแวดล้อมที่มีข้อ จำกัด
- Krypton - ไลบรารี TLS/DTLS แบบฝังตัว, แหล่งข้อมูลย่อยที่เข้ากันได้และไบนารีที่เข้ากันได้
- WOLFTPM - ไลบรารี TPM 2.0 แบบพกพาสูงออกแบบมาสำหรับการใช้งานแบบฝังตัว
- MBEDTLS - โอเพ่นซอร์ส, พกพา, ใช้งานง่าย, ใช้งานง่ายและยืดหยุ่นและการใช้งานอ้างอิงของ PSA Cryptography API
- ? Liblithium - ห้องสมุดการเข้ารหัสที่มีน้ำหนักเบาที่พกพาได้โดยการออกแบบ มันต้องการเพียงมาตรฐาน C99 และไม่ถือว่าเป็นที่อยู่ 8 บิตทำให้เหมาะสำหรับใช้กับสถาปัตยกรรม DSP บางชนิดรวมถึงสถาปัตยกรรมกระแสหลัก
- ? Trezor -Crypto - อัลกอริทึมการเข้ารหัสที่ดีที่สุดสำหรับอุปกรณ์ฝังตัว
- Poly1305-Donna-การใช้งานรหัสการตรวจสอบข้อความที่รวดเร็ว (8 บิต, 16 บิต, 32 บิตและ 64 บิตคูณ)
- Arduinolibs - Arduino Cryptography Library
- TLSE - การใช้งานไฟล์ C Single C 1.2/1.3 โดยใช้ TomCrypt เป็นห้องสมุด crypto
- LibtomCrypt-ชุดเครื่องมือเข้ารหัสลับที่ครอบคลุมเป็นแบบแยกส่วนและพกพาได้ซึ่งให้นักพัฒนาซอฟต์แวร์ที่มีการตีพิมพ์บล็อก ciphers ที่รู้จักกันดีจำนวนมากฟังก์ชั่นแฮชแบบทางเดียวโหมดการผูกมัด
- Monocypher - ใช้งานง่ายและใช้งานง่ายห้องสมุด crypto ที่ตรวจสอบได้เขียนด้วยพกพา C.
- Minicrypt - ห้องสมุดดั้งเดิมของ Crypto สำหรับระบบฝังตัว
- Tinycrypt - ไลบรารีอัลกอริทึมการเข้ารหัสลับให้การใช้งานสำหรับอุปกรณ์ที่มีข้อ จำกัด ของชุดการเข้ารหัสแบบมาตรฐานขั้นต่ำ
- Tiny-AES-C-AES128/192/256 พกพาขนาดเล็กใน C.
- µAES - การใช้งานที่มีน้ำหนักเบามีความยืดหยุ่นสูงพกพาและการใช้งาน ANSI -C ที่เข้ากันได้ของการเข้ารหัส AES และโหมดเข้ารหัสบล็อก
- Cyclonecrypto - ชุดเครื่องมือเข้ารหัสที่ออกแบบมาเพื่อใช้ในระบบฝังตัว มันมีชุดที่ครอบคลุมของการเข้ารหัสดั้งเดิม (ฟังก์ชั่นแฮชสตรีมและบล็อก ciphers การเข้ารหัสกุญแจสาธารณะ) ที่สามารถใช้เพื่อเพิ่มคุณสมบัติความปลอดภัยให้กับแอปพลิเคชันที่ฝังตัวของคุณ
การเข้ารหัสเส้นโค้งรูปไข่
- Salty-ED25519 ลายเซ็นพร้อมการเพิ่มประสิทธิภาพการประกอบสำหรับ Cortex-M4 และ Cortex-M33
- Micro-ECC-ECDH และ ECDSA สำหรับโปรเซสเซอร์ 8 บิต, 32 บิตและ 64 บิต
- LIBUECC - ห้องสมุดรูปวงรีรูปวงรีทั่วไปขนาดเล็กมากที่เข้ากันได้กับ ED25519
- C25519 และ-ED25519-CURVE25519 และ ED25519 สำหรับระบบหน่วยความจำต่ำ (CURVE25519 การคูณสเกลาร์ใช้การใช้งานสแต็กสูงสุดครึ่ง KB)
การสร้างตัวเลขแบบสุ่ม
- PCG-C-BASIC-รหัสให้การใช้งานน้อยที่สุดของสมาชิกหนึ่งคนของตระกูล PCG ของเครื่องกำเนิดตัวเลขสุ่มซึ่งรวดเร็วมีสถิติอย่างรวดเร็วและมีคุณสมบัติที่มีประโยชน์มากมาย
- PCG -C - รหัสให้การใช้งานของตระกูล PCG ของเครื่องกำเนิดตัวเลขสุ่มซึ่งรวดเร็วดีสถิติและเสนอคุณสมบัติที่มีประโยชน์มากมาย
ระบบปฏิบัติการ
- Citrus - ระบบปฏิบัติการCortex® -A5 Bare Metal Arm® -A5
- วานิลลา - ระบบปฏิบัติการ Bare Metal Arm®Cortex® -M7
- ? Chaos - Bare Metal Multicore Arm®Cortex® -A ระบบปฏิบัติการตามสถาปัตยกรรม microkernel
- LK Kernel - ระบบปฏิบัติการที่ฝังเคอร์เนลเล็ก ๆ น้อย ๆ คือเคอร์เนลที่รับรู้ SMP ที่ออกแบบมาสำหรับระบบขนาดเล็กที่พอร์ตไปยังแพลตฟอร์มที่หลากหลายและสถาปัตยกรรม CPU
- Quarkts - OS สำหรับแอปพลิเคชันแบบฝังตัวที่สนับสนุนการกำหนดเวลาความร่วมมือที่มีความสำคัญการควบคุมเวลาการสื่อสารระหว่างงานดั้งเดิมเครื่องจักรของรัฐและ coroutines
- Micro-Ros-Micro-Ros วาง ROS 2 ลงในไมโครคอนโทรลเลอร์
RTOS
- ? Freertos ™ - Freertos
- Zephyr - รุ่นใหม่ปรับขนาดได้ปรับให้เหมาะสมและปลอดภัยสำหรับสถาปัตยกรรมฮาร์ดแวร์หลายตัว
- Apache nuttx - Apache nuttx เป็นระบบปฏิบัติการฝังตัวแบบเรียลไทม์ (RTOS)
- SCMRTOS-ระบบปฏิบัติการแบบเรียลไทม์เล็ก ๆ น้อย ๆ ที่มีไว้สำหรับใช้กับไมโครคอนโทรลเลอร์แบบชิปเดี่ยว SCMRTOS สามารถทำงานบน UC ขนาดเล็กที่มี RAM จำนวนเล็กน้อยเท่ากับ 512 ไบต์ RTOs เขียนบน C ++ และรองรับแพลตฟอร์มต่างๆ
- Chibios/RT-ระบบปฏิบัติการแบบเรียลไทม์ขนาดกะทัดรัดและรวดเร็วซึ่งรองรับสถาปัตยกรรมหลายตัวที่ออกแบบมาสำหรับแอปพลิเคชันแบบฝังตัวในไมโครคอนโทรลเลอร์ 8-, 16- และ 32 บิต
- Azure RTOS ThreadX - ระบบปฏิบัติการเรียลไทม์ขั้นสูง (RTOS) ที่ออกแบบมาโดยเฉพาะสำหรับแอปพลิเคชันที่ฝังลึก
- ECOS - ระบบปฏิบัติการแบบเรียลไทม์มีไว้สำหรับแอปพลิเคชันแบบฝังตัว (แหล่งปิด)
- Embox - RTO ที่กำหนดค่าได้ซึ่งออกแบบมาสำหรับระบบที่ จำกัด และฝังตัว แนวคิดหลักของ Embox กำลังใช้ซอฟต์แวร์ Linux โดยไม่มี Linux
- RIOT-ระบบปฏิบัติการมัลติเธรดแบบเรียลไทม์ที่รองรับอุปกรณ์หลากหลายที่พบใน Internet of Things (IoT): 8 บิต, 16 บิตและไมโครคอนโทรลเลอร์ 32 บิต Riot ขึ้นอยู่กับหลักการออกแบบดังต่อไปนี้: ประสิทธิภาพพลังงานความสามารถแบบเรียลไทม์รอยเท้าหน่วยความจำขนาดเล็กโมดูลและการเข้าถึง API ที่เหมือนกันซึ่งเป็นอิสระจากฮาร์ดแวร์พื้นฐาน (API นี้มีการปฏิบัติตาม POSIX บางส่วน)
- ARM MBED OS - ระบบปฏิบัติการแพลตฟอร์มที่ออกแบบมาสำหรับ Internet of Things ซึ่งรวมถึงคุณสมบัติทั้งหมดที่คุณต้องการในการพัฒนาผลิตภัณฑ์ที่เชื่อมต่อโดยใช้ไมโครคอนโทรลเลอร์ ARM Cortex-M รวมถึงความปลอดภัยการเชื่อมต่อ RTOs และไดรเวอร์สำหรับเซ็นเซอร์และอุปกรณ์ I/O
- RT-Thread-RT-Thread เกิดในปี 2549 มันเป็นโอเพนซอร์สที่เป็นกลางและระบบปฏิบัติการเรียลไทม์ตามชุมชน (RTOS) RT-Thread มีเวอร์ชันมาตรฐานและเวอร์ชันนาโน สำหรับระบบไมโครคอนโทรลเลอร์ที่ จำกัด ทรัพยากร (MCU) ระบบเคอร์เนลนาโนที่ต้องใช้แฟลช 3KB และทรัพยากรหน่วยความจำ RAM 1.2KB สามารถปรับแต่งด้วยเครื่องมือที่ใช้งานง่าย และสำหรับอุปกรณ์ IoT ที่อุดมไปด้วยทรัพยากร RT-thread สามารถใช้เครื่องมือการจัดการแพคเกจซอฟต์แวร์ออนไลน์พร้อมกับเครื่องมือกำหนดค่าระบบเพื่อให้ได้การตัดแบบแยกส่วนที่ใช้งานง่ายและรวดเร็วนำเข้าแพ็คเกจซอฟต์แวร์ที่หลากหลายนำเข้าอย่างไร้รอยต่อ
- Distortos - C ++ RTOs ที่มุ่งเน้นวัตถุสำหรับไมโครคอนโทรลเลอร์
- R3-OS-การทดลองคงที่ (μitron-esque) RTOs สำหรับระบบฝังตัวลึกทดสอบขีด จำกัด ของการประเมินผลของการเกิดสนิมและยาบี้ (สนิม)
- TOCK Embedded OS-ระบบปฏิบัติการฝังตัวที่ออกแบบมาสำหรับการใช้งานแอพพลิเคชั่นที่ไม่ไว้วางใจซึ่งกันและกันหลายครั้งพร้อมกันในไมโครคอนโทรลเลอร์ความจำต่ำและพลังงานต่ำ (Rust)
- Dandelion - ระบบปฏิบัติการแบบเรียลไทม์ Microkernel ในสนิม
- MUDITAOS - ระบบปฏิบัติการมือถือตาม FREERTOS ที่ได้รับการปรับให้เหมาะสมสำหรับการแสดงหมึก E - พัฒนาขึ้นสำหรับโทรศัพท์ MINTEMINATIST MINDITA
- µC/OS-II-เมล็ดพันธุ์แบบเรียลไทม์แบบพกพาได้สูงและปรับขนาดได้ ออกแบบมาเพื่อความสะดวกในการใช้งานในสถาปัตยกรรม CPU จำนวนมาก
- µC/OS-III-เคอร์เนลแบบเรียลไทม์แบบพกพาได้สูงและปรับขนาดได้สูง ออกแบบมาเพื่อความสะดวกในการใช้งานในสถาปัตยกรรม CPU จำนวนมาก
- QP/C-Framework/RTOs แบบเรียลไทม์สำหรับระบบฝังตัวตามวัตถุที่ใช้งานอยู่ (นักแสดง) และเครื่องจักรระดับลำดับชั้น (FUSA, MISRA-C 2023 การปฏิบัติตาม)
- ค่อนข้างตกลง RTOS - รหัสน้อยที่สุด, 500 บรรทัด, 7 ฟังก์ชั่น
กำหนดเวลาตามเหตุการณ์
- UEVLOOP - Event Event Event Fast and Lightweight สำหรับแพลตฟอร์มฝังตัว
- LWEVT - ระบบการจัดการเหตุการณ์ที่มีน้ำหนักเบาสำหรับระบบฝังตัว
- Async - เฟรมเวิร์กแบบอะซิงโครนัสใน C สำหรับระบบที่การใช้หน่วยความจำต่ำเป็นสิ่งสำคัญ
- ProtoThreads - ให้การดำเนินการรหัสเชิงเส้นสำหรับระบบที่ขับเคลื่อนด้วยเหตุการณ์ที่ใช้ใน C ที่ออกแบบมาสำหรับระบบที่มีการ จำกัด หน่วยความจำอย่างรุนแรงเช่นระบบฝังตัวขนาดเล็กหรือโหนดเครือข่ายเซ็นเซอร์ไร้สาย
- EventOS - ระบบตามเหตุการณ์ที่ออกแบบมาสำหรับ Arduino Framework
- VSF - เฟรมเวิร์กซอฟต์แวร์ Versaloon - กรอบซอฟต์แวร์ที่เพิ่มขึ้นอย่างต่อเนื่องสำหรับเหตุการณ์ที่ใช้งานได้สำหรับระบบฝังตัว
ส่วนต่อประสานผู้ใช้
CLI
- ตัวอย่าง CLI - CLI (อินเตอร์เฟสบรรทัดคำสั่ง) สร้างใน Pure C. ที่ออกแบบมาสำหรับ MCU, การสนับสนุนโหมด Support Block/Non -Block
- เทอร์มินัล - อินเตอร์เฟสบรรทัดคำสั่งสำหรับไมโครคอนโทรลเลอร์ การตั้งค่าเทอร์มินัลที่ยืดหยุ่นช่วยให้คุณสามารถรวมเข้ากับไมโครคอนโทรลเลอร์ใด ๆ ได้โดยไม่ต้องใช้ความพยายามมากนัก
- SerialMenu - ห้องสมุด Arduino เพื่อสร้างเมนูบนคอนโซลอนุกรมได้อย่างง่ายดาย
- เทอร์มินัล - เซิร์ฟเวอร์ - เทอร์มินัลเซิร์ฟเวอร์สำหรับ MCU
- Microsh - เชลล์สำหรับอุปกรณ์ฝังตัวขนาดเล็ก
- CMD -L - ตัวจัดการบรรทัดคำสั่งสำหรับอุปกรณ์ฝังตัว
- Embedded-CLI-CLI หัวเดี่ยวที่มีประวัติและการเติมอัตโนมัติสำหรับระบบฝังตัว
- Microshell - การติดตั้ง C Pure C Lightweight ของ Shell เสมือนจริงเข้ากันได้กับ VT100 Terminal รองรับทรีรากเส้นทางการติดตั้งรันไทม์คำสั่งทั่วโลกและอื่น ๆ อีกมากมาย
- Microrl - Micro Read Line Library สำหรับอุปกรณ์ขนาดเล็กและฝังตัวพร้อมการสนับสนุน VT100 ขั้นพื้นฐาน
เมนู
- PROMENU - ไลบรารีเมนูแอปพลิเคชันทั่วไปขั้นสูง ไลบรารี ProMENU ใช้สำหรับการใช้งานเมนูผู้ใช้ขั้นสูงอย่างรวดเร็ว รองรับการทำรังการตั้งค่าตัวเลขการตั้งค่าข้อความค่าบูลีนและเหตุการณ์ ห้องสมุดถูกนำไปใช้ใน C ++ ด้วยพอร์ต Build-in Arduino แต่เป็นเรื่องง่ายที่จะพอร์ตไปยังสถาปัตยกรรมที่แตกต่างกัน
- BBMENU - เมนู CLI แบบพกพาแบบง่ายสำหรับงานอื่น ๆ (มันขึ้นอยู่กับเมนูข้อความที่กำหนดไว้ในไฟล์ได้ง่าย)
- Micromenu-V2-ไลบรารีเมนูที่เน้นข้อความเล็ก ๆ ใน C สำหรับการใช้งานแบบฝัง
printf
- LWPRINTF - ไลบรารี PrintF ที่มีน้ำหนักเบาเหมาะสำหรับระบบฝังตัว
- EMBEDDED_PRINTF - ฟังก์ชั่น "printf ()" รุ่นที่มีชื่อเสียง แนวคิดนี้สร้างห้องสมุดที่เรียบง่ายและมีประสิทธิภาพเพื่อตอบสนองความต้องการทั่วไปในระบบฝังตัว
- TinyPrintf - ไลบรารี PRINTF และ SprintF ขนาดเล็กสำหรับระบบฝังตัวขนาดเล็ก
- XPRINTF -FP - PRINTF สำหรับระบบฝังตัวพร้อมการรองรับจุดลอยตัว
- XPRINTF -IO - Library String I/O ขนาดกะทัดรัด เหมาะอย่างยิ่งสำหรับไมโครคอนโทรลเลอร์ขนาดเล็กที่มีหน่วยความจำโปรแกรมไม่เพียงพอสำหรับฟังก์ชั่น printf ปกติ การใช้งานที่แนะนำคือ: การเขียนสตริงที่จัดรูปแบบลงใน LCD หรือ UART และสำหรับคอนโซลดีบั๊ก/การบำรุงรักษา
- XPRINTF - การใช้งานการจัดรูปแบบ FPRINTF () ที่สมบูรณ์เหมาะสำหรับการใช้งานแบบฝังตัว
- Tiny-Printf-การใช้งาน PRINTF ขนาดเล็กที่รวดเร็วไม่ขึ้นอยู่กับและโหลดอย่างเต็มที่สำหรับระบบฝังตัว ชุดทดสอบที่กว้างขวางผ่าน
- Tiny-Printf ใหม่-ส้อม
tiny-printf ได้รับการปรับปรุงและบำรุงรักษา เล็ก, เร็ว (ish), ในตัวเองและเต็มรูปแบบ printf, sprinf ฯลฯ - MINI -PRINTF - การใช้งาน PRINTF () ขั้นต่ำสำหรับโครงการฝังตัว
- NanoprintF - การใช้งาน Publicf ที่เล็กที่สุดสำหรับชุดคุณลักษณะ
- FMT - ห้องสมุดการจัดรูปแบบที่ทันสมัยซึ่งเป็นทางเลือกที่รวดเร็วและปลอดภัยสำหรับ C Stdio และ C ++ iostreams
- EMIO - รอยเท้าไบนารีขนาดเล็กมาก std :: รูปแบบเช่นการจัดรูปแบบโดยใช้ C ++ 20
สแกน
- SCANF - การใช้งานฟังก์ชั่นอินพุต SCANF แบบพกพาใน C.
- FT_SCANF - Simple Scanf %S %C %D
การตัดไม้
- Embedded -Log - ห้องสมุดบันทึกฝังตัวเล็กและสวยงามสำหรับ MCU
- EasyLogger-น้ำหนักเบาพิเศษ (ROM <1.6K, RAM <0.3K), ห้องสมุดบันทึก C/C ++ ประสิทธิภาพสูง
- TRICE-อุปกรณ์การติดตามที่รวดเร็วและเล็กสุด ๆ และเล็กสุด ๆ C PRINTF (ทำงานภายในการขัดจังหวะ) และการบันทึกพีซีแบบเรียลไทม์ (การสร้างภาพข้อมูล ID)
- Embedded-Diagnostic-Logger-กรอบ Logger น้ำหนักเบาสำหรับโครงการขนาดเล็กที่ใช้ไมโครคอนโทรลเลอร์ บันทึกหลายระดับและการถ่ายโอนสตริงตามโทเค็น
- spdlog - เร็วมากส่วนหัวเท่านั้น/คอมไพล์, ไลบรารีการบันทึก C ++
- Elog - ระบบบันทึกถูกคิดว่าเป็นระบบฝังตัวที่มีการใช้ทรัพยากร mininmal ระบบบันทึกได้รับการออกแบบมาเพื่อลดการคอมไพล์หน่วยความจำในแฟลชหรือ RAM เปิดใช้งานบัฟเฟอร์ loggin ใน RAM ที่มีการจัดเก็บที่มีประสิทธิภาพมาก
GUI
- LVGL-GUI ฝังตัวที่ทรงพลังและใช้งานง่ายพร้อมวิดเจ็ตจำนวนมากเอฟเฟกต์ภาพขั้นสูง (ความทึบแสงการต่อต้านการเคลื่อนไหวภาพเคลื่อนไหว) และข้อกำหนดของหน่วยความจำต่ำ (16K RAM, แฟลช 64K)
- EasyGui - EasyGui สำหรับระบบฝังตัว (ปรับให้เหมาะสมมากสำหรับ STM32)
- TouchGFX - เครื่องมือกราฟิก C ++ ที่ใช้งานง่ายรวมเป็นเครื่องมือฟรีในระบบนิเวศ STM32
- EGUI - ห้องสมุดกราฟิกที่ฝังอยู่ EGUI
- ESLOWGRAPHICS - ไลบรารีกราฟิกซอฟต์แวร์ระดับต่ำโดย ErrorSoft (ESLGL)
- FTK - Library GUI สำหรับระบบฝังตัว
- U8GLIB - ห้องสมุดกราฟิกสากลสำหรับระบบฝังตัว 8 บิต
- ? U8G2 - ห้องสมุด U8GLIB สำหรับการแสดงโมโนโครมรุ่น 2
- SGFX - ไลบรารีฝังตัวที่มีน้ำหนักเบาสำหรับการแสดงผลและหน้าจอสัมผัสที่ให้ทุกอย่างที่จำเป็นในการสร้าง GUI ที่ฝังตัวอย่างเต็มที่
- Guix - ให้บริการส่วนต่อประสานกราฟิกผู้ใช้กราฟิกที่สมบูรณ์แบบฝังตัว (GUI) และสภาพแวดล้อมการออกแบบอำนวยความสะดวกในการสร้างและบำรุงรักษาองค์ประกอบกราฟิกทั้งหมดที่อุปกรณ์ของคุณต้องการ
- Guilib - Library GUI สำหรับระบบฝังตัว
- HMI_Library - อินเทอร์เฟซเครื่องจักรของมนุษย์เหมาะสำหรับระบบฝังตัว
- AFGUI - ห้องสมุด GUI แบบฝังตัว
- Makisegui - กราฟิกและไลบรารี GUI สำหรับระบบฝังตัว
- Emgui - ไลบรารี C UI Simple สำหรับแพลตฟอร์มที่ฝังอยู่
- HAGL - ไลบรารีกราฟิกฮาร์ดแวร์ที่มีน้ำหนักเบาสำหรับอุปกรณ์ฝังตัว รองรับเบื้องต้นทางเรขาคณิตพื้นฐานบิตแมป blitting แบบอักษรความกว้างคงที่ ห้องสมุดพยายามที่จะมีน้ำหนักเบา แต่กำหนดเป้าหมายไมโครชิปที่ทรงพลังเช่น ESP32 ไม่มีการจัดสรรแบบไดนามิก
- Embedded -Graphics - ไลบรารีกราฟิก 2D ที่มุ่งเน้นไปที่อุปกรณ์ฝังตัวที่ จำกัด หน่วยความจำเพื่อวาดกราฟิกโดยไม่ต้องใช้บัฟเฟอร์ใด ๆ (สนิม)
- LOVYANGFX - แสดงผล (LCD / OLED / EPD) Library (สำหรับ ESP32 SPI, I2C, 8BitParallel / ESP8266 SPI, I2C / RP2040 SPI / ATSAMD51 SPI และอื่น ๆ )
- UGUI (µGUI) - ห้องสมุดกราฟิก รองรับสี, สีเทา, โมโนโครมและจอแสดงผลหลายหน้าจอสัมผัส, หน้าต่างและวัตถุ, รูปทรงเรขาคณิตพื้นฐาน, แบบอักษร, คอนโซล ไม่มีการจัดสรรแบบไดนามิกและหน่วยความจำสำหรับบัฟเฟอร์หน้าจอ เอกสารที่มีอยู่ในเว็บไซต์ของนักพัฒนา
บรรณาธิการ GUI
- LV_GUI_DESIGNER-DRAG-DOL-DOL, Simple GUI Designer ที่สร้างด้วย Littlevgl
- Walv - ออนไลน์, นักออกแบบ Wysiwyg Gui สำหรับ Littlevgl รองรับข้ามแพลตฟอร์ม (แม้กระทั่ง Android และ iOS)
ตัวอักษรใช้ประโยชน์
- Bitmap-osd-Font-ตัวอักษรบิตแมป 'C' สำหรับการแสดงผลบนหน้าจอ
- TTF2MESH - ห้องสมุดสำหรับ truetype font tessellation อนุญาตให้แปลงร่ายมนตร์แบบอักษรเป็นวัตถุตาข่ายโดยไม่ต้องแรสเตอร์
- SFAM_Generator - สคริปต์ง่ายๆสำหรับการสร้างบิตฟอนต์สำหรับ STM32, AVR, Arduino หรือ MCU อื่น ๆ
- MCUFONT - ห้องสมุดการเรนเดอร์แบบอักษรสำหรับไมโครคอนโทรลเลอร์
แบบอักษรและไอคอน
- Picon-ชุด Pico-icon พร้อม ligature ที่แฮ็กได้ (ออกแบบบน 8 กริด: สามารถอ่านได้ที่ 8px 16px 24px 32px 48px)
เครื่องมือ manupulation รูปภาพ
- LCD-Image-Converter-เครื่องมือในการสร้างบิตแมปและแบบอักษรสำหรับแอปพลิเคชันแบบฝัง ช่วยให้คุณสร้างบิตแมปและฟอนต์และแปลงเป็นรูปแบบแหล่ง "C" สำหรับแอปพลิเคชันฝังตัว
ฮาร์ดแวร์
- Embedded -Driver - ไลบรารีไดรเวอร์แบบฝังตัวสำหรับอุปกรณ์ต่อพ่วงต่างๆ
io
- Fastio - Fast GPIO Forked จาก http://os.mbed.com/users/sissors/code/fastio/
USB
- TinyUSB - สแต็ก USB ข้ามแพลตฟอร์มสำหรับระบบฝังตัว
- LIBUSB_STM32 - สแต็กอุปกรณ์ USB ที่มีน้ำหนักเบาสำหรับไมโครคอนโทรลเลอร์ STM32
- Cherryusb - โฮสต์ USB ขนาดเล็กที่สวยงามและพกพาและสแต็กอุปกรณ์สำหรับระบบฝังตัวด้วย USB
แฟลช
- SFUD - Serial Flash Universal Driver (โดยใช้ไลบรารีไดร์เวอร์สากล SFDP Serial Serial (SPI) ของ JEDEC)
รถบัสสามารถ
- LIBCANARD-การดำเนินการขนาดกะทัดรัดของโปรโตคอล UAVCAN/CAN ใน C สำหรับระบบฝังตัวจริงแบบเรียลไทม์
- CANBUS -MESSAGE - สามารถประกอบการประกอบข้อความและไลบรารี่ถอดชิ้นส่วนสำหรับ TEENSY & STM32 ได้
- Canboot - Can Bootloader สำหรับ MCUS (ปัจจุบันรองรับ LPC176X, STM32 และ RP2040 MCUs)
คนอื่น
การจัดการเธรด
- C-Thread-Pool-พูลเธรดน้อยที่สุด แต่ทรงพลังใน ANSI C.
bootloaders
- McUboot - Secure Boot สำหรับไมโครคอนโทรลเลอร์ขนาด 32 บิต
- OpenBLT - Open Source Bootloader สำหรับ STM32, XMC, HCS12 และเป้าหมายไมโครคอนโทรลเลอร์อื่น ๆ รองรับอินเทอร์เฟซการสื่อสารเช่น: RS232, CAN, USB, TCP/IP และจัดส่งด้วยเครื่องมือ Microboot PC ที่ใช้งานง่ายสำหรับการเริ่มต้นและตรวจสอบการอัปเดตเฟิร์มแวร์ รองรับการอัปเดตเฟิร์มแวร์โดยตรงจากการ์ด SD-Card
- TinyUF2 - bootloader ที่ใช้ TinyUSB สำหรับอุปกรณ์ฝังตัวเช่น ESP32, STM32 และ IMX RT10XX
- Wolfboot - พกพา, เครื่องอิงค์, bootloader ที่ปลอดภัยสำหรับไมโครคอนโทรลเลอร์, รองรับการรับรองความถูกต้องของเฟิร์มแวร์และกลไกการอัปเดตเฟิร์มแวร์
การอัปเดตเฟิร์มแวร์
- UF2 - ข้อมูลจำเพาะรูปแบบการกะพริบ USB สำหรับการกระพริบไมโครคอนโทรลเลอร์ผ่าน MSC (คลาสที่เก็บมวลชน; AKA แฟลชไดรฟ์ที่ถอดออกได้)
- Swupdate - การอัปเดตซอฟต์แวร์สำหรับอุปกรณ์ฝังตัวของ Linux เพื่ออัปเดตระบบในฟิลด์ Swupdate รองรับการอัปเดตในท้องถิ่นและ OTA กลยุทธ์การอัปเดตหลายอย่างและได้รับการออกแบบโดยคำนึงถึงความปลอดภัย
หน้าจอสัมผัส
- TSLIB - ไลบรารีการเข้าถึงหน้าจอสัมผัส
การจัดการเวลา libs
- Timelib - Library การจัดการเวลาสำหรับอุปกรณ์ฝังตัว
- μtz - ไลบรารีโซนเวลาสำหรับระบบฝังตัวเล็ก ๆ
สคริปต์และภาษาที่ฝังได้
- เล็ก ๆ น้อย ๆ - ภาษาเล็ก ๆ เร็วและฝังได้ง่ายที่ใช้ในไฟล์. c เดียว
ผู้รวบรวม
- SDCC - คอมไพเลอร์อุปกรณ์ขนาดเล็ก (ที่กำหนดเป้าหมายไปยังไมโครโปรเซสเซอร์ที่ใช้ Intel MCS51 (8031, 8032, 8051, 8052, ฯลฯ ), Maxim (เดิมคือ Dallas) DS80C390 ตัวแปร, Freescale Rabbit 2000, 2000a, 3000a, TLCS-90), Padauk (PDK14, PDK15) และ STMicroelectronics STM8)
- TCC - คอมไพเลอร์เล็ก C (~ 100KB สำหรับ X86 TCC Conecutable รวมถึง C PreproCessor C, C Compiler, Assembler และ Linker)
- LCC - คอมไพเลอร์ ANSI C ที่กำหนดเป้าหมายใหม่ (ส้อมสำหรับ ULP ใน ESP32)
- PCC - คอมไพเลอร์ C แบบพกพา (กระจก)
- TinyGo - GO Compiler สำหรับสิ่งเล็ก ๆ : ไมโครคอนโทรลเลอร์, WebAssembly (WASM/WASI) และเครื่องมือบรรทัดคำสั่ง (ขึ้นอยู่กับ LLVM)
- Chibicc - ยังเป็นคอมไพเลอร์ C ขนาดเล็กอีกตัวหนึ่งที่ใช้คุณสมบัติ C11 ส่วนใหญ่
- RVCC-Bootstrapped C Compiler สำหรับ RISC-V 32 บิตและ ARM ISAS (สร้างไบนารี Linux ELF ที่ใช้งานได้สำหรับ RV32IM และ ARMV7)
ไม่มีหมวดหมู่
- Apache Nuttx Apps - คอลเลกชันของเครื่องมือ, เชลล์, ยูทิลิตี้เครือข่าย, ไลบรารี, ล่ามและสามารถใช้กับ Nuttx RTOS
- MODM - เครื่องกำเนิดไลบรารี C ++ 20 Barebone สำหรับ AVR, SAM และ ARM Cortex -M Microcontrollers (รองรับ 3534 อุปกรณ์)
- CEMBED - ยูทิลิตี้ขนาดเล็กสำหรับการฝังไฟล์ในส่วนหัว C
- Incbin-ไลบรารีหัวเดียวสำหรับการรวบรวมไฟล์ไบนารีและข้อความที่เป็นข้อความ
- WTX - ชุดเครื่องมือที่มุ่งเน้นเว็บ
การบริจาค
- การมีส่วนร่วมของคุณยินดีต้อนรับเสมอ! โปรดอ่านแนวทางการบริจาคก่อน
เชิงอรรถ
โปรดติดตาม Root-Repo นี้สำหรับการอัปเดตล่าสุด