moebius.ever的个人空间 https://bbs.21ic.com/?879916 [收藏] [复制] [RSS]

日志

富士通fm3系列调试日志

热度 4已有 1530 次阅读2013-4-6 19:03 |个人分类:embedded|系统分类:ARM| 富士通, ARM, Cortex-M3, fm3

今天调试富士通fm3系列板子,用的是mb9af111n,内核ARM Cortex-M3。
用惯了stm32的标准库,用fm3的库觉着真的不是太方便,而且库里还有错误。
调试过程中遇到一个特别郁闷的问题,使用Keil MDK 4.6给板子下程序,程序下载成功,但是程序每次在等待时钟稳定的地方挂掉。提示我:CPU is Not Halt。
  if (SCM_CTL_Val & (1UL << 1)) {                    /* Main clock oscillator enabled ? */
    FM3_CRG->SCM_CTL |= (1UL << 1);                /* enable main oscillator */
    while (!(FM3_CRG->SCM_STR & (1UL << 1)));      /* wait for Main clock oscillation stable */程序在此处挂掉
  }
换用内部晶振和外部晶振结果一样。内部晶振挂掉的位置如下:
  if (SCM_CTL_Val & (1UL << 3)) {                    /* Sub clock oscillator enabled ? */
    FM3_CRG->SCM_CTL |= (1UL << 3);                /* enable sub oscillator */
    while (!(FM3_CRG->SCM_STR & (1UL << 3)));      /* wait for Sub clock oscillation stable */程序在此处挂掉
  }
刚开始怀疑是JLINK驱动有问题,于是从4.04-4.66a的驱动程序都试了一遍还是不行。
后来怀疑官方给的Keil MDK例程有问题,就下载IAR,想用IAR也试试,结果IAR出现的问题跟Keil MDK一样。
折腾几个小时没有结果,出去溜了一圈。
回来怀疑可能是晶振没有起振,手头没有示波器,也没办法验证,我同学说晶振如果工作正常的话应该有2V左右的电压。按照我同学的说法,测了下电压,无源晶振两端没有电压,基本可以肯定晶振没有起振。断电,测量发现晶振一端和地导通。
汗,不至于晶振短路?起振电容坏了?
用万用表来回折腾几次,晶振竟然不对地导通了。
上电,Keil MDK调试,可以走过系统初始化部分,但跳转到__main的时候程序跑飞了。还用IAR,竟然好了。
头疼,希望今晚找到Keil MDK为什么不行。

路过

鸡蛋
1

鲜花

握手

雷人

刚表态过的朋友 (1 人)

发表评论 评论 (1 个评论)

回复 moebius.ever 2013-4-6 19:05
不知道为什么firefox不能发表日志,用linux怎么就这么悲催啊,还好Chrome表现良好!
以后家就安这了,