【MPC5744P】内部Flash读写

MPC5744P内部Flash相当大,除了存储代码,多余的空间还可以另作它用,例如参数存储,故障存储,当然,Bootloader也是依赖于Flash读写。

内部Flash的结构请参考上一篇关于Flash结构及启动原理的说明:https://blog.csdn.net/u010875635/article/details/85162135

读取:一次读取256位。

擦除:一次擦除一个block,无论是16KB、32KB、64KB抑或256KB

编程:内置flash存储可以通过word(32bits)或者double words(64bits)寻址编程,多个word或double words填充编程页缓存(256bits),使能page编程(256bits,4个double words)或者quadpage编程(1024bits,16个double words)。推荐的编程操作从64bits到1024bits,并且64bits对齐。

flash读写示例:https://download.csdn.net/download/u010875635/10872302

建议将示例中的Flash_Check_g注释掉,以便于支持2个32位数据编程,//ret = Flash_Check_g(startAddr,endAddr);

注意:

1、每组数据不能超过1024bits,否则会被截掉。

2、若是当前程序运行,则此partition不能被擦除,否则会死机。

MPC5744P的Flash按照地址空间分为LOW、MID、HIGH、First256K、Second256K(没有这么多256K空间,因此Second实际上一直是空的)。

LOW--not program, partition 0 and 1        
0x00800000-0x00803FFF --   16KB,EEPROM-low block0, RWW_P:0  
0x00804000-0x00807FFF --   16KB,EEPROM-low block1, RWW_P:0  
0x00F98000-0x00F9BFFF --   16KB,low flash memory block2, RWW_P:1
0x00F9C000-0x00F9FFFF --   16KB,low flash memory block3, RWW_P:1
                 
MID , partition 2 and 3            
0x00808000-0x0080FFFF --   32KB,EEPROM-mid block0, RWW_P:2  
0x00810000-0x00817FFF --   32KB,EEPROM-mid block1, RWW_P:3  
                 
HIGH, , partition 4 and 5        
  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 32
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值