分享:K系列用到Dflash的同学注意,写的时候需要注意地址

2020-02-21 21:03发布

本帖最后由 wangpengcheng 于 2014-5-11 14:31 编辑

花了两天时间,才找到这个问题!在写与擦除Flash的时候,FTFL模块中的写Flash命令只有0~23位地址,而Dflash的地址是从0x10000000开始的,地址根本达不到,后来在DataSheet中终于发现一小行字:

Flash address [23] selects between program flash (=0) and data flash (=1) resources

我滴个神啊,只有一这行说明,试了一下,OK了!痛苦死了!

特此提醒一下各位同学,用的时候要小心一点哦!

我用的是MQX系统,驱动中没有Dflash操作,只有Pflash与flexRAM的操作,无奈之下改了驱动,在ftfl_flash_write_sector与ftfl_flash_erase_sector函数中将:

command_array[1] = (uint8_t)(write_addr >> 16) ;
语句改为:

command_array[1] = (uint8_t)(write_addr >> 16) | (uint8_t)(((write_addr >> 21) & 0x00000080));
希望对用MQX的同学有帮助!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
32条回答
rootxie
1楼-- · 2020-02-22 15:26
MQX是个什么操作系统?有神马介绍吗?
wangpengcheng
2楼-- · 2020-02-22 15:36
 精彩回答 2  元偷偷看……
wangpengcheng
3楼-- · 2020-02-22 18:07
FSL_TICS_ZJJ 发表于 2014-5-14 11:08
楼主说的这个地址位选择时Pflash还是Dflash的问题,确实文档中放的位置在小节的开始处,比较难发现。你2楼 ...

搞定了,才注意到MK20DX256中的PFlash扇区大小是2K,而DFalsh扇区大小是1K,五天的时间,得来的教训啊!

新建位图图像.jpg (30.21 KB, 下载次数: 0)

下载附件

2014-5-14 16:57 上传

FSL_TICS_ZJJ
4楼-- · 2020-02-22 19:31
wangpengcheng 发表于 2014-5-14 16:58
搞定了,才注意到MK20DX256中的PFlash扇区大小是2K,而DFalsh扇区大小是1K,五天的时间,得来的教训啊!
...

第三章一般都是很重要的,所以第三章需要先看。
很多在第三章讲的重要内容,在后面的章节不会讲,这个是RM的规律。
wangpengcheng
5楼-- · 2020-02-23 01:29
FSL_TICS_ZJJ 发表于 2014-5-14 17:07
第三章一般都是很重要的,所以第三章需要先看。
很多在第三章讲的重要内容,在后面的章节不会讲,这个是R ...

这回是血的教训,下次应该不会再有这样的问题出现了!经验值真是害人啊!
FSL_TICS_ZJJ
6楼-- · 2020-02-23 04:59
wangpengcheng 发表于 2014-5-14 17:09
这回是血的教训,下次应该不会再有这样的问题出现了!经验值真是害人啊! ...

下次有问题,我会帮你看的,呵呵!

一周热门 更多>