本帖最后由 FSL_TICS_ZP 于 2014-9-28 16:39 编辑
AN2295调试总结 不久之前,FSL_TICS_ZJJ发布了一篇名为《基于AN2295的K53bootloader修改步骤》的经验分享,以将AN2295代码从默认支持K60移植到K53为例,详细的介绍了移植过程的步骤。 但有客户反映,按照文章介绍的步骤修改完成后,但在调试过程会有出错发生(如图1所示),这是咋回事呢?难道是文章介绍的步骤不对吗? 图 1AN2295错误提示 根据错误提示,我们会发现问题出在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配置 在《AN2295—Developer’s SerialBootloader 解析(三)》中,介绍过上位机软件与Target Device建立连接的步骤,具体如下: 图 2 【1】:选择合适的COM; 【2】: 选择协定好的波特率; 【3】:选择Usercode工程生成的S19文件; 【4】:点击Connect,接着复位Target,使得Boot loader例程重新运行。 修改:
【4】:复位TargetDevice,跟着马上点击Connect,建立连接(如图3所示) 图 3 大家以后在调试AN2295时,碰到Target Device无法与PC建立连接,不妨使用以上两个技巧试试。 |