Firmware Development According to IEC 62304 Standard
Client
A European medical device manufacturer.
Challenge
The customer approached us to develop firmware in compliance with the IEC 62304 Class C. This standard guides the development of medical device software. In IEC 62304, software safety classes are used to categorise software based on its potential impact on patient safety.
Solution
The development process included the following layers:
- HAL,
- middleware,
- an application layer,
- a communication protocol.
We didn't use RTOS, this project was bare-metal and based on ARM Cortex-M4 STM32 by STMicroelectronics.
Our engineers used the following software development tools:
- Development environment: IAR.
- Programming languages: С, Python.
- Static coding analyzer: C-STAT, SciTools.
- Version control system: Git (Bitbucket).
- Device operation mode: hard conditions in real-time with response to external events – 10ms.
We performed a risk analysis by ISO14971 (PD/TR 80002-1) and implemented a built-in self-test (BIST) for detecting hardware and communication faults in real-time.Â
Business Value
The device was designed in accordance with the IEC 62304 standard and became an integral part of the client’s system. We successfully completed the project within a strict deadline, as the client was bound by a certification that couldn't be moved. The certification was successful, and the device went into mass production.Â