2 Programmable Memory Overview

The IS187x IC chip (IS187x chip) in the BM70/71 module has Harvard architecture with separate code memory and data memory. The memory within the code and data space has a segmented architecture, with each segment or bank of 64 Kbytes in size.

Non-volatile storage is available for the user-modifiable configuration parameters. The area allocated for code space stores the user-customizable GATT service tables and the application firmware. Using the applicable programming protocol over the UART, the programmer can read/write/erase this area of memory; whereas, the configuration parameters and application firmware still exist. The programmer must have good knowledge about the format of the data in this memory area to properly use the programming protocol and prevent incorrect updates of the Flash memory leading to undefined device operation.

The BM70/71 module is set up to reserve several pages of memory in the code space for storing the programmable GATT tables and configuration parameters, which is a total of 1380 bytes and divided into the following:
  • Configuration parameters – 288 bytes of information
  • GATT table – 1092 bytes of information
Note: In general, a page is 2 Kbytes in size.
The total amount of memory reserved is approximately 8 Kbytes, which is divided into the following:
  • Configuration parameters – 4 Kbytes
  • GATT tables – 4 Kbytes
This is to provide room for future growth and due to the fact that the smallest erasable area (page) in the Flash memory is 2 Kbytes. If the designer is planning to update the configuration parameters with an external host microcontroller (MCU), the amount of memory necessary to store any configuration parameters and GATT tables must be taken into consideration while choosing the host MCU. The BM70/71 module is only set up to store one set of configuration parameters and GATT tables.
Note: Do not reuse the remaining portion of the 8 Kbytes to store multiple versions of configuration parameters or GATT tables.

The size of the firmware is 262 Kbytes, and the firmware files for the device firmware update process are available on the BM70 and the BM71 module webpage. If the application requires Device Firmware Update (DFU) capability by the external host MCU, then the designer needs to consider the memory requirements for storing the BM70/71 module firmware (262 Kbytes) during the device firmware update process into their design.