查看: 3629|回复: 3

[分享] 0.037版本 AN2295 Kinetis 串口 Bootloader的问题和解决方法

[复制链接]

该用户从未签到

7

主题

112

帖子

0

中级会员

Rank: 3Rank: 3

积分
237
最后登录
1970-1-1
发表于 2016-1-4 16:07:07 | 显示全部楼层 |阅读模式
出处:https://www.eefocus.com/constyu/blog


遇见问题:
在下载官网的AN2295后(MCU软件版本是0.037,上位机软件版本为10.0.13),使用过程中发现总是提醒如下图的错误,大致的意思就是协议错误。
AN22951.png


问题分析:
基于以上提示,对两个版本的代码做了对比如下图,左边是AN2295老版本0.032的MCU代码,右边是AN2295新版本0.037的MCU代码。可见两版本的在BOOT_CMD_IDENT命令向上位机发送的数据是有区别的,老版本的代码只向上位机发送两个字节的SDID,即SDID的低16位,CRC校验使用的是CRC_AddByte对SDID的低16bit进行了校验,而新版本的代码则是向上位机连续发送了四个字节的SDID,即SDID寄存器的整个32位,CRC检验也是使用CRC_AddLong对SDID的整个32bit进行了校验。
AN22952.png


其中,SDID寄存器的定义如下图,它是芯片的类型识别寄存器,记录了芯片的系列(K10、K20或者K60等)、引脚个数、版本。考虑到新版本AN2295和老版本AN2295使用的上位机版本都是同样10.0.13,也就理解为什么会出现错误了。
AN22953.png




为印证这一点,打开新版本AN2295代码中上位机visual studio 的工程,找到prog.c文件与MCU通信相关的代码,如下截图,可以看到,其只对SDID的低16bit进行了处理。
AN22954.png


解决办法:
1.继续使用官网下载代码的MCU软件部分(0.037版本),但是上位机软件部分使用如下10.0.18的软件(官网下载默认附带的是10.0.13版本)。10.0.18的源文件见附件1,
2.使用老版本的AN2295,其MCU软件版本是0.032,上位机版本为10.0.13,整个工程见附件2。
3. 分别修改0.037版本MCU代码,去匹配10.0.13上位机。这种方式相对来说比较麻烦,不提倡,但是对打算深入理解AN2295的用户,可以尝试。
AN22955.png


一点提醒:
除了以上问题,在使用过程中,还发现使用TWR-K60板子上虚拟的串口作为Bootloader更新的接口时,很难建立通讯,使用正常的物理串口正常,具体原因暂未没有深入分析。


附件1: hc08sprg.zip (828.9 KB, 下载次数: 17)
回复

使用道具 举报

  • TA的每日心情
    开心
    2024-1-6 07:38
  • 签到天数: 736 天

    连续签到: 1 天

    [LV.9]以坛为家II

    21

    主题

    3486

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    5093
    最后登录
    2024-1-7
    发表于 2016-1-5 09:23:08 | 显示全部楼层
    谢谢分享,好东西,学习一下
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    41

    帖子

    0

    注册会员

    Rank: 2

    积分
    96
    最后登录
    2020-12-1
    发表于 2016-11-13 10:43:12 | 显示全部楼层
    感谢分享
    回复

    使用道具 举报

  • TA的每日心情
    难过
    9 小时前
  • 签到天数: 1971 天

    连续签到: 21 天

    [LV.Master]伴坛终老

    4

    主题

    8945

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    13926
    最后登录
    2025-7-20
    发表于 2018-4-11 13:27:53 | 显示全部楼层
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 20:37 , Processed in 0.096268 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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