FSL_TICS_ZJJ 发表于 2014-6-25 16:41:24

【经验分享】kinetis flash中仿真可以烧录运行失败问题讲解

本帖最后由 FSL_TICS_Robin 于 2014-7-18 14:26 编辑

【经验分享】kinetis flash中仿真可以烧录运行失败问题讲解
一,        问题描述
      这次经验分享主要讲解在使用codewarrior编译器,kinetis芯片中出现烧入flash仿真可以,直接烧入脱机运行失败情况的解决方案。之前有一些网友在学习的时候,自己使用Codewarrior生成一个很小的代码,往往就是翻转IO点亮小灯的程序,发现直接仿真,小灯可以闪烁,但是一旦退出仿真,重新上电后,小灯就不闪烁了,就好像程序不再运行或者说程序根本没有烧进去。最初,我们以为是网友不小心,使用了RAM仿真的结果,这样脱机后,由于flash中没有程序确实是会出现这样的情况。但是现实是网友确确实实是采用烧入flash的仿真方式了。那么遇到这种问题是什么情况导致的呢?又如何去解决呢?下面讲解具体的解决方案。
二,        问题解决方案
这个问题目前发现的原因是网友使用工程的时候,所选择的的Embedded warrior libraries(EWL)的问题,如何查看所选的库情况呢?
可以通过选择project->properties->C/C++ Build->Settings->Tool settings->Librarian来查看,具体如下图所示:

图1
网友的问题主要出在了库选择成了ewl_hosted这种,实际上需要选择为默认的ewl库。Ewl_hosted库是通过debugger console这种方式实现I/O口的操作,当脱离仿真运行的时候,设备找不到debugger console所以就不能实现I/O口的操作了。而默认的UART库就不存在这种限制。
实际上在新建工程的时候,就有这样的选项,如下图所示:



图 2
如果你在实际的使用中遇到类似的情况,可以通过图1的方法去查看下,你的EWL库选择是否正确了。
关于EWL库的相关信息,我们也是有相关的文档讲解的,请参看章节三。
三,        问题参考附件
在Codewarrior的安装目录下就有相关kinetis EWL的文档讲解。这里以CW10.6为例,具体在默认路径<install folder>\Freescale\CW MCU v10.6\MCU\Help\PDF, PDF文件夹下有一个名叫MCU_Kinetis_GCC.pdf的文档,可以查看章节3,就有相关的一些内容讲解。
为了大家方便查看,这里上传MCU_Kinetis_GCC.pdf文档到附件中,需要的网友可以直接下载查看。
如果大家在使用的过程中,遇到同样的问题,但是通过这种方法不能解决的,欢迎大家发帖进一步讨论。希望本文的经验分享能够给大家带去帮助。
**** Hidden Message *****




PS:本帖可从飞思卡尔版块置顶帖:飞思卡尔Kinetis资料大本营的飞思卡尔论坛支持小组【经验分享】帖汇总链接进入。

FSL_TICS_ZJJ 发表于 2014-6-25 16:41:44

不足之处恳请指正,同时也欢迎大家分享自己的经验。

FSL_TICS_ZJJ 发表于 2014-6-25 16:54:11

这两天阿莫论坛图片附件好像有问题啊,这里放不上去了,大家就看附件文档吧。

lyzhangxiang 发表于 2014-6-25 17:18:26

回复可见
页: [1]
查看完整版本: 【经验分享】kinetis flash中仿真可以烧录运行失败问题讲解