查看: 2449|回复: 1

[求助] ke06的flash初始化失败

[复制链接]
  • TA的每日心情
    无聊
    2021-5-27 14:51
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    21

    主题

    75

    帖子

    1

    中级会员

    Rank: 3Rank: 3

    积分
    298
    最后登录
    2025-7-3
    发表于 2016-8-4 13:55:11 | 显示全部楼层 |阅读模式
    MCU型号ke06z128
    调用FLASH_Init(BUS_CLK_HZ);
    断点跟进函数后
    if(!(FTMRH->FCLKDIV & FTMRH_FCLKDIV_FDIVLCK_MASK))
    {
      /* FCLKDIV register is not locked */
      if((FTMRH->FCLKDIV & FTMRH_FCLKDIV_FDIVLD_MASK) &&
                      ((FTMRH->FCLKDIV & FTMRH_FCLKDIV_FDIV_MASK) != FTMRH_FCLKDIV_FDIV(clkDIV)))
      {
       /* flash clock prescaler is loaded but with wrong value */
       u16Err |= FLASH_ERR_INIT_FDIV;
       return (u16Err)//直接在这边返回了
      }
      FTMRH->FCLKDIV = (FTMRH->FCLKDIV & ~(FTMRH_FCLKDIV_FDIV_MASK)) | FTMRH_FCLKDIV_FDIV(clkDIV);
                   
    #if 0
      FTMRH->FCLKDIV  |= FTMRH_FCLKDIV_FDIVLCK_MASK; /* lock the prescaler */
    #endif
    }
    板子外部晶振EXT_CLK_FREQ_KHZ   20000
    #define  BUS_CLK_HZ  20000000L
    不知问题出在哪儿

    我知道答案 目前已有1人回答
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24858
    最后登录
    2025-7-17
    发表于 2016-8-4 17:21:48 | 显示全部楼层
    楼主你好!
    看了下你的定义,应该和你的时钟系统有关。
    你晶振是20Mhz,那么通过分析,你的内核时钟最高是25Mhz,bus时钟最高是12.5Mhz,所以你定义20M的bus,时钟系统应该就有问题了,而且flash的时钟估计也被配超了。
    建议你再仔细检查下你的时钟配置.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-18 14:01 , Processed in 0.083820 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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