wangpengcheng 发表于 2014-5-11 14:25:29

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

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

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

Flash address 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 = (uint8_t)(write_addr >> 16) ;
语句改为:

command_array = (uint8_t)(write_addr >> 16) | (uint8_t)(((write_addr >> 21) & 0x00000080));
希望对用MQX的同学有帮助!

wangpengcheng 发表于 2014-5-11 18:08:49

痛苦啊,擦除还是不对,郁闷死了!

wajlh 发表于 2014-5-11 18:36:54

他的哪个MQX好用么?

wangpengcheng 发表于 2014-5-11 23:45:54

wajlh 发表于 2014-5-11 18:36
他的哪个MQX好用么?

熟悉过程比较烦,但熟悉后还是蛮好用的

FSL_TICS_ZJJ 发表于 2014-5-14 11:08:05

楼主说的这个地址位选择时Pflash还是Dflash的问题,确实文档中放的位置在小节的开始处,比较难发现。你2楼说的擦除还是不对,是还没有弄好吗?

wangpengcheng 发表于 2014-5-14 11:11:07

FSL_TICS_ZJJ 发表于 2014-5-14 11:08
楼主说的这个地址位选择时Pflash还是Dflash的问题,确实文档中放的位置在小节的开始处,比较难发现。你2楼 ...

用PE擦除已经可以了,但在MQX中,我还在找问题所以,呵呵,本来MQX中的Flashx的驱动中就没有DFlash的地址,我自己加的,目前是读写都没有问题,但擦除还是擦不掉,跟PE中的对比了一下,寄存器的值都是一样的,可就是擦不掉,还在找问题中。。。。。。。。。。。。

zndz410 发表于 2014-5-14 11:24:34

谢谢楼主的分亨。

rootxie 发表于 2014-5-14 12:56:10

MQX是个什么操作系统?有神马介绍吗?

wangpengcheng 发表于 2014-5-14 13:49:59

rootxie 发表于 2014-5-14 12:56
MQX是个什么操作系统?有神马介绍吗?

MQX是飞思卡尔出的一款免费的,开源的,操作系统,资料如下:

http://www.amobbs.com/forum.php?mod=viewthread&tid=5580558&page=1#pid7533516

wangpengcheng 发表于 2014-5-14 16:58:13

FSL_TICS_ZJJ 发表于 2014-5-14 11:08
楼主说的这个地址位选择时Pflash还是Dflash的问题,确实文档中放的位置在小节的开始处,比较难发现。你2楼 ...

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

FSL_TICS_ZJJ 发表于 2014-5-14 17:07:44

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

第三章一般都是很重要的,所以第三章需要先看。
很多在第三章讲的重要内容,在后面的章节不会讲,这个是RM的规律。

wangpengcheng 发表于 2014-5-14 17:09:26

FSL_TICS_ZJJ 发表于 2014-5-14 17:07
第三章一般都是很重要的,所以第三章需要先看。
很多在第三章讲的重要内容,在后面的章节不会讲,这个是R ...

这回是血的教训,下次应该不会再有这样的问题出现了!经验值真是害人啊!

FSL_TICS_ZJJ 发表于 2014-5-14 17:15:15

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

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

jiang887786 发表于 2014-9-4 11:09:45

感谢分享,收藏了。

rockyyangyang 发表于 2014-9-4 13:40:44

mark                        

rockyyangyang 发表于 2014-9-4 13:41:06

看到的都是你的帖子。。。。

wangpengcheng 发表于 2014-9-4 13:43:01

rockyyangyang 发表于 2014-9-4 13:41
看到的都是你的帖子。。。。

有经验就分享啊!

rockyyangyang 发表于 2014-9-4 13:47:06

wangpengcheng 发表于 2014-9-4 13:43
有经验就分享啊!

恩。自己经验太少了。我只参加过智能车跟国电赛的一个小小应届毕业生,都不敢跟坛子的大神说分享,
我向你们学习

wangpengcheng 发表于 2014-9-4 13:56:59

rockyyangyang 发表于 2014-9-4 13:47
恩。自己经验太少了。我只参加过智能车跟国电赛的一个小小应届毕业生,都不敢跟坛子的大神说分享,
我向 ...

一起学呗,我接触MQX也不到一年时间,呵呵,多看看,多动手,就好了!

rockyyangyang 发表于 2014-9-4 14:01:05

wangpengcheng 发表于 2014-9-4 13:56
一起学呗,我接触MQX也不到一年时间,呵呵,多看看,多动手,就好了!

可以,到时候可以请教你。
我发现KE02Z板子也好看。也想换一块来玩玩。飞币真是少的可怜

wangpengcheng 发表于 2014-9-4 14:03:57

rockyyangyang 发表于 2014-9-4 14:01
可以,到时候可以请教你。
我发现KE02Z板子也好看。也想换一块来玩玩。飞币真是少的可怜 ...

可以啊,呵呵,我也需要换块KE02的板了!

rockyyangyang 发表于 2014-9-4 14:05:02

wangpengcheng 发表于 2014-9-4 14:03
可以啊,呵呵,我也需要换块KE02的板了!

要是发的主题不能被申裤子,可以多少飞币啊?

wangpengcheng 发表于 2014-9-4 14:07:59

rockyyangyang 发表于 2014-9-4 14:05
要是发的主题不能被申裤子,可以多少飞币啊?

现在发一个帖27分,加COOL450分!回一帖9分!

rockyyangyang 发表于 2014-9-4 14:11:06

wangpengcheng 发表于 2014-9-4 14:07
现在发一个帖27分,加COOL450分!回一帖9分!

自己也想跟着大家一起发好贴,发一些自己做过的,但是,感觉自己做的太烂,不好意思分享

bbstr 发表于 2014-9-4 14:14:05

KE02的板子看起来确实不错,换来后,争取把gcc的全套环境给部署上,还是喜欢rtos+gcc的方式开发 kds,mdk的 都太臃肿了

wangpengcheng 发表于 2014-9-4 14:14:42

rockyyangyang 发表于 2014-9-4 14:11
自己也想跟着大家一起发好贴,发一些自己做过的,但是,感觉自己做的太烂,不好意思分享 ...

试着发出来,呵呵,大家可以一起讨论!

wangpengcheng 发表于 2014-9-4 14:15:18

bbstr 发表于 2014-9-4 14:14
KE02的板子看起来确实不错,换来后,争取把gcc的全套环境给部署上,还是喜欢rtos+gcc的方式开发 kds,mdk的 ...

GCC要自己写makefile,挺麻烦的说!

rockyyangyang 发表于 2014-9-4 14:16:35

wangpengcheng 发表于 2014-9-4 14:14
试着发出来,呵呵,大家可以一起讨论!

晚上回去在说!!!!

bbstr 发表于 2014-9-4 14:59:40

wangpengcheng 发表于 2014-9-4 14:15
GCC要自己写makefile,挺麻烦的说!

可以抄freertos里的makefile拿来用,以前弄msp430的时候就是那样干的,裸奔,抄一个makefile

wangpengcheng 发表于 2014-9-4 15:19:03

bbstr 发表于 2014-9-4 14:59
可以抄freertos里的makefile拿来用,以前弄msp430的时候就是那样干的,裸奔,抄一个makefile ...

我以前用AVR的时候用过GCC,只是有时候编译出了问题,还得在makefile里面找答案!资料也不多!

bbstr 发表于 2014-9-4 15:21:42

wangpengcheng 发表于 2014-9-4 15:19
我以前用AVR的时候用过GCC,只是有时候编译出了问题,还得在makefile里面找答案!资料也不多! ...

其实kds也是用的gcc+openocd的方式,只不过放到了eclipse这个大框架下面

wangpengcheng 发表于 2014-9-4 15:22:56

bbstr 发表于 2014-9-4 15:21
其实kds也是用的gcc+openocd的方式,只不过放到了eclipse这个大框架下面

是的,但是他有很多地方包起来了,自动配置了!省得我们再考虑什么!

franki 发表于 2014-9-4 16:55:20

路过看看      学习啦
页: [1]
查看完整版本: 分享:K系列用到Dflash的同学注意,写的时候需要注意地址