Client : BIOSERENITY
- Integration of the NOR MX25L512 memory with the STM32U585 CM33 SoC through the Quad SPI bus in a real-time environment, utilizing the FileX and LevelX stacks.
- Development of the Driver Access Layer (DAL) and Platform Abstraction Layer (PAL) to effectively control the NOR memory.
- Porting and implementation of the FileX stack, along with the efficient Wear-Leveling LevelX layer.
- Leveraging the Memory Mapped mode to optimize access times and enhance the overall performance of the system.
- Migration of the software to support communication with Amazon AWS-IOT using the Amazon FreeRTOS SDK.
- Creation of objects, policies, and certificates using AWS CLI, validated through the Boto3 and OpenSSL frameworks.
- Integration of services such as Fleet Provisioning, Shadow, OTA Job, MQTT-Agent, and Basic Ingest.
- Development of a microservice to handle the generation of CSR certificates based on the private key stored in the WiFi module CC3135's OTP.
- Implementation of MQTTs communication with AWS-IOT on the embedded side, utilizing mTLS1.2 (Mutual authentication).
- Implementation of HTTPS communication with Amazon S3 using a canonical request (Header Authorization V4), leveraging the STM32L4's Crypto IPs for SHA256 hashing and HMAC-SHA256.
- Development of Lambda functions in the Cloud to manage and index data from the publisher recorder to S3.
- Porting the firmware application and the IAP to ensure seamless compatibility with the advanced STM32U585 Cortex M33 MCU.
- Integration of the highly optimized HAL+LL driver specifically tailored for the STM32U5 family, ensuring efficient and reliable performance.
- Adaptation of the DRV, BSP, and DAL layers to seamlessly support the new SoC, enabling seamless functionality and interaction.
- Precise adjustment of flash memory addressing within the IAP firmware, aligning it with the precise specifications of the new MCU and ensuring optimal data storage and retrieval.
- Integration of the robust FreeRTOS patch 'Port ARM_CM33' to effectively support the trustzone feature, reinforcing security measures and providing enhanced protection for critical system operations.
- Interface the ST7789v LCD display with the STM32U585 CM33 SoC using the FMC bus, DMA2D, and integration of the touchGFX framework.
- Analyze the technical specifications of the ST7789v LCD display and the STM32U585 SoC to understand the system's functionalities and constraints.
- Design and develop device drivers for controlling the ST7789v LCD display using the FMC bus and DMA2D.
- Optimize performance by utilizing advanced features of the DMA2D to accelerate graphic rendering and minimize memory consumption.
- Integrate the touchGFX framework to develop a modern and user-friendly graphical user interface.
- Integration of secure boot in the Cardionaute product, targeting STM32L4A6.
- Integration of the SBSFU V2.1.0 (Secure Boot and Secure Firmware Update) module, ensuring robust security measures for booting and firmware updates.
- Activation of all hardware security features including Firewall, PcROP (PC Readout Protection), WRP (Write Protection), and RDP (Read Protection), providing multiple layers of protection against unauthorized access and tampering.
- Thorough debugging and preparation of the product to ensure the secure boot implementation is functioning correctly and without any vulnerabilities.
- Getting the product ready for a security audit, which involves comprehensive testing and analysis of the security measures implemented, ensuring compliance with industry standards and identifying potential weaknesses or areas for improvement.
- Official contribution in the BCP V7-2020 stack (internal communication stack).
- Optimized and migrated the CRC-32 calculation process to leverage the hardware CRC IPs of the STM32, resulting in improved efficiency and performance.
- Designed a specification for LZ4 compression of payload in the Upload/Download section, enhancing data transfer and storage efficiency.
- Integrated and adapted the LZ4 stack within the target system, maximizing its effectiveness and performance.
- Analyzing and optimizing power consumption of the STM32L4S5 SoC and the WiFi CC3135.
- Integrating the new feature of FreeRTOS: Tickless mode, which reduces power consumption by optimizing the timing of the system's idle periods.
- Implementing specific configurations for PWR (Power), Chrome ART (Adaptive RealTime), and Flash-Latency to minimize power consumption and enhance energy efficiency.
- Enhancing the application specification to effectively manage the WiFi module CC3135 with a low-power (LP) policy, ensuring efficient utilization of power-saving features.
- Developing a mechanism to calculate CPU usage based on the DWT-ARM IPs and the PRE/POST Sleep Tickless CB, providing accurate insights into CPU utilization during sleep and idle periods.
- Integration and validation of the TI Simplelink CC3135 Wi-Fi module.
- Development of the DAL (Driver Access Layer) and PAL (Platform Abstraction Layer) layers to interface with the CC3135 adapter, ensuring seamless communication and control.
- Creation of a PAL abstraction layer for the MQTT service based on the TI library, simplifying the integration and usage of MQTT functionality.
- Implementation of the SELF-TEST thread to validate essential functionalities such as scanning for available access points, connecting and disconnecting from an AP, power off/on operations, DHCP, DNS, and the BSD socket layer, ensuring reliable and error-free operation.
- FOTA (Firmware Over-The-Air) micro-services: Designing and developing a secure solution to update all firmware components of medical product (BLE NRF52, WiFi CC3135, STM32, BQ, etc.) using a single image generated during the cross-compilation phase.
- Designing the specification for the encrypted image, including the header and binary sections.
- Developing Post-Build scripts (Python, Batch) that run on the host side and integrating them into the IAR EW cross-compilation process.
- Creating a Board Support Package (BSP) layer for the required IPs such as AES ECB/CBC, HASH SHA1/MD5, CRC, and RNG for the STM32L4S5/A6 target.
- Designing and developing micro-services to manage the FOTA flow proposed for firmware updates.
- Writing the technical specification document for the service, including the test and validation flow.
- Conception and development of the timestamp synchronization micro-service for the product, with an accuracy of approximately 8ms.
- Developing an SNTP-EX library that adheres to RFC443, tailored to meet the client's requirements, utilizing the BSD socket of the TI stack.
- Implementing the micro-service to manage the SNTP process, including handling requests, offset/roundtrip filtering, and smooth calibration of RTC/TIMER for precise timestamp synchronization.
- Integrated and ported the Oryx Cyclone TCP/IP stack to STM32L4S5, validated DHCP/DNS/MQTT over ATWINC1500, and created a reliability report analyzing performance, TLS impact, and power consumption
- USB Class RNDIS (Ethernet over USB).
- Integrating the RNDIS class into the STM32L4S5 target, enabling Ethernet over USB functionality.
- Developing the DAL (Driver Access Layer) for controlling and interfacing with the USB-RNDIS device.
- Enabling MQTT communication using the Cyclone TCP/IP stack and the USB-RNDIS adapter.
- Designed and developed a serial-based CLI with state machine, user authentication, and hardware firewall protection for STM32L4A6.
Environment:
STM32L4A6, STM32L4S5, STM32H747, STM32U585, ESP32, eMMC, BLE NRF52, Wi-Fi ATWINC1500, Wi-Fi CC3135.
FreeRTOS, Secure Boot, FatFS, FileX, LevelX, USB Stack, ST-CryptoLib, AT Master, LZ4 Compression, touchGFX.
Amazone SDK. TCP/IP Stack, mTLS 1.2, Socket BSD, MQTTs, HTTPs, SNTP.
DMA, DMA2D, GPIO, FLASH, SRAM, RDP/WRP/PcROP, ADC, AES, HASH, CRC, RTC, TIMERS, MPU, PWR, FIREWALL, DWT, FMC, USART, SPI, I2C, USB 2.0 FS RNDIS/MSC, and VCP class, Ethernet.
IARV8, MDK ARM Keil, VS Code, STM32CubeProgrammer, STM32CubeMX, TouchGFX Designer, ST-Link V2/3, J-Link, J-Tag, Termite, Wireshark, NRF Connect, MQTT-FX.
SVN, Jenkins.
C/C++, Python, Batch/PowerShell, Kconfig, Markdown, Doxygen, MISRA-C 2012.