找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

[M051] 新人求教

[复制链接]
跳转到指定楼层
楼主
oQ景天Qo 发表于 2020-7-11 11:12:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
FMC下载报错
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具 举报

沙发
 楼主| oQ景天Qo 发表于 2020-7-11 11:13:33 | 只看该作者
程序编译通过未报错,但将程序下载至MCU中,报错The flash loader program reported an error.
回复 支持 反对

使用道具 举报

板凳
 楼主| oQ景天Qo 发表于 2020-7-11 11:15:50 | 只看该作者
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:50 | 只看该作者
你的输入引脚配置了嘛?
牛卧堂
回复 支持 反对

使用道具 举报

5#
 楼主| oQ景天Qo 发表于 2020-7-14 14:11:11 | 只看该作者
admin 发表于 2020-7-13 10:18
你的输入引脚配置了嘛?

请问你说的这个输入引脚是哪个?FMC的输入引脚么?
回复 支持 反对

使用道具 举报

6#
匿名  发表于 2020-7-14 14:27:47
你是用的M051吗?请问你这个代码是参考哪个例程写的?
回复 支持 反对

使用道具

7#
 楼主| oQ景天Qo 发表于 2020-7-14 14:58:53 | 只看该作者
游客 58.246.86.x 发表于 2020-7-14 14:27
你是用的M051吗?请问你这个代码是参考哪个例程写的?

我用的是NM1230,参考它的库函数写的
回复 支持 反对

使用道具 举报

8#
匿名  发表于 2020-7-14 15:05:32
这不是一句话能说清楚,请联系代理商找原厂,或者直接找原厂。
回复 支持 反对

使用道具

9#
 楼主| oQ景天Qo 发表于 2020-7-14 18:08:38 | 只看该作者
游客 58.246.86.x 发表于 2020-7-14 15:05
这不是一句话能说清楚,请联系代理商找原厂,或者直接找原厂。

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

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU