All Projects → IntergatedCircuits → STM32_XPD

IntergatedCircuits / STM32_XPD

Licence: Apache-2.0 License
STM32 eXtensible Peripheral Drivers

Programming Languages

c
50402 projects - #5 most used programming language
assembly
5116 projects

Projects that are alternatives of or similar to STM32 XPD

stm32f103xx
DEPRECATED
Stars: ✭ 31 (-18.42%)
Mutual labels:  cortex-m, stm32
Modbus-STM32-HAL-FreeRTOS
Modbus TCP and RTU, Master and Slave for STM32 using Cube HAL and FreeRTOS
Stars: ✭ 272 (+615.79%)
Mutual labels:  usb, stm32
f1usb
Einfaches Beispiel für die Entwicklung eines USB FullSpeed Device auf Basis des STM32F103 ohne die Verwendung externer Bibliotheken
Stars: ✭ 27 (-28.95%)
Mutual labels:  usb, stm32
O7
Oberon → ARMv{6,7E}-M compiler
Stars: ✭ 27 (-28.95%)
Mutual labels:  cortex-m, stm32
STM32 USB CH341
STM32 USB simulates CH341.
Stars: ✭ 52 (+36.84%)
Mutual labels:  usb, stm32
Dirtyjtag
JTAG probe firmware for STM32F1
Stars: ✭ 183 (+381.58%)
Mutual labels:  usb, stm32
stm32-usb-bootloader
This repository contains bootloader for stm32f1xx microcontrollers. It works for stm32f103ret6, but you can simply adopt it to any MCU supporting STM32 HAL library with USB and SD-card
Stars: ✭ 40 (+5.26%)
Mutual labels:  usb, stm32
Libusb stm32
Lightweight USB device Stack for STM32 microcontrollers
Stars: ✭ 372 (+878.95%)
Mutual labels:  usb, stm32
async-stm32f1xx
Abstractions for asynchronous programming on the STM32F1xx family of microcontrollers.
Stars: ✭ 24 (-36.84%)
Mutual labels:  cortex-m, stm32
ISASTM
STM32-based ISA-over-USB-adapter
Stars: ✭ 86 (+126.32%)
Mutual labels:  usb, stm32
Sboot stm32
Secure USB DFU1.1 bootloader for STM32
Stars: ✭ 181 (+376.32%)
Mutual labels:  usb, stm32
kikpad
KiKPad : the Midiplus SmartPad reinvented !
Stars: ✭ 31 (-18.42%)
Mutual labels:  usb, stm32
Usbdevice
Highly flexible Composite USB Device Library
Stars: ✭ 144 (+278.95%)
Mutual labels:  usb, stm32
stm32 framework
一个志在实现STM32F1、F2和F4工程模板的项目,集成了FreeRTOS、LWIP、FATFS、DSP、USB、IAP、菜单库、有限状态机模板等等的组件,以及未来将加入的加密、BPNN、最小二乘、音频图片视频解码、LittlevGL等诸多常用的算法或组件,并具有良好的易用性、解耦性和可剪裁性!
Stars: ✭ 91 (+139.47%)
Mutual labels:  stm32, peripheral-drivers
Stm32f103 Usb Cdc Cmsis
STM32F103 USB CDC CMSIS
Stars: ✭ 40 (+5.26%)
Mutual labels:  usb, stm32
DfuBootloader
STM32 USB device bootloader using DFU class interface
Stars: ✭ 79 (+107.89%)
Mutual labels:  usb, stm32
Xpcc
DEPRECATED, use our successor library https://modm.io instead
Stars: ✭ 177 (+365.79%)
Mutual labels:  cortex-m, stm32
Teenyusb
Lightweight USB device and host stack for STM32 and other MCUs.
Stars: ✭ 287 (+655.26%)
Mutual labels:  usb, stm32
stm32 i2c to usb hid multitouch
i2c to usb hid multi touch with stm32
Stars: ✭ 55 (+44.74%)
Mutual labels:  usb, stm32
TMcuSys
🍆 STM32平台uCos与emWin练习项目。图片、音乐、视频、游戏、IAP运行器。
Stars: ✭ 25 (-34.21%)
Mutual labels:  cortex-m, stm32

Peripheral Drivers for STM32 series MCUs

This project aims to provide an efficient peripheral library for the STM32 series microcontrollers with the potential ability to replace STM32 HAL drivers. The following features are the key to achieving this goal: a straightforward common API with high level of hardware abstraction and code portability, and a comprehensible and lightweight driver code.

Project overview

The XPD drivers provide a hardware abstraction layer for the MCU peripherals, leaving the user to simply provide configuration sets, I/O data and callbacks to its API for complex device operations.

The XPD is currently under development, therefore only a subset of modules and devices are supported. A certain MCU is supported if its device descriptor header can be found within CMSIS/Device/ST/STM32..xx/Include. For the list of supported peripheral modules please check the corresponding XPD library.

The project redefines all peripheral layout structures to include bit field definitions, and also introduces bit-band alias peripheral structures, therefore the CMSIS library contents are incompatible with the official release. The XPD library is heavily built on these attributes, therefore it must be used with the CMSIS of the same revision.

Documentation

The project is well structured and doxygen documented, therefore offering easy understandability and navigation. The XPD Wiki offers a Beginner's Guide as well as detailed explanation of each peripheral module driver and the unique concepts applied in the library.

Feedback

The CMSIS device descriptors are result of a custom code generator with some manual touchups, therefore certain bit fields might have allocated incorrectly. Generally only the XPD supported peripherals' fields can be relied upon. Furthermore, part of the XPD API itself is not thoroughly tested. If you find any bugs, have any questions or constructive ideas, or would like to request support of a currently missing device, don't be afraid to contact the author or open an issue.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].