我正在写一个Contiki os的服务,它应该在CC2538上运行。然而,我遇到了一个我不知道为什么会发生的问题。更具体地说,我希望将给定的数组(my_arr)写入闪存的连续页面。但是,在第20次迭代之后,程序停止,主板重新启动。你知道为什么会这样吗?我也遇到过与擦除功能类似的问题。
int8_t* my_arr= (int8_t*)malloc(2048);
for(int i=0; i<2048; i++)
my_arr[i] = i+1;
int8_t* init_addr = (int8_t*)0x222000;
for(int i=0;i<40;i++){
rom_util_program_flash((uint32_t *)my_arr,
(uint32_t)(init_addr +i*2048),
2048);
LOG_INFO("%d\n",i);
}发布于 2021-02-04 18:43:58
重新启动是由看门狗引起的。
尝试在每次写入之前添加watchdog_periodic(),以避免重新启动。
https://stackoverflow.com/questions/65944129
复制相似问题