This page provides information about the layout and the amount of Flash and RAM memory required by the Zigbee stack with an example application. These values are useful to see whether your application has enough space for running in different Zigbee configurations.
The following figures present a typical flash and RAM layout for an application that uses the Zigbee stack in single and multiprotocol scenarios.
For details on the values of APP_CODE_BASE
and APP_RAM_BASE
, see S140 SoftDevice memory resource map and usage.
The following figure shows a typical ROM layout for an application that uses MBR and Bootloader.
The following table summarizes typical flash and RAM requirements for various Zigbee device types, including simple user application. The values for end device, router, and coordinator were calculated based on the light control example built with the GCC compiler.
The values for multiprotocol Zigbee/BLE were calculated based on multiprotocol examples and include SoftDevice flash and RAM requirements.
Role | Example | Flash [kB] (Zigbee stack + app) | Persistent data [kB] | Production configuration [kB] | RAM [kB] (Zigbee stack + app) | Flash [kB] (BLE stack) | RAM [kB] (BLE stack) | Total ROM [kB] | Total RAM [kB] |
---|---|---|---|---|---|---|---|---|---|
End device | light_control/light_switch/pca10056 | 181 | 32 | 16 | 15 | 229 | 15 | ||
Router | light_control/light_bulb/pca10056 | 243 | 32 | 16 | 23 | 291 | 23 | ||
Coordinator | light_control/light_coordinator/pca10056 | 221 | 32 | 16 | 32 | 269 | 32 | ||
Router + BLE Peripheral | ble_zigbee_dynamic_light_bulb_eddystone/pca10056 | 292 | 32 | 16 | 33 | 152 | 11 | 492 | 44 |
ZED + BLE Peripheral | ble_zigbee_dynamic_light_switch_nus/pca10056 | 203 | 32 | 16 | 26 | 152 | 11 | 403 | 37 |
ZED + BLE Central | ble_zigbee_dynamic_color_light_bulb_thingy/pca10056 | 221 | 32 | 16 | 24 | 152 | 11 | 421 | 35 |
The Zigbee solution provided with the SDK allows you to adjust the flash and memory requirements at application compile time. By convention, all examples provided in the SDK use minimal configuration for end devices, medium for routers, and maximum for coordinators. For details, see Zigbee stack RAM usage configuration and Zigbee stack flash usage configuration.