3891 views|2 replies

9717

Posts

24

Resources
The OP
 

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

This post is from ST - Low Power RF

Latest reply

The Flash space occupied by the static protocol stack project configurations of several stacks is also inconsistent. How to choose to use these stacks?   Details Published on 2021-8-31 08:21
Personal signature虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

6593

Posts

0

Resources
2
 

The Flash space occupied by the static protocol stack project configurations of several stacks is also inconsistent. How to choose to use these stacks?

This post is from ST - Low Power RF

Comments

Select as needed. The functions included in different protocol stacks can be determined through stack_user_cfg.h  Details Published on 2021-8-31 09:51
 
 
 

9717

Posts

24

Resources
3
 
Jacktang published on 2021-8-31 08:21 The Flash space occupied by the static protocol stack project configurations of several stacks is also inconsistent. How to choose to use these stacks?

Select as needed. The functions included in different protocol stacks can be determined through stack_user_cfg.h

This post is from ST - Low Power RF
 
 
 

Guess Your Favourite
Just looking around
Find a datasheet?

EEWorld Datasheet Technical Support

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
快速回复 返回顶部 Return list