分享: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条回答
wangpengcheng
1楼-- · 2020-02-24 14:39
rockyyangyang 发表于 2014-9-4 14:11
自己也想跟着大家一起发好贴,发一些自己做过的,但是,感觉自己做的太烂,不好意思分享 ...

试着发出来,呵呵,大家可以一起讨论!
wangpengcheng
2楼-- · 2020-02-24 20:02
bbstr 发表于 2014-9-4 14:14
KE02的板子看起来确实不错,换来后,争取把gcc的全套环境给部署上,还是喜欢rtos+gcc的方式开发 kds,mdk的 ...

GCC要自己写makefile,挺麻烦的说!
rockyyangyang
3楼-- · 2020-02-25 00:44
wangpengcheng 发表于 2014-9-4 14:14
试着发出来,呵呵,大家可以一起讨论!

晚上回去在说!!!!
bbstr
4楼-- · 2020-02-25 04:54
 精彩回答 2  元偷偷看……
wangpengcheng
5楼-- · 2020-02-25 08:44
bbstr 发表于 2014-9-4 14:59
可以抄freertos里的makefile拿来用,以前弄msp430的时候就是那样干的,裸奔,抄一个makefile ...

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

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

一周热门 更多>