搜索
bottom↓
回复: 6

【求助】关于KL25的FTFA问题

[复制链接]

出0入0汤圆

发表于 2015-9-17 09:32:36 | 显示全部楼层 |阅读模式
本帖最后由 Michael_STM 于 2015-9-17 13:43 编辑

最近需要用到将一个大数组存放到Flash中去,想用KL25的FTFA功能实现。
我用的是官方提供的C90TFS_FTFX的库函数,在KL25的FLASH中跑程序,现在遇到如下问题:
1. 调用用FlashEraseSector的时候程序运行到pFlashCommandSequence(pSSDConfig)就死了,据我所知,FlashCommandSequence函数被搬移到了ram中,所以应该是执行的时候出错了,如果在FlashCommandSequence的函数入口处加一个延时,可以跑起来,不知道是啥原因?
2. 在FlashProgram函数中第91行temp = WORD2BYTE(pSSDConfig->PFlashBlockBase);然后用dest -= temp;将dest的值放入FTFL_FCCOB123中,如果BlockBase的值不为0,是否会出问题?

附件是我的工程,在FRDM-KL25Z的板子上可以跑。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
头像被屏蔽

出0入0汤圆

发表于 2015-9-17 13:19:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2015-9-17 15:59:09 | 显示全部楼层
楼主你好!
你说代码死了,会出现怎样的问题?进hardfault还是怎样?
另外,你操作flash的时候,是否关闭了芯片中断?

出0入0汤圆

 楼主| 发表于 2015-9-18 10:26:35 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-9-17 15:59
楼主你好!
你说代码死了,会出现怎样的问题?进hardfault还是怎样?
另外,你操作flash的时候,是否关闭了 ...

果然是中断的问题,在commandsequence执行函数中加入开关中断就行了。
还有一个问题,在初始化flashSSDConfig这个全局变量时如果我使用的PFLASH_BLOCK_BASE不是0x00000000,这个时候在FlashEraseSector和FlashProgram的时候就会出错,原因是在FlashEraseSector.c和FlashProgram.c中最后放入FTFL_FCCOB1,2,3的地址都是相对于PFLASH_BLOCK_BASE的相对地址,而不是绝对地址,我把它改成绝对地址以后就可以了,这个请版主解释一下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-9-18 12:58:26 | 显示全部楼层
Michael_STM 发表于 2015-9-18 10:26
果然是中断的问题,在commandsequence执行函数中加入开关中断就行了。
还有一个问题,在初始化flashSSDCo ...

1,的确,目前遇到很多网友关于flash遇到的问题,通常就是两个原因导致,1)flash命令没放RAM;2)没关闭中断 , 后者占多数。
2,这个楼主可能没有仔细去读这个驱动的文档, 这里说明下:
PFlashBlockBase  uint32_t The base address of P-Flash memory
它是芯片Pflash的基地址,而对于KL25来讲,只有一个block,并且这个基地址一定是0,所以,你不能随便修改基地址。
这样要严格按照FSL_eNVM_FTFx_UM.pdf的文档操作。

出0入0汤圆

 楼主| 发表于 2015-9-18 14:32:22 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-9-18 12:58
1,的确,目前遇到很多网友关于flash遇到的问题,通常就是两个原因导致,1)flash命令没放RAM;2)没关闭 ...

感谢版主的回复。
我重新看了一下FSL_eNVM_FTFx_UM这个文档,确实有说明PFlashBlockBase是P-Flash基地址,PFlashBlockSize是P-Flash的大小,如果用C90TFS下的驱动文件就必须这么设置。
实际上FTFL_FCCOB1,2,3中还是对应的是Flash的绝对地址。

出0入0汤圆

发表于 2015-9-21 10:02:52 | 显示全部楼层
Michael_STM 发表于 2015-9-18 14:32
感谢版主的回复。
我重新看了一下FSL_eNVM_FTFx_UM这个文档,确实有说明PFlashBlockBase是P-Flash基地址 ...

对的。
驱动一定要严格按照要求去做,毕竟打包好的代码,不如自己直接控制寄存器命令那么灵活。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 03:47

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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