查看: 7189|回复: 7

[求助] K60如何进入USB下载BOOTLOADER状态

[复制链接]

该用户从未签到

3

主题

17

帖子

0

新手上路

Rank: 1

积分
26
最后登录
1970-1-1
发表于 2014-2-14 10:51:48 | 显示全部楼层 |阅读模式
我想通过USB对K60芯片进行BOOTLOADER程序下载,但是对芯片复位后,芯片如何进入支持USB下载BOOTLOADER程序的方式,在文档AN4370 USB DFU Bootloader for MCUs 也没有说清楚,向大家求救!
我知道答案 目前已有6人回答
回复

使用道具 举报

该用户从未签到

10

主题

459

帖子

0

中级会员

Rank: 3Rank: 3

积分
303
最后登录
2024-10-24
发表于 2014-2-14 12:33:12 | 显示全部楼层

回复:K60如何进入USB下载BOOTLOADER状态

 AN4370还没认真研究,应该和AN2295中UART的Bootloader大致一致,其大致流程是:先判断是不是POR复位,或者使能进入BOOTLOADER的PIN是否为低,不满足条件的话直接跳转到用户代码,满足的话发送一个ACK信号给初始化好的UART,在HOOK成功后,等待BOOTLOADER上位机响应,在这个过程中会进行从机波特率的校准(MCU的通信速率未知),从机等待上位机命令来执行擦写动作。详细的过程请参看在AN2295中一个粗略的流程图,截图如下:
Capture.PNG
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

17

帖子

0

新手上路

Rank: 1

积分
26
最后登录
1970-1-1
 楼主| 发表于 2014-2-14 15:40:45 | 显示全部楼层

回复:K60如何进入USB下载BOOTLOADER状态

象我做其它芯片的bootloader程序,都会有boot配置引脚,通过对引脚的配置,进入不同的boot启动方式,但是从上图来看,它是通过POR来控制,一旦进入内部的boot引导程序,它怎么知道是串口或USB设置来下载bootloader程序呢?
回复 支持 反对

使用道具 举报

该用户从未签到

10

主题

459

帖子

0

中级会员

Rank: 3Rank: 3

积分
303
最后登录
2024-10-24
发表于 2014-2-14 16:00:58 | 显示全部楼层

回复:K60如何进入USB下载BOOTLOADER状态

上面回复中说了那只是一个粗略的流程图,在AN2295的代码实现了以下三种方式进入Bootloader模式:POR,外部某IO引脚拉低,直接进入Bootloader模式然后判断限定时间内是否有上位机HOOK信息。AN2295只是实现了UART的Bootloader,如果在代码中同时实现了串口和USB的bootloader,那就需要在上位机和Bootloader程序之间有个协议做选择了。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

17

帖子

0

新手上路

Rank: 1

积分
26
最后登录
1970-1-1
 楼主| 发表于 2014-2-14 16:52:50 | 显示全部楼层

回复:K60如何进入USB下载BOOTLOADER状态

仔细看了一下资料,1、首先K60好象没有内部固化的boot程序,来二次引导用户自己的开发的bootloader程序,所以用户必须自己开发的bootloader程序必须通过Jlink或其它方式下载到片内FLASH中去。2、在用户自己开发的bootloader程序中,可以选择不同的通讯方式与上位机交互(USB,COM),将APP程序下载到FLASH中去;芯片一旦上电后,会直接运行用户的bootloader程序,其通过对执行条件的判断(IO引脚状态的判断,限定时间内是否有上位机HOOK信息等),来执行APP程序,或更新APP程序等状态。
麻烦一点的是,板子必须焊接一个JLINK座子,来下载用户的bootloader程序。
这是我的理解,今天才看了下资料,不知道思路是否正确?
回复 支持 反对

使用道具 举报

该用户从未签到

21

主题

71

帖子

0

新手上路

Rank: 1

积分
133
最后登录
1970-1-1
发表于 2014-2-27 16:44:21 | 显示全部楼层

RE:K60如何进入USB下载BOOTLOADER状态

请教楼上,你说的bootloader包括mqx操作系统本身吗?
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

26

帖子

0

新手上路

Rank: 1

积分
44
最后登录
1970-1-1
发表于 2014-7-17 16:46:21 | 显示全部楼层

回复:K60如何进入USB下载BOOTLOADER状态

回复第 5 楼 于2014-02-14 16:52:50发表:
仔细看了一下资料,1、首先K60好象没有内部固化的boot程序,来二次引导用户自己的开发的bootloader程序,所以用户必须自己开发的bootloader程序必须通过Jlink或其它方式下载到片内FLASH中去。2、在用户自己开发的bootloader程序中,可以选择不同的通讯方式与上位机交互(USB,COM),将APP程序下载到FLASH中去;芯片一旦上电后,会直接运行用户的bootloader程序,其通过对执行条件的判断(IO引脚状态的判断,限定时间内是否有上位机HOOK信息等),来执行APP程序,或更新APP程序等状态。
麻烦一点的是,板子必须焊接一个JLINK座子,来下载用户的bootloader程序。
这是我的理解,今天才看了下资料,不知道思路是否正确?
 
你看的是哪篇资料,我也想看一下。
 
回复 支持 反对

使用道具 举报

  • TA的每日心情
    郁闷
    2021-1-9 21:21
  • 签到天数: 56 天

    连续签到: 1 天

    [LV.5]常住居民I

    52

    主题

    677

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    1470
    最后登录
    2021-1-9
    发表于 2014-8-2 17:01:09 | 显示全部楼层

    回复:K60如何进入USB下载BOOTLOADER状态

    回复第 7 楼 于2014-07-17 16:46:21发表:
    回复第 5 楼 于2014-02-14 16:52:50发表:
    仔细看了一下资料,1、首先K60好象没有内部固化的boot程序,来二次引导用户自己的开发的bootloader程序,所以用户必须自己开发的bootloader程序必须通过Jlink或其它方式下载到片内FLASH中去。2、在用户自己开发的bootloader程序中,可以选择不同的通讯方式与上位机交互(USB,COM),将APP程序下载到FLASH中去;芯片一旦上电后,会直接运行用户的bootloader程序,其通过对执行条件的判断(IO引脚状态的判断,限定时间内是否有上位机HOOK信息等),来执行APP程序,或更新APP程序等状态。
    麻烦一点的是,板子必须焊接一个JLINK座子,来下载用户的bootloader程序。
    这是我的理解,今天才看了下资料,不知道思路是否正确?
     
    你看的是哪篇资料,我也想看一下。
     
     
    你说的一点也不错,使用Freescale的MCU,由于MCU中本身没有bootloader,所以只能自己写(当然了,有现成的例子可参考),然后写入到MCU中,这就要求板子必需有一个program口。
     

     
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 12:19 , Processed in 0.100836 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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