Created Wed, 10 Apr 2013 02:27:19 +0000 by Kirkess
Wed, 10 Apr 2013 02:27:19 +0000
I tried to use Dee Emulation code and got a Low Voltage Error after the DataEEInit().
Since EEPROM lib reads and writes, is there a number I can change in the source code to get over the low voltage error?
Sun, 28 Apr 2013 22:40:16 +0000
Can you post some links to Dee Emulation and the code you are trying to run?
Mon, 29 Apr 2013 17:31:18 +0000
The dee code is at: [url]http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en538000 [/url]
The source code is the example program. You have to delete the two lines that programs the configuration registers or else the mpde IDE will choke and return an internal file segmentation error.
Mon, 29 Apr 2013 22:31:19 +0000
Okay, next this begs the question what are you trying to accomplish? Maybe there is a "chipKIT" way that is easier to get working rather than use code meant to work with MPLAB. For example EEPROM.read() and EEPROM.write().
Mon, 29 Apr 2013 23:06:42 +0000
I like DEE Emulation because of the error indication, check sum, ....
EEPROM lib works but, gives no indication of problems unless one codes a class extension. I do not have time to extent EEPROM lib. I use it as written.
Tue, 30 Apr 2013 01:48:22 +0000
I don't know if you know this or not, but under the hood chipKIT EEPROM uses DEE . . . I believe.
Tue, 30 Apr 2013 05:51:05 +0000
I don't have the time to dissect EEPROM lib. Maybe in a few months I will find time to dissect it. Dee has been dropped as a solution.
Tue, 30 Apr 2013 21:10:57 +0000
I'm out of answers without spending more time on this than I have.
Mon, 24 Mar 2014 17:05:55 +0000
So it turns out that while some functions and source code may be have DEE in their names, chipKIT currently does NOT use Microchip's DEE library for EEPROM emulation. The reason is because we only have 1 flash block (1K words) on the MX/4/5/6/7 parts to work with (so as to not take up too much program space), and DEE needs at least 2 flash blocks to work.
So instead, there is a much simpler (and unfortunately not as efficient) EEPROM emulation algorithm used. And you are correct, there is almost no 'error' type information that is reported back up to the sketch from the library. This is a shame, as some of this information is available in the library. It just needs to be communicated back up to the sketch.