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()
以避免重新启动。
我正在编写 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()
以避免重新启动。