Topic

FAQ
Login Register
【BUG】9218烧写flash例程连续烧写后无法对芯片进行烧录
Sep 22, 2022 16:02

/

A

/A

flash例程连续烧写两次以后,可以active,但是一直烧写失败。

具体操作为:连续烧写,但是中间没有点击active和sws


已经在两个板子上复现了,现在不敢重试了。。。



修改了user_init部分的代码:

void user_init()
{
//  int i;

    delay_ms(1000);
    uart_debug_init();

    mid = flash_read_mid();

//  flash_erase_sector(FLASH_ADDR);
//  flash_read_page(FLASH_ADDR,FLASH_BUFF_LEN,(unsigned char *)Flash_Read_Buff);
//  for(i=0; i<FLASH_BUFF_LEN; i++){
//      if(Flash_Read_Buff[i] != 0xff){
//          err_status.erase_err = 1;
//          while(1);
//      }
//  }
//  check_status.erase_check = 1;
//  printf("flash erase down!\n");
//
//  flash_write_page(FLASH_ADDR+0x80,FLASH_BUFF_LEN,(unsigned char *)Flash_Write_Buff);
//  flash_read_page(FLASH_ADDR+0x80,FLASH_BUFF_LEN,(unsigned char *)Flash_Read_Buff);
//  for(i=0; i<FLASH_BUFF_LEN; i++){
//      if(Flash_Read_Buff[i] != Flash_Write_Buff[i]){
//          err_status.write_err = 1;
//          while(1);
//      }
//  }
//  check_status.write_check = 1;

    Flash_Write_Buff[2] = 0x99;
    Flash_Write_Buff[3] = 0x89;
//  flash_write_page(FLASH_ADDR+0x80,FLASH_BUFF_LEN,(unsigned char *)Flash_Write_Buff);
    flash_read_page(FLASH_ADDR+0x80,FLASH_BUFF_LEN,(unsigned char *)Flash_Read_Buff);
    printf("flash erase down0:%x %x!\n", Flash_Read_Buff[2], Flash_Read_Buff[3]);

    flash_erase_sector(FLASH_ADDR);
    flash_write_page(FLASH_ADDR+0x80,FLASH_BUFF_LEN,(unsigned char *)Flash_Write_Buff);
    flash_read_page(FLASH_ADDR+0x80,FLASH_BUFF_LEN,(unsigned char *)Flash_Read_Buff);
    printf("flash erase down1:%x %x!\n", Flash_Read_Buff[2], Flash_Read_Buff[3]);

#if (MCU_CORE_B91)
    switch(mid)
    {
    case 0x146085:
//      flash_mid146085_test();
        break;
    default:
        break;
    }

#endif

    check_status.umid_check = flash_read_mid_uid_with_check((unsigned int *)&mid, uid);
}


[15:29:23]:
Activate OK!
[15:29:30]:
TC32 EVK : Swire OK
[173]: wait for ack err!
Flash Sector (4K) Erase Error at address 0



1 replies
reborn [Author] Sep 22, 2022 17:10
0
/A

新的BDT 有个unlock,unlock以后可以用了