牛卧堂MCU技术交流

标题: 新人求教 [打印本页]

作者: oQ景天Qo    时间: 2020-7-11 11:12
标题: 新人求教
FMC下载报错

作者: oQ景天Qo    时间: 2020-7-11 11:13
程序编译通过未报错,但将程序下载至MCU中,报错The flash loader program reported an error.

作者: oQ景天Qo    时间: 2020-7-11 11:15
FMC部分代码如下:


uint8_t set_data_base_addr(uint32_t addr)
{
    uint32_t   config[2];
   
    config[0] = fmc_read(FMC_CONFIG0_BASE);
    config[1] = fmc_read(FMC_CONFIG1_BASE);
   
    if ((!(config[0] & 0x1)) && (config[1] == addr))
    {
        printf("\n Set base end\n");
        return 0;
    }
   
    config[0] &= ~0x1;
    config[1]  = addr;
   
    FMC_ENABLE_CFG_UPDATE();
   
    fmc_erase(FMC_CONFIG0_BASE);
    fmc_write(FMC_CONFIG0_BASE, config[0]);
    fmc_write(FMC_CONFIG1_BASE, config[1]);
   
    FMC_DISABLE_CFG_UPDATE();
   
    printf("Set data flash base as 0x%x.\n", addr);
   
    SYS->IPRST0 = SYS_IPRST0_CHIPRST_Msk;
    return 0;
}

void fmc_config_init(void)
{
    UNLOCKREG();
    fmc_enable();
   
    set_data_base_addr(EP_HEADER_ADDR);
   
    fmc_disable();
    LOCKREG();
}

其部分在执行完SYS->IPRST0 = SYS_IPRST0_CHIPRST_Msk 语句后,并未重置系统,系统卡死未工作
作者: admin    时间: 2020-7-13 10:18
你的输入引脚配置了嘛?
作者: oQ景天Qo    时间: 2020-7-14 14:11
admin 发表于 2020-7-13 10:18
你的输入引脚配置了嘛?

请问你说的这个输入引脚是哪个?FMC的输入引脚么?
作者: 匿名    时间: 2020-7-14 14:27
你是用的M051吗?请问你这个代码是参考哪个例程写的?
作者: oQ景天Qo    时间: 2020-7-14 14:58
游客 58.246.86.x 发表于 2020-7-14 14:27
你是用的M051吗?请问你这个代码是参考哪个例程写的?

我用的是NM1230,参考它的库函数写的
作者: 匿名    时间: 2020-7-14 15:05
这不是一句话能说清楚,请联系代理商找原厂,或者直接找原厂。
作者: oQ景天Qo    时间: 2020-7-14 18:08
游客 58.246.86.x 发表于 2020-7-14 15:05
这不是一句话能说清楚,请联系代理商找原厂,或者直接找原厂。

好的,谢谢,主要是我觉得很奇怪,编译没有报错,但是下到芯片就报错。




欢迎光临 牛卧堂MCU技术交流 (http://www.nuvoton-mcu.com/) Powered by Discuz! X3.2