improve uf2 get flash size
This commit is contained in:
		@@ -126,13 +126,25 @@ bool hadWrite = false;
 | 
			
		||||
 | 
			
		||||
static uint32_t get_flash_size(void)
 | 
			
		||||
{
 | 
			
		||||
  // return 1 block of 256 bytes
 | 
			
		||||
  if ( !bootloader_app_is_valid(DFU_BANK_0_REGION_START) ) return 256;
 | 
			
		||||
  static uint32_t flash_sz = 0;
 | 
			
		||||
 | 
			
		||||
  const bootloader_settings_t * boot_setting;
 | 
			
		||||
  bootloader_util_settings_get(&boot_setting);
 | 
			
		||||
  // only need to compute once
 | 
			
		||||
  if ( flash_sz == 0 )
 | 
			
		||||
  {
 | 
			
		||||
    // return 1 block of 256 bytes
 | 
			
		||||
    if ( !bootloader_app_is_valid(DFU_BANK_0_REGION_START) )
 | 
			
		||||
    {
 | 
			
		||||
      flash_sz = 256;
 | 
			
		||||
    }else
 | 
			
		||||
    {
 | 
			
		||||
      const bootloader_settings_t * boot_setting;
 | 
			
		||||
      bootloader_util_settings_get(&boot_setting);
 | 
			
		||||
 | 
			
		||||
  return boot_setting->bank_0_size;
 | 
			
		||||
      flash_sz = boot_setting->bank_0_size;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return flash_sz;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if 0
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user