Microchip
直播中

胡丹丹

7年用户 135经验值
私信 关注
[问答]

MPLABX/PICkit3擦除EEPROM

在我的PIC 18F26K22项目中,我需要在EEPROM中存储一些参数。直到我重新编程CPU为止,一切都很好;在我编写了一个新的代码之后,EEPROM就被擦除了。在ProjtualProjks:GPT中,CIPIT3- & GT;程序窗口的内存i设置:-手动选择内存和范围- EEPRO未检查-程序内存启动:0x000程序内存端:0x2FFF//I需要在EPROM中保留一些空间-保存EEPROM内存:检查我丢失了什么?谢谢

以上来自于百度翻译


      以下为原文

    In my project with a PIC 18F26K22 I need to store some parameters in EEPROM.
Everything works fine until I reprogram the CPU; after I program a new code, the EEPROM gets erased.

In the Project Properties -> PICkit3 -> Memories to program window I set:
- Manually select memories and ranges
- EEPROM: unchecked
- Program Memory Start: 0x0000
- Program Memory End: 0x2FFF  //I need to reserve some space in Eprom
- Preserve EEPROM Memory: checked

What am I missing ?
Thanks

回帖(2)

王山崎

2019-4-28 15:49:09
我将尝试3.55,但我怀疑问题/错误在别的地方。3.30个是6个月大的终端。这是一个基本的功能,成千上万的开发者使用EEPROM R/W;我不能想象有人在IDE中被EIDROM擦除而不大声尖叫。

以上来自于百度翻译


      以下为原文

   
I will try with 3.55, but I suspect the problem/error is somewhere else. The 3.30 is only 6 month old at the end.
This is a basic functionality and thousands of developers use EEPROM r/w; I can not think of people having the EEPROM erased by the IDE without screaming loud.
 
 
举报

王山崎

2019-4-28 15:55:54
解决了3.55,修改了PACKIT3设置,现在保存了EEPROM的内容。3.55介绍了如何设置编程参数,在3.30中缺失,并添加了一个新字段(EEPROM范围保存)的一些有用的注释。主要是由于我对W的误解。在我的第一篇文章中,我设置了:-EEPROM:未检查-保存EEPROM内存:CigKeDWORD I(可能)理解,这样的EEPROM内容是由IDE复制的,但是它不能重写内容,因为我不写这个区域。请注意,3.30并没有提出任何错误/建议,即操作是“愚蠢的”。用3.55的方式,以相同的方式设置字段,我得到一条消息,说明它不能按照上面的原因进行编程。我简单地设置:-EEPROM:检查-保存EEPROM存储器:CHECKDAN这没关系。微笑:但是…疯狂:这是另一个故事,应该有人介入:1。仍然有3.30我打开了开始页(以前从未使用过),看看我是否可以从内部更新IDE。当我试图登录到Microchip站点时,MPLABX崩溃了(挂起了完全不响应),而我不得不通过启动管理器关闭它。我试了好几次。2。我下载了3.55个:当它完成加载项目时,我得到了2条消息(XC8和XC16没有注册)(!)和1错误-与JavaMaCin和空指针有关的东西。结果是,这个项目根本无法编译。我复制了一个新文件夹中的所有文件,创建了一个新项目,最后它现在可以使用。3。我用最初的项目启动了3.30,它被破坏了(我认为是MaFIX文件),没有用。最后,我花了一个晚上的时间,没有写一行代码,只是为了让一个工具工作;一个应该让我更有效率的工具。我很失望。

以上来自于百度翻译


      以下为原文

    SOLVED 
Updated to 3.55, modified the PICkit3 setting and now the EEPROM contents are preserved.
The 3.55 introduced some useful notes on how to set the programming parameters, missing in the 3.30, and added a new field (EEPROM ranges to preserve).
 
The problem was mainly due to my misunderstanding of what those fields have to be compiled/selected.
As in my first post, I set:
- EEPROM: unchecked
- Preserve EEPROM Memory: checked
Now I (possibly) understand that in this way the EEPROM content is copied by the IDE, but it can not rewrite back the contents since I set not to write this area. Please note that the 3.30 does not raise any error/advice that the operation is 'stupid'.
With the 3.55, setting the fields in the same way, I got a message telling that it can not perform the programming as asked for the reason above.
I simply set:
- EEPROM: checked
- Preserve EEPROM Memory: checked
and this was ok. Smile:
 
...but mad:
This is another story, should someone is intererested in:
1. still with 3.30 I opened the Start Page (never used before) to see if I can update the IDE from inside itself. When I tried to login into Microchip site MPLABX crashed (hung up totally irresponsive) and I had to close it by Startup Manager. I tried several times.
2. I downloaded the 3.55: when it finished to load the project I got 2 messages (XC8 and XC16 are not registered (!?)) and 1 error - something related to the JavaMachine and a NULL pointer. The result was that the project can not be compiled, in no way. I copied all the files in a new folder, created a new project and finally it is now usable.
3. I launched the 3.30 with the original project, and it was corrupted (the makefile I think) and unuseful.
 
At the end, I spent one evening without writing a single line of code just to have a tool working; a tool which is supposed to make me more productive.
I'm disappointed.
 
 
 
举报

更多回帖

发帖
×
20
完善资料,
赚取积分