You are here

프로젝트 #025: OTA (Over-the-Air) Firmware Updates with F-RAM | Cypress Semiconductor

프로젝트 #025: OTA (Over-the-Air) Firmware Updates with F-RAM

In today's project, we demonstrate how you can perform Over-the-Air (OTA) firmware upgrades with PSoC 4 BLE.

As the name suggests, OTA allows you to perform firmware upgrades to your end-product over a Bluetooth Low Energy wireless connection. By doing the firmware upgrade OTA, the user does not need to connect the end-product to a computer over USB. There are a couple methods to perform OTA - by using PSoC's built-in Flash memory, or by using an external memory IC to store the new firmware image. In this example project, we demonstrate the external memory method by utilizing the on-board Cypress F-RAM IC on the BLE Pioneer Kit.

Cypress's Ferroelectric RAM (F-RAM) is a type of non-volatile memory that has three distinct advantages over traditional non-volatile memories: high speed, high endurance, and low energy consumption. These F-RAM devices communicate with the host controller over a serial interface (I2C in this case) that do not have any write delays such that the data is instantly nonvolatile. This is crucial for mission-criticial tasks such as Bluetooth Low Energy firmware upgrades via bootloading, where any interruption in power can typically be catastrophic to the system. The F-RAM devices also offer virtually unlimited endurance, as they are rated for 100 trillion read/writes when compared to traditional nonvolatlie memories, which is useful for storage of vital data in sensor-based applications. Most importantly, these F-RAM devices consume only 300-µA of active power and 6-µA of standby current, allowing for extermely low-power systems for your Bluetooth Low Energy products.

In this project, a custom Bluetooth Low Energy Profile is implemented which includes a hidden Service for receiving new firmware images over Bluetooth Low Energy. Its important to understand two types of PSoC Creator projects when speaking of the bootloading process:

Bootloadable project: The base project that is going to get bootloaded with new firmware

Bootloader project: The project that contains the new firmware that the device is to be upgraded with

In this example project, the user can put the "firmware upgrade mode" or its bootloadable mode by pressing a switch (SW2) on the dev kit. Doing so exposes the hidden Bluetooth Low Energy Service for OTA firmware updates. The bootloading process is implemented by using the Bootloader Component. Refer to this application note (AN86526 PSoC 4 I2C Bootloader) to learn more about the Bootloader Component in detail. Once the dev kit is in the bootloader mode, a new firmware image can bootloaded to it, OTA from the CySmart USB Dongle (included with the BLE Pioneer Kit). The PSoC device on the kit receives this new firmware image over Bluetooth Low Energy and stores is in the I2C-based F-RAM device on the kit. Once the new firmware has been received and stored on the F-RAM, the PSoC bootloads itself with this new firmware to complete the OTA firmware upgrade.

You can download this PSoC Creator project along with a detailed PDF, here from GitHub:

   Wearable Watch Image

   Image property of

본 사이트의 모든 컨텐츠와 자료는 "있는 그대로" 제공됩니다. CYPRESS SEMICONDUCTOR와 해당 공급자는 그 목적에 관계 없이 이러한 자료의 적합성에 대한 표현을 하지 않으며 상업성, 특정 목적에의 적합성, 권리 및 제3자 지적 재산권의 비침해에 대한 모든 묵시적 보증과 조건을 포함하여(이에 제한되지 않음) 이러한 자료와 관련한 모든 보증과 조건을 부인합니다. CYPRESS SEMICONDUCTOR에서는 명시적 또는 묵시적으로 금반언이나 여타의 다른 방법으로 라이센스를 부여하지 않습니다. 이 사이트의 정보를 사용하려면 제3자의 라이센스 또는 CYPRESS SEMICONDUCTOR에서 제공하는 라이센스가 필요할 수 있습니다.

이 사이트의 컨텐츠에는 특정 사용 지침이나 제한이 포함되거나 그러한 제한이 적용될 수 있습니다. 모든 게시물과 이 사이트 컨텐츠 사용에는 사이트 약관이 적용됩니다. 이 컨텐츠를 사용하는 제3자는 제한 또는 지침을 따르고 이 사이트의 약관을 준수할 것이라는 데 동의합니다. Cypress Semiconductor와 그 공급자는 컨텐츠와 자료, 그 제품, 프로그램 및 서비스를 언제든 수정, 삭제, 개조, 개선, 향상 및 기타 변경하거나 예고 없이 컨텐츠, 제품, 프로그램 또는 서비스를 이동 또는 중단할 수 있는 권리를 보유합니다.