Four default configurations for static protocol stack projects
[Copy link]
The ST official SDK already provides a demo of the static protocol stack:
-
C:\Users\user name\ST\BlueNRG-LP DK 1.xx\Projects\BLE_Examples\BLE_StaticStack
The static protocol stack provides four configurations by default:
- Release
- Basic
- OTA_BTL_ResetManager
- OTA_BTL_ResetManager_Basic
-
C:\Users\user name\ST\BlueNRG-LP DK 1.x.0\Projects\BLE_Examples\BLE_SensorDemo_StaticStack
- Release
- LowerApp_OTA
- HigherApp_OTA
So what is the difference between them? They can be divided into two groups.
-
Release and Basic are a group: When they are running, the protocol stack program directly jumps to a fixed application;
- The difference between Release and Basic: The protocol stack configuration of Basic is BLE_STACK_BASIC_CONF, while the protocol stack configuration of Release is BLE_STACK_FULL_CONF.
- Different protocol stack configurations include different functions and occupy different Flash spaces.
- For the functions included in different protocol stack configurations, please refer to stack_user_cfg.h
- The Flash space occupied can be checked through the compiled Map file
- The macro RESET_MANAGER_SIZE is used for the jump offset of the protocol stack program, that is, how much space is reserved for the protocol stack. Therefore, the size of this macro will vary depending on the space occupied by the protocol stack.
- The macro MEMORY_FLASH_APP_SIZE in the linker is used to define the size available for the program, that is, how much space is reserved for the protocol stack, so the size of this macro will also vary depending on the space occupied by the protocol stack.
-
OTA_BTL_ResetManager and OTA_BTL_ResetManager_Basic are another group: they all jump from the protocol stack program to the Lower application or the Higher application;
- The difference between OTA_BTL_ResetManager and OTA_BTL_ResetManager_Basic: The protocol stack configuration of OTA_BTL_ResetManager_Basic is BLE_STACK_BASIC_CONF, while the protocol stack configuration of OTA_BTL_ResetManager is BLE_STACK_FULL_CONF
- Different protocol stack configurations include different functions and occupy different Flash spaces.
- For the functions included in different protocol stack configurations, please refer to stack_user_cfg.h
- The Flash space occupied can be checked through the compiled Map file
- The macro RESET_MANAGER_SIZE is used for the jump offset of the protocol stack program, that is, how much space is reserved for the protocol stack. Therefore, the size of this macro will vary depending on the space occupied by the protocol stack.
- The macro MEMORY_FLASH_APP_SIZE in the linker is used to define the size available for the program, that is, how much space is reserved for the protocol stack, so the size of this macro will also vary depending on the space occupied by the protocol stack.
Among them, one project is responsible for generating the protocol stack, and the other project is responsible for the application. So how do Release or Basic and OTA_BTL_ResetManager or OTA_BTL_ResetManager_Basic in BLE_StaticStack combine with Release, LowerApp_OTA and HigherApp_OTA?
- Release or Basic in BLE_StaticStack + Release in BLE_SensorDemo_StaticStack //How to use a fixed protocol stack without backup OTA
- OTA_BTL_ResetManager or OTA_BTL_ResetManager_Basic in BLE_StaticStack + LowerApp_OTA or HigherApp_OTA in BLE_SensorDemo_StaticStack //Method of using fixed protocol stack with backup OTA
For more information, please refer to lucienkuang's post "BlueNRG series tutorials, documents, training materials and common problems, etc."
https://bbs.eeworld.com.cn/thread-1162870-1-1.html
|