查看: 6883|回复: 11

[MQX] PK60FX512VLQ12芯片在MQX3.8环境下程序脱机运行频率异常

[复制链接]

该用户从未签到

4

主题

27

帖子

0

新手上路

Rank: 1

积分
48
最后登录
1970-1-1
发表于 2012-3-19 15:24:03 | 显示全部楼层 |阅读模式
大侠安好!
使用PK60FX512VLQ12(120M主频)芯片的时候碰到一个奇怪的问题,我们使用mqx3.8在PK60FX512VLQ12平台上开发程序,挂接JLINK调试程序的时候功能都是正常的,比方说定时器脉冲输出和外部AD采样以及串口调试都可以用,但是程序脱离仿真器之后,即程序脱机运行的时候,所有的设计的功能都不正确了,典型的功能像定时采样脉冲和调试串口输出,后使用示波器测量外部定时器脉冲,发现频率异常,同样也推断调试串口的输出异常是由于频率(波特率)异常造成的。
但是我们之前在MK60FN512VLQ10上(100M的主频)上开发程序的时候,带仿真器的程序和脱机运行的程序效果是一样的。现在100M的K60和120M的K60之间比较大的区别是PLL模块,120M比100M的多了一个PLL模块,难道是原因造成了120M的K60程序脱机运行异常?
各位有碰到过类似的问题么,求大侠解答!
我知道答案 目前已有10人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-3-19 15:52:15 | 显示全部楼层

    RE:PK60FX512VLQ12芯片在MQX3.8环境下程序脱机运行频率异常

    这个问题最大的可能是由于系统时钟配置的错误,也就是总线时钟。你检查一下你的PLL程序。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    27

    帖子

    0

    新手上路

    Rank: 1

    积分
    48
    最后登录
    1970-1-1
     楼主| 发表于 2012-3-19 19:24:48 | 显示全部楼层

    RE:PK60FX512VLQ12芯片在MQX3.8环境下程序脱机运行频率异常

    也是怀疑时钟的问题,但时钟配置是使用MQX3.8处带的BSP包做的,之前有人报过BSP包中有bug?,开始图省事就没有仔细看,只要能用就好了,现在可能要认真看看包里的时钟配置了,谢安哥!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    21

    帖子

    0

    新手上路

    Rank: 1

    积分
    23
    最后登录
    1970-1-1
    发表于 2012-3-20 12:53:53 | 显示全部楼层

    RE:PK60FX512VLQ12芯片在MQX3.8环境下程序脱机运行频率异常

    你不是把程序只烧写到了RAM区吧?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    27

    帖子

    0

    新手上路

    Rank: 1

    积分
    48
    最后登录
    1970-1-1
     楼主| 发表于 2012-3-21 15:21:25 | 显示全部楼层

    回复:PK60FX512VLQ12芯片在MQX3.8环境下程序脱机运行频率异常

    程序不是烧写到RAM中的。
    这两天做了如下实验:
    1、首先排除MQX3.8的影响,在freescale下载了k60_120M_sc.zip的不带操作系统的程序包,里面有120M的MCG操作驱动程序,使用它的helloworld工程来调试;最开始只是把工程在自己的电路板上运行,得到的现象和在MQX3.8运行的情况是一样的。
    2、在裸程序的环境下查找问题,首先需要确定CPU的内核是否在程序脱机运行的时候是正常的,从频率的测量开始。在FEI模式下,即不操作MCG的寄存器,嵌入一个循环,功能是操作一个固定的IO口,使其高低变化,同时也将内核的MCGCLOCK输出到TRACECLOCK上,通过引脚的变化来测量(仿真器连接的情况下示波器上可以看到IO引脚的电平变化,脉冲信号,TRACECLOCK也有脉冲输出,大约10.6M的频率,下面不做说明的情况下,都表示仿真情况下程序功能运行正常);脱机运行,两个波形可以同时捕捉到,说明程序是工作正常的。
    3、上面表明在不配置MCG的情况下,程序仿真和脱机运行结果一致。然后在FBE模式下插入上述的功能块程序,同样的操作在脱机运行时,TRACE和IO脚都不能检测到信号了。难道是不能启用外部的时钟?
    4、接着实验,把上述功能块的程序放在PLL锁相启动完成之后;即在PEE模式下,脱机同样不正确。但是有一个奇怪的现象发生了。本来的脱机只是电路板的电源重新上电,并没有将JLINK拔掉,在重新上电之后,我将试着将JLINK通过其它的方法与M4连接,不通过IAR的调试环境连接,直接运行JLINK.exe文件,可以探测到M4的CPU,连接上之后,本来没有信号输出的引脚,在JLINK连上的同时,突然输出了信号,感觉好像是JLINK连接时写入CPU某个掩码位,使CPU以设计的正常频率开始运行了。有高人可以解释下JLINK连接时发给M4的初始命令有什么含义?
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    27

    帖子

    0

    新手上路

    Rank: 1

    积分
    48
    最后登录
    1970-1-1
     楼主| 发表于 2012-3-21 15:21:17 | 显示全部楼层

    回复:PK60FX512VLQ12芯片在MQX3.8环境下程序脱机运行频率异常

    程序不是烧写到RAM中的。
    这两天做了如下实验:
    1、首先排除MQX3.8的影响,在freescale下载了k60_120M_sc.zip的不带操作系统的程序包,里面有120M的MCG操作驱动程序,使用它的helloworld工程来调试;最开始只是把工程在自己的电路板上运行,得到的现象和在MQX3.8运行的情况是一样的。
    2、在裸程序的环境下查找问题,首先需要确定CPU的内核是否在程序脱机运行的时候是正常的,从频率的测量开始。在FEI模式下,即不操作MCG的寄存器,嵌入一个循环,功能是操作一个固定的IO口,使其高低变化,同时也将内核的MCGCLOCK输出到TRACECLOCK上,通过引脚的变化来测量(仿真器连接的情况下示波器上可以看到IO引脚的电平变化,脉冲信号,TRACECLOCK也有脉冲输出,大约10.6M的频率,下面不做说明的情况下,都表示仿真情况下程序功能运行正常);脱机运行,两个波形可以同时捕捉到,说明程序是工作正常的。
    3、上面表明在不配置MCG的情况下,程序仿真和脱机运行结果一致。然后在FBE模式下插入上述的功能块程序,同样的操作在脱机运行时,TRACE和IO脚都不能检测到信号了。难道是不能启用外部的时钟?
    4、接着实验,把上述功能块的程序放在PLL锁相启动完成之后;即在PEE模式下,脱机同样不正确。但是有一个奇怪的现象发生了。本来的脱机只是电路板的电源重新上电,并没有将JLINK拔掉,在重新上电之后,我将试着将JLINK通过其它的方法与M4连接,不通过IAR的调试环境连接,直接运行JLINK.exe文件,可以探测到M4的CPU,连接上之后,本来没有信号输出的引脚,在JLINK连上的同时,突然输出了信号,感觉好像是JLINK连接时写入CPU某个掩码位,使CPU以设计的正常频率开始运行了。有高人可以解释下JLINK连接时发给M4的初始命令有什么含义?
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    30

    帖子

    0

    注册会员

    Rank: 2

    积分
    137
    最后登录
    1970-1-1
    发表于 2012-3-21 23:54:04 | 显示全部楼层

    回复:PK60FX512VLQ12芯片在MQX3.8环境下程序脱机运行频率异常

    回复第 6 楼 于2012-03-21 07:21:17发表:
    程序不是烧写到RAM中的。
    这两天做了如下实验:
    1、首先排除MQX3.8的影响,在freescale下载了k60_120M_sc.zip的不带操作系统的程序包,里面有120M的MCG操作驱动程序,使用它的helloworld工程来调试;最开始只是把工程在自己的电路板上运行,得到的现象和在MQX3.8运行的情况是一样的。
    2、在裸程序的环境下查找问题,首先需要确定CPU的内核是否在程序脱机运行的时候是正常的,从频率的测量开始。在FEI模式下,即不操作MCG的寄存器,嵌入一个循环,功能是操作一个固定的IO口,使其高低变化,同时也将内核的MCGCLOCK输出到TRACECLOCK上,通过引脚的变化来测量(仿真器连接的情况下示波器上可以看到IO引脚的电平变化,脉冲信号,TRACECLOCK也有脉冲输出,大约10.6M的频率,下面不做说明的情况下,都表示仿真情况下程序功能运行正常);脱机运行,两个波形可以同时捕捉到,说明程序是工作正常的。
    3、上面表明在不配置MCG的情况下,程序仿真和脱机运行结果一致。然后在FBE模式下插入上述的功能块程序,同样的操作在脱机运行时,TRACE和IO脚都不能检测到信号了。难道是不能启用外部的时钟?
    4、接着实验,把上述功能块的程序放在PLL锁相启动完成之后;即在PEE模式下,脱机同样不正确。但是有一个奇怪的现象发生了。本来的脱机只是电路板的电源重新上电,并没有将JLINK拔掉,在重新上电之后,我将试着将JLINK通过其它的方法与M4连接,不通过IAR的调试环境连接,直接运行JLINK.exe文件,可以探测到M4的CPU,连接上之后,本来没有信号输出的引脚,在JLINK连上的同时,突然输出了信号,感觉好像是JLINK连接时写入CPU某个掩码位,使CPU以设计的正常频率开始运行了。有高人可以解释下JLINK连接时发给M4的初始命令有什么含义?
     
     

    看看分频设置,不仅仅是内核频率,要有bus频率和flash频率。我们试过,超频后,各时钟分频设置不当,出现过刚下载的时候,程序运行正常,复位后程序运行不正常,拔插jlink又正常,再复位就不正常
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12

    主题

    136

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    256
    最后登录
    2021-1-15
    发表于 2012-3-23 08:49:08 | 显示全部楼层

    RE:PK60FX512VLQ12芯片在MQX3.8环境下程序脱机运行频率异常

    不用jlink的时候,把jlink拔下来,重新上电 就可以了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    27

    帖子

    0

    新手上路

    Rank: 1

    积分
    48
    最后登录
    1970-1-1
     楼主| 发表于 2012-3-26 09:01:56 | 显示全部楼层

    RE:PK60FX512VLQ12芯片在MQX3.8环境下程序脱机运行频率异常

    楼上的方法也试过的,而且我们就是在JLINK拔下来的时候发现这个问题的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12

    主题

    136

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    256
    最后登录
    2021-1-15
    发表于 2012-3-28 12:44:32 | 显示全部楼层

    RE:PK60FX512VLQ12芯片在MQX3.8环境下程序脱机运行频率异常

    问题解决了吗?问题解决了吗?
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-9-7 01:01 , Processed in 0.111195 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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