CH563评估板初体验(二)

今天有空把CH563评估板拿出来再次上电,体验EEPROM功能。参看手册,CH563芯片有28K的EEPROM,ARM9内核自带EEPROM的芯片很少,本人以前一直使用ST和TI厂家芯片,可用FLASH部分指定空间做EEPROM用,缺点是FLASH寿命有限,不能做频繁地擦除写入,有时外接EEPROM芯片,但增加了成本及PCB空间。记忆当中8位单片机AVR大部分芯片带EEPROM,使用简单,一句语句即可搞定。TI最新M4带EEPROM,但一直没有使用过,芯片成本也很高。
好了,废话不说,把评估板的串口线插在电脑主机的串口上,打开串口监控软件,波特率调到115200bps。打开CH563下载软件,插上USB线,指示有设备插入。编译厂家提供的EEPROM文件成功,下载HEX文件成功,按S1开关复位评估板,串口监控软件什么反应也没有,应该显示Start Eeprom Tset\xd\xa
Eeprom Read:
succeed in reading eeprom
Eeprom Erase:
Write_Eeprom:
Eeprom Read:
succeed in reading eeprom
才对啊?怀疑串口有问题,下载串口程序,显示正常。这么强大的芯片,不能接仿真器,靠串口输出调试,延长了项目的开发时间,芯片手册不是有JTAG仿真器接口吗,评估板为什么没有引出?

CH563支持ADS环境下的Multi-ICE仿真器


已调试成功了未命名 拷贝.gif


修改程序如下:

void CH563_EEPROM( void )
{
    UINT32 i;
   
 printf("Eeprom Read:\n");
    i = CH563_EEPROM_READ( 0x2000,my_buffer,64 );                                      
    if( i ){
  printf("    ***Error***\n");
 }
 else{
  printf("    succeed in reading eeprom\n");
     for( i=0;i!=64;i++ ){
         if(i%8 == 0) PRINT("\n");
         printf("%02x ",(UINT16)my_buffer[i]);
     }
     printf("\n");
 }

    printf("Eeprom Erase:\n");
    i = CH563_EEPROM_ERASE(0x2000,0x1000);                                        
    if( i ){
  printf("    ***Error***\n");
    }

    for( i=0;i!=64;i++ )my_buffer[i] = i;
    printf("Write_Eeprom:\n");
    i = CH563_EEPROM_WRITE( 0x2000,my_buffer,64 );                               
    if( i ){
  printf("    ***Error***\n");
    }

 printf("Eeprom Read:\n");
    i = CH563_EEPROM_READ( 0x2000,my_buffer,64 );                                      
    if( i ){
  printf("    ***Error***\n");
 }
 else{
  printf("    succeed in reading eeprom\n");
     for( i=0;i!=64;i++ ){
         if(i%8 == 0) PRINT("\n");
         printf("%02x ",(UINT16)my_buffer[i]);
     }
     printf("\n");
 }
}


只有登录才能回复,可以选择微信账号登录