搜索
bottom↓
回复: 23

【经验分享】AN2295调试总结

[复制链接]

出0入0汤圆

发表于 2014-9-28 16:10:06 | 显示全部楼层 |阅读模式
AN2295调试总结

       不久之前,FSL_TICS_ZJJ发布了一篇名为《基于AN2295的K53bootloader修改步骤》的经验分享,以将AN2295代码从默认支持K60移植到K53为例,详细的介绍了移植过程的步骤。
       但有客户反映,按照文章介绍的步骤修改完成后,但在调试过程会有出错发生(如图1所示),这是咋回事呢?难道是文章介绍的步骤不对吗?

图 1 AN2295错误提示

       根据错误提示,我们会发现问题出在MCU在遵循FC协议与PC建立连接过程中,由于无法在Timeout时间段,正确的匹配好串口波特率,而发出可被PC识别的应答信号(0xFC),最终导致MCU无法与PC建立正确的联系。关于FC协议,请参考《 AN2295 bootloader文档解析(一)》文档,在此文档中,已详细介绍过FC协议,所以此文档就不对此做过多介绍啊。
       既然找到问题出处,那就好对症下药啊,经过测试,我决定与大伙分享两个AN2295代码调试的技巧。
       1.波特率公式修改
       在rs232.c中,UART_Initialization()函数用于初始化UART的波特率配置,在rs232.h中,定义了UART_SBR、UART_BRFA的值,当然我们也可以从新定义UART_SBR、UART_BRFA的值,使其配置更加精确,避免MCU进行过多的匹配。
•        UART_Initialization( )

•        UART_SBR与UART_BRFA配置

       2. 连接步骤修改
     在《AN2295—Developer’s Serial Bootloader 解析(三)》中,介绍过上位机软件与Target Device建立连接的步骤,具体如下:
    【1】:选择合适的COM;
    【2】 :  选择协定好的波特率;
    【3】:选择User code工程生成的S19文件;
    【4】:点击Connect,接着复位Target,使得Boot loader例程重新运行。
修改:
     【4】:复位Target Device,跟着马上点击Connect,建立连接(如图3所示)

图 3

       大家以后在调试AN2295时,碰到Target Device无法与PC建立连接,不妨使用以上两个技巧试试。

       完整文档下载:
      

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2014-9-28 16:10:55 | 显示全部楼层
如有什么错误或者不足,欢迎网友指正,并请在后面跟帖!

出0入0汤圆

发表于 2014-9-28 17:32:26 | 显示全部楼层
收藏。以后用得着。

出0入0汤圆

 楼主| 发表于 2014-9-29 09:02:06 | 显示全部楼层
32MCU 发表于 2014-9-28 17:32
收藏。以后用得着。

谢谢支持,有问题欢迎留贴交流!

出0入0汤圆

发表于 2014-9-29 11:39:33 | 显示全部楼层
路过,进来飘一下

出0入0汤圆

 楼主| 发表于 2014-9-29 11:44:44 | 显示全部楼层
huangzzjy22 发表于 2014-9-29 11:39
路过,进来飘一下

谢谢支持,有问题欢迎留贴交流!

出0入93汤圆

发表于 2014-9-29 11:47:03 | 显示全部楼层
飞思卡尔的版主真很尽力,这样用芯片更有信心了

出0入0汤圆

发表于 2014-9-29 13:27:44 | 显示全部楼层
看上去很nice

出0入0汤圆

 楼主| 发表于 2014-9-29 13:35:26 | 显示全部楼层
tim 发表于 2014-9-29 11:47
飞思卡尔的版主真很尽力,这样用芯片更有信心了

谢谢支持,让客户放心的使用FSL芯片是我们的目标!

出0入0汤圆

发表于 2014-12-3 13:42:09 | 显示全部楼层
这问题是解决了,但是根本原因可能并不是修正了波特率,而是由于CPU系统时钟的不稳定,不同系列的CPU,采用内部晶振后,得到的频率可能会不同,导致串口的波特率也不同。

出0入0汤圆

发表于 2014-12-3 13:50:22 | 显示全部楼层
本帖最后由 qchwu 于 2014-12-3 13:52 编辑

我目前在做基于AN2295的串口Bootloader,程序在K60D100的开发板上已经能正常工作了,但是将程序移植到K60F120的板子上时,可以进入Bootloader,也可以发送0xFC,但是,当我发送身份验证的命令:0x49时,出来的数据就错误了,但是,分步调试时,所有的数据都正常。
下面是分步运行,正确的数据。


下面是连续运行的错误数据:



串口自适应程序我也试过了,没有效果,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-12-3 13:53:49 | 显示全部楼层
如果是系统时钟不稳定,那该如何解决呢?

出0入0汤圆

 楼主| 发表于 2014-12-3 13:56:56 | 显示全部楼层
qchwu 发表于 2014-12-3 13:53
如果是系统时钟不稳定,那该如何解决呢?

你好,
AN2295串口使用的好像是内部时钟,如果觉得不准或不符合要求的话,可以试试将串口时钟源定义成其他时钟源。

出0入0汤圆

发表于 2014-12-3 14:12:18 | 显示全部楼层
谢谢您!
外部时钟也试了,进入PEE模式,系统频率100M,总线频率25M,经过测试,觉得还不如内部时钟精度。

出0入0汤圆

发表于 2014-12-3 14:15:17 | 显示全部楼层
https://community.freescale.com/docs/DOC-95039

出0入0汤圆

发表于 2014-12-4 13:44:53 | 显示全部楼层
FSL_TICS_ZP 发表于 2014-12-3 13:56
你好,
AN2295串口使用的好像是内部时钟,如果觉得不准或不符合要求的话,可以试试将串口时钟源定义成其 ...

能否有其他的办法解决这个问题?

出0入0汤圆

 楼主| 发表于 2014-12-4 16:07:51 | 显示全部楼层
qchwu 发表于 2014-12-3 13:50
我目前在做基于AN2295的串口Bootloader,程序在K60D100的开发板上已经能正常工作了,但是将程序移植到K60F1 ...

你好,
能解释一下你的单步操作是怎样一个流程,我觉得不应该单步正确而全速运行是有问题的啊!

出0入0汤圆

发表于 2014-12-4 16:35:05 | 显示全部楼层
FSL_TICS_ZP 发表于 2014-12-4 16:07
你好,
能解释一下你的单步操作是怎样一个流程,我觉得不应该单步正确而全速运行是有问题的啊! ...

DEBUG模式下,按F10.分步运行BOOT_CMD_IDENT的函数段。输出就是正确的,

出0入0汤圆

发表于 2014-12-4 18:26:19 | 显示全部楼层
挺不错的分享 以前怎么没看到

出0入0汤圆

发表于 2014-12-5 09:09:32 | 显示全部楼层
好贴,必收藏!!!

出100入101汤圆

发表于 2014-12-23 14:13:19 | 显示全部楼层
下载,空了学习下。

出0入0汤圆

发表于 2014-12-23 14:59:55 | 显示全部楼层
技术贴 赞!

出0入0汤圆

发表于 2014-12-23 16:36:08 | 显示全部楼层
技术贴,学习

出0入0汤圆

发表于 2016-4-26 15:44:04 | 显示全部楼层
现在我调到这里进行不下去了,发生了什么?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 21:58

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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