OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 94|回复: 1

STM8S005 IAP问题,已经毫无头绪,请大佬们不理赐教

[复制链接]

28

主题

115

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
342
金钱
342
注册时间
2018-2-1
在线时间
72 小时
发表于 2025-6-19 19:36:58 | 显示全部楼层 |阅读模式
10金钱
最近在做STM8S005的IAP功能,当前遇到的问题是这样的,问题一:
当我用同一个FW进行IAP时(即MCU中的FW与IAP的FW是相同的),可以正常完成IAP,并可以重新开机运行;
当修改了FW后,在IAP中途就会MCU无响应了,即失败。

问题二:
当FLASH代码中加入以下这两行代码时,一运行到这里就无法继续运行下去了,擦除也无法执行。
FLASH_CR2 |= (1 << FLASH_CR2_PRG);
FLASH_NCR2 &= (INT8U)(~(1 << FLASH_NCR2_NPRG));



贴上代码:


#pragma section (FLASH_CODE)
INT8U sFlashBlockErase(INT16U ulBlockAddr)
{
    INT8U status = FLASH_BUSY;

    FLASH_PUKR = 0x56;
    FLASH_PUKR = 0xAE;
    while (!(FLASH_IAPSR & (1 << FLASH_IAPSR_PUL)));

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

28

主题

115

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
342
金钱
342
注册时间
2018-2-1
在线时间
72 小时
 楼主| 发表于 2025-6-19 19:39:45 | 显示全部楼层
#pragma section (FLASH_CODE)

INT8U sFlashBlockErase(INT16U ulBlockAddr)
{
    INT8U status = FLASH_BUSY;
    INT32U dwTimeOutCnt = 0xFFFFF;
   
   FLASH_PUKR = 0x56;
    FLASH_PUKR = 0xAE;
    while (!(FLASH_IAPSR & (1 << FLASH_IAPSR_PUL)));

        FLASH_CR2 |= (1 << FLASH_CR2_ERASE);
    FLASH_NCR2 &= (INT8U)(~(1 << FLASH_NCR2_NERASE));
   
    *((volatile INT8U*)ulBlockAddr) = 0x00;
    while (!(FLASH_IAPSR & (1 << FLASH_IAPSR_EOP)));
        status = FLASH_COMPLETE;
   FLASH_IAPSR &= (INT8U)(~(1 << FLASH_IAPSR_PUL));
   
    return status;
}

INT8U   sFlashDataWrite(INT16U wAddress,INT8U length,INT8U *pData)
{
    INT8U i;
    INT8U status = FLASH_BUSY;


        FLASH_PUKR = 0x56;
    FLASH_PUKR = 0xAE;
    while (!(FLASH_IAPSR & (1 << FLASH_IAPSR_PUL)));

    FLASH_CR2 |= (1 << FLASH_CR2_PRG);
    FLASH_NCR2 &= (INT8U)(~(1 << FLASH_NCR2_NPRG));
    for (i=0; i<length; i++)
    {
        *((volatile INT8U*)(wAddress+i)) = pData[i];
        while (!(FLASH_IAPSR & (1 << FLASH_IAPSR_EOP)));
    }
   
    FLASH_IAPSR &= (INT8U)(~(1 << FLASH_IAPSR_PUL));
    status = FLASH_COMPLETE;
   
    return status;
}

#pragma section ()
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-28 09:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表