I'm trying to Flash ESP WROOM 02 Module, here is things I did.
According to data-sheet of ESP WROOM 02 module Flash size is 4MByte means 4096KByte which is equal to 32Mbit. Right ?
So, as per SDK Getting Started Guide v1.5 Flash map(No cloud Update) will be :
esp_init_data_default.bin --> 0x3FC000, blank.bin --> 0x3FE000, eagle.flash.bin --> 0x00000 and eagle.irom0text.bin --> 0x40000.
Before compilation. I changed value of irom0_0_seg of eagle.app.v6.ld to 0xC0000 and Its look like :
MEMORY
{
dport0_0_seg : org = 0x3FF00000, len = 0x10
dram0_0_seg : org = 0x3FFE8000, len = 0x14000
iram1_0_seg : org = 0x40100000, len = 0x8000
irom0_0_seg : org = 0x40240000, len = 0xC0000
}
During compilation I choose option 6 for flash size & MAP. Using Flash tool i have write esp_init_data_default.bin, blank.bin, eagle.flash.bin and eagle.irom0text.bin to flash.
Now hare is a confusion. In firmware I used this API to print flash size and MAP which prints "Flash size 4M, MAP 256+256".
here is code snippet :
Code: Select all
switch( system_get_flash_size_map() )
{
case 0 :
os_printf("\n Flash size 4M, MAP - 256+256"); break;
case 1 :
os_printf("\n Flash size 2M"); break;
case 2 :
os_printf("\n Flash size 8M, MAP 512+ 512"); break;
case 3 :
os_printf("\n Flash size 16M, MAP 512+ 512"); break;
case 4 :
os_printf("\n Flash size 32M, MAP 512+ 512"); break;
case 5 :
os_printf("\n Flash size 16M, MAP 1024+ 1024"); break;
case 6 :
os_printf("\n Flash size 32M, MAP 1024+ 1024"); break;
default :
os_printf("\n Unknown size & Map.");
}
As per my understanding It should print "Flash Size 32M, MAP 1024+1024" right ? Can any one know Reason ?
Is there anything I'm missing ?
Thanks & Regards,
Prakash P.