打印

关于LPC4357的IAP的问题

[复制链接]
1669|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ZorroCN|  楼主 | 2016-5-11 17:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用lpcopen2.16,启动CM4内核(在BANK A上面),想在BANK B上保存一些数据,所以调用IAP功能如下,其中START_SECTION = 8, END_SECTION = 14,SECTION_NUM = 1,SystemCoreClock= 180000000.
        rtn = Chip_IAP_PreSectorForReadWrite(START_SECTION, END_SECTION, SECTION_NUM);
       
        if(rtn != NO_ERR)
        {
                return FLASH_ERR;
        }
       
        rtn = Chip_IAP_EraseSector(START_SECTION, END_SECTION, SECTION_NUM);
        if(rtn != NO_ERR)
        {
                return FLASH_ERR;
        }
       程序执行到 Chip_IAP_EraseSector时死机。
       请问这是怎么回事?
uint8_t Chip_IAP_EraseSector(uint32_t strSector, uint32_t endSector, uint8_t flashBank)
{
        uint32_t command[5], result[4];

        command[0] = IAP_ERSSECTOR_CMD;
        command[1] = strSector;
        command[2] = endSector;
        command[3] = SystemCoreClock / 1000;
        command[4] = flashBank;
        iap_entry(command, result);

        return result[0];
}

相关帖子

沙发
ZorroCN|  楼主 | 2016-5-11 17:20 | 只看该作者
看来还是用户手册给力,lpcopen里面IAP命令少了个IAP_INIT = 49,并且也没有封装相关的函数,写个函数先INIT一下再调用其它IAP功能就好了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

84

帖子

0

粉丝