打印
[Kinetis]

KL03 FLASH存储问题

[复制链接]
989|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
antilan|  楼主 | 2015-4-18 08:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 antilan 于 2015-4-18 08:11 编辑

相同代码KL02上能正常执行,但是在KL03上执行失败。
每次跑到FlashCommandSequence中的 while(FALSE == ((VUINT8)FTFA_FSTAT & (UINT8)FTFA_FSTAT_CCIF_MASK));就会重启
在此处加断点Debug,正常执行,不会重启。当初认为是FTFA_FSTAT 反复读取造成,所以在while中尝试加delay,但也没有作用。
求高手指教,代码上传不了,见网盘 pan.baidu.com/s/1eQ8KsRC,用的FRDM-KL03Z开发板。

相关帖子

沙发
ar_m_cu| | 2015-4-18 10:12 | 只看该作者
本帖最后由 ar_m_cu 于 2015-4-18 10:17 编辑

你先确定是不是进入HardFault了。另外KL03 CCOB指令貌似需要放到RAM中执行

使用特权

评论回复
板凳
antilan|  楼主 | 2015-4-18 10:24 | 只看该作者
ar_m_cu 发表于 2015-4-18 10:12
你先确定是不是进入HardFault了。另外KL03 CCOB指令貌似需要放到RAM中执行

先把flash操作代码load到ram里再执行?

使用特权

评论回复
地板
ar_m_cu| | 2015-4-18 11:19 | 只看该作者
antilan 发表于 2015-4-18 10:24
先把flash操作代码load到ram里再执行?

是的

使用特权

评论回复
5
antilan|  楼主 | 2015-4-20 10:53 | 只看该作者
制定代码段在内存中运行,重起问题消失
#pragma arm section code ="FlashCommandSequence",rwdata="FlashCommandSequence"
#pragma arm section code,rwdata
在MDK Linker里修改Scatter File在RAM去绑定定义的段.
  RW_IRAM1 0x1FFFFE00 0x00000800  {  ; RW data
   main.o(FlashCommandSequence);
   .ANY (+RW +ZI)
  }

使用特权

评论回复
6
FSL_TICS_ZJJ| | 2015-4-20 14:53 | 只看该作者
还有就是,在执行flash commander之前需要先关闭中断,防止执行时进入中断引起错误。

使用特权

评论回复
7
FSL_TICS_ZJJ| | 2015-4-27 12:58 | 只看该作者
   非常感谢你关于Kinetis的技术问题。如果你没有其他问题,我们将此帖默认为已解决.
  

使用特权

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

本版积分规则

5

主题

27

帖子

1

粉丝