| 
 
| 在ucos中打算将数据存在Flash中,但是一但运行命令整个程序就死掉了,复位起不来,重新上电也不行,得重新用JTAG下载完后才能起来,但是一但命令又死掉了,程序是调用是周公书上写的API,程序如如下: 
 //----------------------ucos任务-------------------------------------------------
 //
 //--------------------------------------------------------------------------------
 void task(void *pdata)
 {
 OS_ENTER_CRITICAL();       //关中断
 R_save = VICIntEnable;
 VICIntEnClr = 0xffffffff;
 save_to_flash(cp, data_work, data_ref, &save_bit);       //实现保存到Flash中接口
 VICIntEnable = R_save;
 OS_EXIT_CRITICAL();        //关中断
 ...........................
 ...........................
 }
 
 //----------------------实现保存到Flash中-----------------------------------------
 //                     调用周立功例4.63 API演示实验程序
 //
 //--------------------------------------------------------------------------------
 int save_to_flash(uint8 *p, uint8 *data_work, uint8 *data_ref, uint8 * save_bit)
 {
 IAP_Entry = (void(*)())IAP_ENTER_ADR;
 SelSector(7, 7);                                                                                // 选择扇区
 print("SelSector 7\n");
 EraseSector(7, 7);                                                                             // 擦除扇区
 print("EraseSector\n");
 SelSector(7,  7);                                                                                // 选择扇区
 print("SelSector\n");
 flash_err = RamToFlash(0x00007000,  (unsigned int)data_work, 256);    // 写数据到扇区
 print("RamToFlash\n");
 if(flash_err)
 printu("error");
 ...........................
 ...........................
 }
 
 不知道怎么解决?希望能得到周公等的解答,谢谢
 在把例4.63 API演示实验程序下载到EasyARM2131上是没有问题的,会不会是ARM出界了呢?才5个TASK啊128字节 * 5不应该啊?
 | 
 |