Middleware Selector for STM32 MicrocontrollersNo compromise embedded middleware for STM32 STM32 Flash microcontrollers, based on the ARM Cortex™ ‘M’ processor, are a family of embedded controllers that combine real‑time capabilities and digital signal processing, supported by a broad ecosystem of tools. The large number of STM32 devices available includes controllers suitable both for small projects and for much larger system level designs. HCC provides one of the largest selections of middleware for STM32 devices and can support any compiler and target board and any RTOS (or none). HCC software is highly optimized because we are focused only on storage and communications and, as a consequence, reach a level of performance that is difficult to achieve. •H ighly optimized file systems: a number of finely-tuned file systems designed to provide the best performance for a range of scenarios. Flash Management: There are many NAND and NOR Flash memory devices. performance or resource-limited environments. SafeFTL presents a simple logical sector interface to an application. There are implementations for an extensive range of MCUs including proprietary interfaces as well as OHCI and EHCI. . Integrating them reliably and achieving the maximum potential life and high performance presents a significant design challenge. HCC file systems can be seamlessly dropped into any environment to support any storage media. Host & OTG: USB solutions from HCC are mature. without having to worry about developing highly specialized drivers. We routinely supply drivers for everything from simple USB pen drives and SD cards. The USB suite provides highly efficient basic class drivers like HID.Middleware Selector for STM32 Microcontrollers HCC Embedded Middleware For STM32 USB Device. MCU’s and compilers can be provided. Software is distributed as source code and sample projects integrated with most popular RTOSes. Device and OTG modes. widely used stacks that can support almost any embedded USB configuration. Host. HCC’s range of advanced class drivers provides access to File Systems and communications networks including Ethernet. Support is also available for more sophisticated configurations requiring Isochronous Transfer. and manages the underlying complexity efficiently and safely. This means developers can exploit USB to its full potential with ease. The stacks support all interface speeds. With abstractions for more than 15 real-time operating systems HCC’s “one-size-doesn’t-fit-all” approach to file systems is sure to provide an optimal solution for most applications. In addition. all transfer types. Using HCC file systems will make your application more reliable and will help to protect your customer’s data.1/2. Composite Devices and multiple USB interfaces. developers can choose a system optimized for flexibility. Hub and Mass Storage. When used in conjunction with HCC’s advanced file systems there is a complete solution for almost any type of storage media and performance requirement.0. USB 1. With full support for traditional FAT and flash file systems. interfaces and controllers. •E xtensive target media drivers: HCC collaborates closely with the industry’s leading storage suppliers and can provide support for almost any flash device or storage medium. •N o-compromise fail-safety: HCC has developed truly fail-safe file systems that guarantee the highest possible data integrity. Highlights include. such as a file system. to the most advanced NAND and NOR flash. HCC has developed robust fail-safe flash management software and file systems and it has support for hundreds of different kinds of memory types. HCC’s truly fail-safe SafeFTL ‘Flash Translation Layer’ provides a high-performance solution that allows developers to interface with any Flash-based media. interfaces and technologies that developers can choose. RTOS. File Systems: HCC’s highly optimized range of file systems is designed to meet the performance requirements of any application. compiler or microcontroller. The approach incorporates a strong adherence to the MISRA-C:2004 standard and was validated using advanced verification tools. eCOS. eTaskSync is designed to provide that synchronization. All software is provided with optimized Ethernet drivers and will integrate easily with any RTOS. Nucleus. Additionally the bootloaders use a library of standard components and are customized to user specifications. . MISRA-compliant scheduler used for running tasks in an embedded system. optimized performance and a high-quality stable implementation that has been widely used in commercial applications. The implementation was designed for high performance on a micro-controller. if the boot process is interrupted for any reason. HCC offers an abstraction for ‘No RTOS’. simply send an email to info@hcc-embedded. HCC provides many middleware products whose operations need to be properly synchronized and coordinated. EUROS. low-risk development platform. Licensing & Purchasing All HCC reusable software components are royalty-free and distributed in source form. All bootloaders have the option to add an advanced AES encryption module for secure data transfer. There are no unnecessary copies. emBOS. Bootloaders: HCC has developed a range of high quality bootloader solutions that will fit almost any scenario. ThreadX. a small cooperative scheduler. USB or serial interfaces using minimal resources on the target controller. HCC’s TCP/IP stack was developed with a rigorous approach to quality using a strongly typed subset of the ‘C’ language. eTaskSync Verifiable Kernel: HCC’s eTaskSync is a no compromise. The bootloaders can boot using flash.com and we will send all the details you require. The benefits of using HCC Bootloaders include small footprint. Importantly. This means that developers can choose our robust quality and outstanding performance irrespective of their legacy software. Keil RTX. Or. It is possible to configure them to support multiple complex interfaces. FreeRTOS. This can be achieved using a small subset of the typical functions of a standard kernel: tasks. for custom schedulers and super loops. eTaskSync is delivered with detailed MISRA compliance reports.TCP/IP: The key to a successful embedded application is to use high-quality software that is verifiably developed and ensures a stable. and many others. μ-velOSity. eTaskSync can be used in a broad range of embedded applications. providing flexibility and long-term network compatibility. events and mutexes. pre-emptive scheduling mechanism that can be used in any real-time embedded application. medical and transportation applications. Support and maintenance are included for one year with all purchases. Visit HCC’s website to find a sample license and to obtain the contact details of your local sales representative. Broad Range of RTOS & Tool Support RTOS Abstractions RTOS abstractions are available for the following systems: CMX RTX. the system will fully recover. which is designed to handle all processing and interface requirements of HCC middleware. and where possible we deliver sample projects tailored to your development environment. but it is especially suitable for those that require a high level of integrity and verification such as industrial. It uses a priority based. μC/OS-II. well thought out static memory management and dedicated memory areas and cache are fully exploited. HCC bootloaders are truly fail-safe and. We also offer our own eTaskSync. Quadros RTXC. HCC’s networking solution provides a significant range of protocols as well as support for both IPv4 and IPv6. high-speed operation. MC-DC analysis and 100% object and statement code coverage tests. Atmel AVR Studio. Freescale ColdFire. Green Hills Multi. Texas Instruments MSP430. Kinetis.: +36 1 450 1302 info@hcc-embedded. Mentor CodeSourcery. Freescale CodeWarrior. ARM7/9/11. RX600. Sitara. Microchip MPLAB. Edinburgh EH3 7NS Scotland. PowerPC. Microcontrollers Atmel AVR32. Renesas SH-2A. US sales office: 444 East 82nd Street New York NY 10028 • Tel: +1 212 734 1345 European sales offices: 24a Melville St. i. C2000. NXP LPC1300/1700/1800/2000/3 000/4000.com • sales@hcc-embedded. ARM Cortex-M0/M3/M4. Microchip PIC24. Stellaris.com • www.MX..: +44 7918 787 571 1133 Budapest. Váci út 76.hcc-embedded. Hercules. Infineon C164. Atollic True Studio and many more. IAR Embedded Workbench. TI Code Composer Studio. Renesas HEW. PIC32. STMicroelectronics STM32. Hungary • Tel.Extensive Compiler Support Eclipse/GCC. Keil ARM Compiler. DaVinci.com . SAM3/7/9. UK • Tel. BASE EUSBH-HUB EUSBH-MST EUSBH-RNDIS EUSBH-CDCACM EUSBH-CDCECM EUSBH-CDCEEM EUSBH-CDCOBEX EUSBH-CDCFTDI ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ no no no ✔ no no no no ✔ ✔ ✔ ✔ no no no ✔ no no no no ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ USB Host Target Drivers USB Device EUSBH-AUDIO EUSBH-MIDI EUSBH-HID EUSBH-MTP EUSBH-PRNT EUSBH-PROPDRV EUSBD-BASE EUSBD-MST EUSBD-RNDIS EUSBD-CDCACM EUSBD-CDCECM EUSBD-CDCEEM EUSBD-Audio TCP-MISRA MISRA Compliant TCP/IPv4 stack IPv4 IPv6 BSD 4 UDP ARP ICMP DNS Client DHCP client FTP Server TFTP Server PPP SMTP HTTP-SERV PPP Module SMTP HTTP Server Module Ethernet Target Driver n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ USB Device Target Support USB OTG EUSBD-Midi EUSBD-HID EUSBD-MTP EUSBD-PHDC EUSBD-PictBridge EUSBD-PRNT EUSBD-TRGT EUSBD-OTG no n/a n/a n/a n/a n/a n/a n/a n/a n/a USB Host Stack Base Software USB Host Class Driver For External Hubs USB Host Class Driver For Mass Storage USB Host Class Driver For Remote NDIS USB Host Class Driver For CDC Abstract Control Model USB Host Class Driver For CDC Ethernet Control Model USB Host Class Driver For CDC Ethernet Emulation Module USB Host Class Driver For OBEX devices USB Host Class Driver For FTDI USB serial devices USB Host Class Driver For Audio USB Host Class Driver For Midi USB Host Class Driver For Human Interface Device USB Host Class Driver For Media Transfer Protocol USB Host Class Driver For Printers USB Host STM32 Target Specific Driver USB Device Stack Base Software USB Device Class Driver for Mass Storage USB Device Class Driver for RNDIS USB Device Class Driver for CDC-ACM USB Device Class Driver for CDC-ECM USB Device Class Driver for CDC-EEM USB Device Class Driver for Audio USB Device Class Driver for Midi USB Device Class Driver for HID USB Device Class Driver for Media Transfer Protocol USB Device Class Driver for Personal Healthcare Devices USB Device Class Driver for Pictbridge USB Device Class Driver for Printers USB Device Target Specific Driver Module for Systems Requiring HNP and SRP n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ no ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* no ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* ✔* no no no ✔ no ✔ ✔ ✔ ✔ ✔ ✔ ✔ no ✔ no ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ *requires external controller Flash Management Flash Translation Layer MD-SAFEFTL MD-SSD-FTL FAT+MD-SAFEFTL SAFEFAT+MD-SAFEFTL DFML Failsafe Flash File System SAFEFLASH NOR-DRV NAND-DRV DF-DRV TINY.DF TINY-STF TINY-RAM TINY-BWA Fail-safe Flash Translation Layer SSD Media Driver for Parallel NAND FAT with Flash Translation Layer SafeFAT with Flash Translation Layer Dataflash Flash Management Layer SafeFLASH Fail safe File System SafeFLASH NOR Flash Driver SafeFLASH NAND Flash Driver SafeFLASH Atmel Dataflash Driver TINY File System for Atmel Dataflash Tiny File System for ST Flash Tiny File System for RAM Tiny File System for Byte Writable Arrays no no no ✔ no no no no ✔ ✔ no no ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ no n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a no no n/a n/a n/a n/a Networking IPv4/v6 Stack MISRA Compliant n/a n/a n/a n/a n/a n/a n/a n/a n/a Bootloaders SD Card bootloader Serial bootloader Pendrive bootloader PC/USB bootloader Encryption BL-FAT BL-SER BL-EUSBH BL-EUSBD BL-ENC Bootloader using SD Card Bootloader using Serial Link Bootloader for USB Pendrive Bootloader for USB PC AES Bootloader Encryption Module n/a ✔ n/a ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ Target ETHERNET-DRV n/a n/a n/a ✔ n/a n/a n/a ✔ n/a ✔ ✔ ✔ ✔ n/a n/a n/a n/a n/a ✔ ✔ n/a ✔ n/a ✔ ✔ ✔ ✔ ✔ ✔ Scheduling eTaskSync Scheduler TASK MISRA compliant cooperative scheduler ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ . Middleware Selector Tables STM32L151/152/162 STM32L151/152/162 STM32F215/217 STM32F215/217 STM32F050/51 STM32F105/07 STM32F302/03 STM32F372/73 STM32F405/15 STM32F407/17 STM32F427/37 STM32F050/51 STM32F105/07 STM32F302/03 STM32F372/73 STM32F405/15 STM32F407/17 ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ STM32F427/37 ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ STM32F100 STM32F101 STM32F102 STM32F103 STM32F205 STM32F207 STM32F313 STM32F383 STM32F100 STM32F101 STM32F102 STM32F103 STM32F205 STM32F207 STM32F313 STM32F383 Product Code Product Description Product Code Product Description File Systems FAT File Systems FAT THIN SAFEFAT Media Drivers MD-MMCSD MD-MMCSD-SPI MD-CF MD-HDD MD-SCSI MD-RAM High Peformance FAT 16/32 File System '"THIN" File System for Resource Limited Applications SafeFAT Fail Safe File System SD/MMC SDIO Media Driver SD/MMC SPI Media Driver Compact Flash Media Driver HDD IDE-ATA Driver USB Mass Storage Media Driver RAM Drive Media Driver no ✔ no ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ n/a ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ USB USB Host EUSBH.