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.