llia 发表于 2022-7-8 21:54

读写的功能失效

/*---------------------------------------------------------
*read/write flash
*    Parameters:      cmd:the command
*                                        can be:                FLASH_READ
*                                                                FLASH_WRITE
*                                                                FLASH_ERASE
*                                          pDat: the input and output register address, target type is 'protect_reg'
*
*                                                e.g. protect_reg dat;
*                                                         dat.addr = 0x1800;      //IAP addr
*                                                         dat.dat= 0x55;      //IAP dat
*                                                         OperateFlash(FLASH_WRITE, &dat);//0x55----write to--->0x1800                  
*    Return Value:    none
*/
void OperateFlash(const lock_reg_cmd cmd, protect_reg *pDat)
{
         BOOL tmp = EA;
         EA= 0;
       switch(cmd)
       {
//======================= READ FLASH =======================
       case FLASH_READ:
         case FLASH_WRITE:
         case FLASH_ERASE:
                   IFADRH         = pDat->addr>>8;
               IFADRL         = pDat->addr&0xff;
                   IFD                = pDat->dat;
                   IFMT      = cmd;
                   if(UNLOCK_NUMBER == unlockRegVar) //safety
                   {
                           ISPCR |= 0x80;          //enable ISP
                           SCMD   = 0x46;
                           if(UNLOCK_NUMBER == unlockRegVar) //safety
                           {
                                 SCMD   = 0xb9;                //start to operate
                           }               
                }
                   pDat->dat = IFD;               
      break;
         default:
         break;
         }
         LOCKREG();
         ISPCR = 0x00;
         IFD = 0xff;         //for safety
         EA = tmp;
}

xxrs 发表于 2022-7-8 21:56

什么来由

llia 发表于 2022-7-8 21:58

路必康给的IFD 读写重复了... 我改过之后 还是不行 他们的资料 也太少了... 只介绍了这几个ISP寄存器

renyaq 发表于 2022-7-8 22:00

MA803的原厂出厂IAP设置为3400~37FFh的1KB空间

zhaoxqi 发表于 2022-7-8 22:02


LZ的例程好象是MA801的,
修改 dat.addr = 0x3400;      //IAP addr
再测试看看

llia 发表于 2022-7-8 22:06

不对。。。

heweibig 发表于 2022-7-8 22:08

可能是有使用Writer修改过出厂设置了。

llia 发表于 2022-7-8 22:10

是的 你说对了 我后面设置 成13K就可以了 IAP空间 默认的13K

llljh 发表于 2022-7-8 22:12

什么的读写功能,看不懂。。。

llia 发表于 2022-7-8 22:14

哦,那我就知道怎么回事了,多谢大家

tpgf 发表于 2022-8-3 08:59

返回失败代码了吗

keaibukelian 发表于 2022-8-3 16:30

指定读写的地址了吗

labasi 发表于 2022-8-3 16:44

有返回的编码吗

paotangsan 发表于 2022-8-3 16:58

是否可以直接找技术支持呢

renzheshengui 发表于 2022-8-3 17:09

没能成功解除读写保护是吗

wakayi 发表于 2022-8-3 17:22

是不是被他们加密了啊
页: [1]
查看完整版本: 读写的功能失效