Code: Select all
const char ICACHE_RODATA_ATTR testFlashStr[]="test string";
const int ICACHE_RODATA_ATTR testFlashArray[]={0,1,2,3,4,5,6,7,8,9};
void testDataInFlash()
{
int i=0;
while(1)
{
printf("%u:%s--%d\n",i++,testFlashStr,testFlashArray[i%10]);
vTaskDelay(1000 / portTICK_RATE_MS);
}
}
the uart print:
Fatal exception (3):
epc1=0x40101277
epc2=0x00000000
epc3=0x00000000
epcvaddr=0x4024c038
depc=0x00000000
But,removed the macro "ICACHE_RODATA_ATTR",like this:
Code: Select all
const char testFlashStr[]="test string";
const int testFlashArray[]={0,1,2,3,4,5,6,7,8,9};
void testDataInFlash()
{
int i=0;
while(1)
{
printf("%u:%s--%d\n",i++,testFlashStr,testFlashArray[i%10]);
vTaskDelay(1000 / portTICK_RATE_MS);
}
}
It's OK,I was confused