打印

NUC100系列APROM中不能擦除APROM?

[复制链接]
1091|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
deliciouscook|  楼主 | 2015-6-19 09:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
麦可可| | 2015-6-19 18:26 | 只看该作者
可以的,你代码贴上看看, 或者参考\SampleCode\StdDriver\FMC_IAP 样例

使用特权

评论回复
板凳
蜕变吧| | 2015-6-21 09:26 | 只看该作者
这么做,应该是可以的。彼此间不会冲突的,楼主上代码

使用特权

评论回复
地板
deliciouscook|  楼主 | 2015-6-23 10:47 | 只看该作者
蜕变吧 发表于 2015-6-21 09:26
这么做,应该是可以的。彼此间不会冲突的,楼主上代码

不行啊,我在APROM中,调用擦除,写入FLASH函数,但是写入不了呀?
我的意思是:
我在0000~0x7fff前32K 存放固件升级程序,然后通过USB接收新的程序,然后把新的程序放在地址0X8000后面。我擦除0x8000后的APROM空间发现不能写入。

使用特权

评论回复
5
deliciouscook|  楼主 | 2015-6-23 10:47 | 只看该作者
麦可可 发表于 2015-6-19 18:26
可以的,你代码贴上看看, 或者参考\SampleCode\StdDriver\FMC_IAP 样例


// erase fun
INTU8 STORELOC_Erase(INTU32 u32addr)
{
        FMC->ISPCMD.FCTRL = 2;
        FMC->ISPCMD.FCEN = 0;
        FMC->ISPCMD.FOEN = 1;
        FMC->ISPADR        = u32addr;
        FMC->ISPTRG.ISPGO = 1;        

        if (FMC->ISPCON.ISPFF == 1)
        {
                FMC->ISPCON.ISPFF = 0;
                return FALSE;
        }
        return TRUE;
}

INTU8 STORELOC_Write(INTU32 u32addr, INTU32 u32data)
{
        FMC->ISPCMD.FCTRL = 1;
        FMC->ISPCMD.FCEN = 0;
        FMC->ISPCMD.FOEN = 1;
        FMC->ISPADR        = u32addr;
        FMC->ISPDAT        = u32data;
        FMC->ISPTRG.ISPGO = 1;        
        if (FMC->ISPCON.ISPFF == 1)
        {
                FMC->ISPCON.ISPFF = 1;
                return FALSE;
        }
        return TRUE;
}

void APP_Program(INTU8 page,INTU32* PBuf)
{
    INTU16 i,j;
    INTU32 addr;
    UNLOCKREG();
    addr=page*512+STORELOC_DATA_BASE;   //STORELOC_DATA_BASE=0x8000
    STORELOC_Erase(addr);
    for (i=0,j=0;i<512;i+=4)
    {
        STORELOC_Write(addr+i,PBuf[j++]);
    }
    dfu.deviceState=DEVICE_IDLE;
    dfu.dfuRecvCnt=0;
}

发现0X8000后面的数据不会变,都是FF

使用特权

评论回复
6
黑夜的风| | 2015-6-25 09:59 | 只看该作者
deliciouscook 发表于 2015-6-23 10:47
// erase fun
INTU8 STORELOC_Erase(INTU32 u32addr)
{

1,沒有UNLOCK
2,沒有ENANBLE ISP功能
3,有個AP UPDATED ENABLE 的暫存器要打開

使用特权

评论回复
7
deliciouscook|  楼主 | 2015-7-18 14:59 | 只看该作者
黑夜的风 发表于 2015-6-25 09:59
1,沒有UNLOCK
2,沒有ENANBLE ISP功能
3,有個AP UPDATED ENABLE 的暫存器要打開

学习了,谢谢指导。

使用特权

评论回复
8
黑夜的风| | 2015-7-28 10:49 | 只看该作者
仔细看几遍数据手册,什么都解决了。要大胆的尝试。

使用特权

评论回复
9
deliciouscook|  楼主 | 2015-7-31 12:04 | 只看该作者
黑夜的风 发表于 2015-7-28 10:49
仔细看几遍数据手册,什么都解决了。要大胆的尝试。

是了,必须经过实践才可以。

使用特权

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

本版积分规则

5

主题

157

帖子

0

粉丝