本帖最后由 FSL_TICS_Jeremy 于 2014-9-28 16:57 编辑
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配置
2. 连接步骤修改 在《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建立连接,不妨使用以上两个技巧试试。
完整文档:
AN2295调试总结.pdf
(384.84 KB)
|