您的位置:首页 > 其它

PIC32MX 读写flash调试经验

2016-06-03 16:08 633 查看
  今天上午终于搞定PIC32 flash的读写,保存一般参数不需要添加外部EEPROM,非常简单,如果你了解了PIC32的存储器的虚拟地址与物理地址的映射。

在这里跟大家分享一下: flash的物理地址的起始地址是0x1d000000; 映射到虚拟内存地址0xBD00000。
在今天我调试过程中我犯了两个错误,导致白白花了一天的时间

1):在ICD调试代码的时候每次下载code都是要擦除整片flash。导致我上次写入flash中的数据与下次调试读出来的不匹配。

2):实验过程的时候将数据保存在0xBD000000后不远的地址处(其实是这部分地址是保存code用了),每次我去写数据的时候,肯定破坏了原来code,全速调试时工程奔溃。如图所示:


其中的0x98bc是code长度,如果我将参数保存在flash的0xBD000000-0XBD0098BC之间,这样flash写完之后,破话了原来的工程代码,运行之后出现错误)。我将参数保存到0xBD010000之后(0x10000>0x98bc),无论你怎么擦除,怎么修改,下次启动均能准确读取上次保存到数据 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PIC32 FLASH readwrit