View previous topic :: View next topic |
Author |
Message |
Ttelmah
Joined: 11 Mar 2010 Posts: 19538
|
|
Posted: Tue Jan 26, 2016 2:56 pm |
|
|
That only applies if you have the earliest A2 silicon revision. The versions for the last three years have had this fixed.....
If you have been sold A2 recently, you need to complain to your supplier. |
|
|
JAM2014
Joined: 24 Apr 2014 Posts: 138
|
|
Posted: Tue Jan 26, 2016 4:25 pm |
|
|
Hi Ttelmah,
These devices came from a reputable, high-volume supplier, Digi-Key, here in the US, about one month ago. The date code on the device is '1332HE8', which strikes me as a bit *old* assuming the '13' is 2013, and the '32' is the 32nd week of that year?
I assume that since my test program works like a charm with the 4MHz internal clock, and fails with the 8MHz internal clock (no other changes), that this implies old silicon? Agreed?
One other thing. I'm actually using the 'LF' version of this device. I don't know if that is relevant to this issue or not?
Jack |
|
|
newguy
Joined: 24 Jun 2004 Posts: 1909
|
|
Posted: Tue Jan 26, 2016 5:37 pm |
|
|
Can your programmer read the device ID and revision of the part? |
|
|
JAM2014
Joined: 24 Apr 2014 Posts: 138
|
|
Posted: Tue Jan 26, 2016 8:50 pm |
|
|
Hi,
I'm using the CCS U-64 ICD, and I can successfully read the Device ID, 3027h, but I don't recall seeing the silicon revision displayed in CCSLOAD. I'll have a look again tomorrow!
Jack |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19538
|
|
Posted: Wed Jan 27, 2016 1:58 am |
|
|
'13', would be just on the transition date for this being fixed.
Though DigiKey are 'high volume', most of the volume will come in big orders (people buying whole reels etc.). It's possible that they have a single reel they have been using for the 'small quantity' orders, and this is old....
The revision is one of those 'really easy to get at things'....
What you do, is read the chip.
Then go to 'File'
Open the 'Configuration/ID' tab.
There should be tick boxes for the configuration, and a table with the Config values. Then below this on the right of the screen, a table for 'ID'.
The revision is stored as part of the ID. You have a couple of bytes for the ID value, and then a couple for the revision. The read ID command only reads the ID, not the revision bytes.
The third byte, should be 3, 5 or 6. Only the '3' version should have this problem. |
|
|
epitalon
Joined: 11 Mar 2010 Posts: 11 Location: france
|
|
Posted: Wed Jan 27, 2016 4:25 am |
|
|
Hi JAM2014,
for some of my projects, I use a software library from Microchip that allows emulating an EEPROM in program flash.
I adapted it to CCS compiler.
Look at
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en538000
The main problem that I faced was :
I had to protect read and write from occurrence of interrupts, since CCS compiler does not save all registers when entering interrupt service.
Microchip C compiler does. |
|
|
JAM2014
Joined: 24 Apr 2014 Posts: 138
|
|
Posted: Mon Feb 01, 2016 11:20 am |
|
|
Hi All,
Thanks for all the help and suggestions! It turns out that I have a device with older silicon with the program memory writing issue with clocks > 4MHz. I've got some new silicon versions of this device on the way, so hopefully this issue will be fully resolved very soon!
Jack! |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19538
|
|
Posted: Mon Feb 01, 2016 11:30 am |
|
|
Hurrah.
Hope they get there soon. |
|
|
|