Author Topic: Bad microcontroller memory  (Read 4748 times)

0 Members and 1 Guest are viewing this topic.

Offline michaelymTopic starter

  • Regular Contributor
  • *
  • Posts: 65
Bad microcontroller memory
« on: November 11, 2012, 08:08:15 am »
I'm using a Silicon Labs c8051f124 microcontroller.
Here are my symptoms:
When I tried downloading my code, the Silabs IDE returned a message that the "CRC comparison failed'.
Next I tried a "Memory Fill" to fill the memory with all ones, and it failed too. When I checked the memory map a certain area of the memory doesn't get written.
I next tried another board and it worked fine.

My conclusion:
I have a bad flash memory in my microcontroller, and should swap out the chip.

Does anyone have other ideas?
 

Offline mrflibble

  • Super Contributor
  • ***
  • Posts: 2051
  • Country: nl
Re: Bad microcontroller memory
« Reply #1 on: November 11, 2012, 02:59:19 pm »
Curious results during flashing ==> Check check double check all your supply voltages. And your programmer. ;)

 

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 8550
  • Country: us
    • SiliconValleyGarage
Re: Bad microcontroller memory
« Reply #2 on: November 11, 2012, 07:10:54 pm »
you tried another board : identical board ? in that case the microcontroller could be bad.
check for missing decoupling caps close to the cpu. during flash the cpu neds to create the program voltage and draws peak currents. if the local decoupling caps are missing you can get flash program errors
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline michaelymTopic starter

  • Regular Contributor
  • *
  • Posts: 65
Re: Bad microcontroller memory
« Reply #3 on: November 12, 2012, 06:21:49 am »
Thank you for your responses

Yes I tried two different (identical) debug adapters and 3 identical boards, Only one board gave me the problem.
I will check the decoupling caps, although the same addresses go bad every time.
 

Online NiHaoMike

  • Super Contributor
  • ***
  • Posts: 9220
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: Bad microcontroller memory
« Reply #4 on: November 17, 2012, 06:21:11 am »
The chip is most likely bad, replace it.
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 8404
Re: Bad microcontroller memory
« Reply #5 on: November 17, 2012, 10:38:33 am »
Take care of the replacement too, be sure to follow ESD precautions.

An ESD event or supply glitch during the original programming could cause too much charge to be forced onto the floating gate, making the bit overprogrammed and "stuck" at 0. If the bits don't set after a few more erase cycles then they're gone for good.
 

Offline michaelymTopic starter

  • Regular Contributor
  • *
  • Posts: 65
Re: Bad microcontroller memory
« Reply #6 on: November 25, 2012, 09:27:56 am »
I replaced the chip and it's working fine now.
 

Offline michaelymTopic starter

  • Regular Contributor
  • *
  • Posts: 65
Re: Bad microcontroller memory
« Reply #7 on: November 29, 2012, 10:50:31 am »
Problem solved!

The program was using the code memory for storage. there was one variable being written once every second. So after a little more than 24 hours it went through enough wright cycles to fry those bits.
 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 8404
Re: Bad microcontroller memory
« Reply #8 on: November 30, 2012, 01:52:58 pm »
According to the datasheet, 20k minimum and 100k typical endurance... but in my experience I'd say 10k would be a safe limit.
 

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 16362
  • Country: za
Re: Bad microcontroller memory
« Reply #9 on: November 30, 2012, 05:56:48 pm »
It took me about 3 days to kill a flash memory on my EEEPC, used it as swap just to see how long it would last. After 2 days I had a good kernel dump on the screen, and it had locked up. Depowdered and checked the disk, fine, but had bad blocks......... not good on an EXT3 filesystem and with a swap partition as well. Wiped and installed Puppy on the new one.
 

Offline ivan747

  • Super Contributor
  • ***
  • Posts: 2046
  • Country: us
Bad microcontroller memory
« Reply #10 on: November 30, 2012, 07:06:00 pm »
It took me about 3 days to kill a flash memory on my EEEPC, used it as swap just to see how long it would last. After 2 days I had a good kernel dump on the screen, and it had locked up. Depowdered and checked the disk, fine, but had bad blocks......... not good on an EXT3 filesystem and with a swap partition as well. Wiped and installed Puppy on the new one.

I want to hack mine before it becomes too obsolete.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf