打印
[资料分享与下载]

【经验分享】在KDS中使用C90TFS操作flash的问题讲解

[复制链接]
819|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FSL_TICS_ZJJ|  楼主 | 2015-11-26 16:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
【经验分享】在KDS中使用C90TFS操作flash的问题讲解

一,问题描述

       最近有个客户在使用C90TFS移植到K22 KDS KSDK工程中的时候,发现在操作flash sector 擦除之后,返回的FTFA_FSTAT 寄存器总是0X40, 也就是ACCERR为1, 访问flash

错误。通过查看对应的K22 参考手册,可以知道产生ACCERR错误,通常有如下三种情况。

Command not available in current mode/security

Program flash is selected and the address is out of program flash range

Flash address is not longword aligned

但是客户使用的命令是这样的:

      FCCOB0=0X09

      FCCOB1=0X07

      FCCOB2=0XA0

      FFCCOB3=0X00

也就是对地址0X07A000所在的sector执行擦除命令,所以命令,地址都没有错误。那么到底是什么原因导致的呢?

       首先想一下,和flash操作失败相关的因素一般有几点,1,操作flash之前没有关闭中断,这样flash操作时,产生中断,导致flash操作错误;2,发起flash操作命令没有

放到RAM中;3,flash操作时钟超限或者时钟模式不对。

      下面带着这几个排查点具体分析问题,测试平台TWR-K22F120M, FRDM-K22F120M。

更多具体内容,请查看附件文档
在KDS中使用C90TFS操作flash的问题讲解.pdf (664.96 KB)


相关帖子

沙发
FSL_TICS_ZJJ|  楼主 | 2015-11-26 17:09 | 只看该作者
不足之处,欢迎指正,同时欢迎大家分享自己的宝贵经验。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

165

主题

5069

帖子

88

粉丝