kinetis bootloader怎么在ram中调试

KINETIS 中文模块介绍_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
KINETIS 中文模块介绍
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩76页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢飞思卡尔Kinetis复位与调试接口
又用K64F来说明了。其实本文想要尝试总结FSL Kinetis处理器的复位与调试问题。
一直以来,Kinetis MCU就有复位和调试器无法连接的问题。为此,FSL特别编写一篇应用报告:
AN4835 Programming Flash Programming Best Practices for
Kinetis K and L series
MCUs。其开发者社群里也有不少总结性的博客。我这里也算是一片了。不过我们总在想,为何FSL把简单的事情搞得这么复杂呢?
K20为例,在复位状态下可以进入JTAG/SWD和EZP模式,也可能进入NMI。所以其判断逻辑是蛮复杂的。一旦复位后没有进入JTAG/SWD/EZP,由于内部看门狗的原因,MCU会重新复位。如果外部调试器无法判断这种情况,或者由于噪声和阻抗匹配问题无法连接MCU进入调试模式,就会发生用户连接SWD无法成功,而RESET引脚出现周期性复位信号的情况。
所以,这件事情的原因在于SWD/JTAG由于某些原因无法连接MCU,导致后续复位;而不是复位导致SWD/JTAG无法连接。听上去有些像鸡和蛋的关系。
Flash中有非法指令,跳转到非法地址(所以需要上手做Mass Erase)
NMI或者中断无法退出(也需要做Mass Erase)
SWD未被使能(无法连接)
EZP引脚被拉低(进入EZP,而非调试模式)
RESET时间常数太短
SWD_CLK的时钟太高导致时钟匹配问题。
延长时间常数,或者先不要焊接电容;
EZP引脚10K上拉,NMI引脚10K上拉;SWD_IO/TMS引脚10K上拉;
调低SWD_CLK时钟频率,或者增加串联匹配电阻;
具备JTAG接口的芯片,初始状态下先使用JTAG连接;
K20使用SWD擦除时,无需EZP上拉;
K20使用SWD调试时,EZP必须上拉;
PEmicro连接JTAG时,所有GND必须分别接地,以减少噪声影响。
调试原型硬件时,首先不要焊接过多的其他元件,只需要电源,复位和基本的SWD/JTAG调试引脚即可。其他的的晶体、USB押后再焊接。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。转载请注明出处:& & &
Kboot是针对Kinetis的一套引导加载程序,用户通过Kinetis MCU的UART,SPI,I2C,CAN以及USB HID接口进行量产初期的程序代码烧写和后期的现场程序代码更新。
& & Kboot是一个大的bootloader引导程序的统称,目前V2.0版本涵盖大部分的Kinetis器件,主要包括三种形式:
1.&第一种称为&ROM bootloader&:即MCU内部有一段专门的ROM区域存放bootloader,该段区域和用户Flash区域是分开的,其典型代表是Kinetis KLx3,KLx7系列产品以及K8x、KL8x系列产品;
2.&第二种称为&Flashloader&:即MCU在出厂时,会预先烧写一段bootloader,上电后,这段代码会被拷贝到RAM中执行,当接收外部命令和程序数据,RAM中的代码会先把出厂时Flash中存放的bootloader擦除,然后将程序数据写入到MCU内部Flash中。基于此,就会有个量产过程中的问题,如果在芯片首次烧写过程中断电,会有可能导致MCU无法再通过bootloader尽心代码烧写,只能通过JTAG或者SWD接口进行烧写。但是如果目标MCU只是上电,而没有接收到PC控制端的擦除命令,并不会影响到芯片的再次Bootloader烧写。这种方式主要适用于芯片的首次编程,其典型代表是K22_100M,K24, K65,K66以及KVxx等相对新一些的结尾非x3或者x7的Kinetis料号。
3.&第三种称为&Flash-resident bootloader&:即既不带ROM bootloader也没有出厂烧写Flash loader的一类Kinetis器件,这种Bootloader以源代码的形式提供,需要用户自己烧录到芯片中,留做用户程序的后续更新,其原理类似老的AN2295,AN4767以及AN4379的功能。通常会占用Flash的一段区域,所以就需要将用户程序进行偏移处理,这种方式也是最常见的。其典型代表是一些相对早期的,市场用量比较多的器件,如K64,K22-120M,KL25,K65,K8X,KV31等芯片。
具体的分类和每一种分类支持的Kinetis器件类型如下图所示。
& & &或许有读者注意到如K22,KV31等器件既支持Flash-resident bootloader又支持Flashloader,两者并不矛盾,因为Flashloader是一次性的,只是在量产时使用一次,然后就被擦除。如果打算在产品使用过程中进行程序更新,则需要用户自己烧写Flash-resident bootloader到MCU中,两者的适用场合和目的不同。
旗下网站:
与非门科技(北京)有限公司 All Rights Reserved.
京ICP证:070212号
北京市公安局备案编号: 京ICP备:号

我要回帖

更多关于 ram调试 的文章

 

随机推荐