System Initialization

System initialization provides a function for initializing the system and the products.

  • Vector Table Update

  • RAM Layout Update

  • FTL Configuration

  • Storage Initialization

  • Bluetooth Host Initialization

  • Random Seed Initialization

Vector Table Update

It automatically updates the interrupt handler with the same function name to the vector table. It is more recommended to use RamVectorTableUpdate to manually update when the corresponding module is initialized.

RAM Layout Update

RAM is divided into three types: global data, RAM text, and heap buffer. It will be reallocated based on user configurations with the header file mem_config.h.

FTL Configuration

FTL cache size is an optional configuration. It is related to the usage scenarios of FTL, the volume of data, and the requirements for data security. For more information, please refer to FTL Cache.

Storage Initialization

Storage provides users with a linked list, which allows them to register the required area information through storage_partition_init, and then retrieve it by name string. Some partitions are listed in default partitions. Therefore, the users could only focus on flash layout.

Bluetooth Host Initialization

Bluetooth host initialization is controlled by a macro whether supports Bluetooth host.

Random Seed Initialization

Standard C library is a pseudo random number generator which produces a series of seemingly random numerical values through specific algorithms and an initial seed value. To ensure that the random numbers generated between devices are sufficiently random, use a true random number generator to initialize the seed.