pw_boot_armv7m/core_init.c
// WARNING: Be EXTREMELY careful when running code before this function
// completes. The context before this function violates the C spec
// (Section 6.7.8, paragraph 10 for example, which requires uninitialized static
// values to be zero-initialized).
Be EXTREMELY careful when running code before this function
completes. The context before this function violates the C spec
(Section 6.7.8, paragraph 10 for example, which requires uninitialized static
values to be zero-initialized).
Be EXTREMELY careful when running code before this function completes . The context before this function violates the C spec ( Section 6 . 7 . 8 paragraph 10 for example which requires uninitialized static values to be zero - initialized ) .
void StaticInit(void) {
  memcpy(&_pw_static_init_ram_start,
         &_pw_static_init_flash_start,
         &_pw_static_init_ram_end - &_pw_static_init_ram_start);
  memset(&_pw_zero_init_ram_start,
         0,
         &_pw_zero_init_ram_end - &_pw_zero_init_ram_start);
  __libc_init_array();
}
void StaticInit ( void ) { memcpy ( & _pw_static_init_ram_start , & _pw_static_init_flash_start , & _pw_static_init_ram_end - & _pw_static_init_ram_start ) ; memset ( & _pw_zero_init_ram_start , 0 , & _pw_zero_init_ram_end - & _pw_zero_init_ram_start ) ; __libc_init_array ( ) ; }
WARNING: Be EXTREMELY careful when running code before this function
completes.
WARNING : Be EXTREMELY careful when running code before this function completes .
// Static-init RAM (load static values into ram, .data section init). // Zero-init RAM (.bss section init). // Call static constructors.