Contiki-NG CC2538 rom_util_program_flash 问题

Contiki-NG CC2538 rom_util_program_flash problem

我正在编写 Contiki os 的服务,支持 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);
}

重启是由看门狗引起的。

尝试在每次写入前添加 watchdog_periodic() 以避免重新启动。