Join our technical discussions about Freescale Microcontrollers: M68HC12. (Freescale Semiconductor is a Subsidiary of Motorola).
|
Is there a way to guarantee that the contents of a block of internal RAM in a 68HC912DG128A MCU will not change value following either a MANUAL RESET, COP RESET, or CLOCK MONITOR RESET without using EEPROM to recover the value? I do not require that the memory hold its value after power is removed and upon initiation of power up RESET just the other reset modes. My efforts and testing has been unsuccessful so far. I have segmented a block of RAM from 2010 to 2015 and used NO_INIT in the Metrowerks (1.0) PRM file. SECTIONS NI_PAGE = NO_INIT 0x2010 TO 0x2015; RAM_PAGE = READ_WRITE 0x2016 TO 0x3FFF; [snip] PLACEMENT RTC_RAM INTO NI_PAGE; [snip] DEFAULT_RAM INTO RAM_PAGE; END While this keeps startup.c from zeroing the value, it still changes to the same incorrect and different value than during operation after a MANUAL RESET. Is this block of memory used in some way not obvious? Is the internal RAM in the MCU Static or Dynamic? Any help here would be appreciated Thanks This e-mail and any files transmitted with it (« Message ») are confidential and may contain privileged information. This Message is intended solely for the addressee(s). If you have received this Message in error, please inform us promptly by reply e-mail then delete the Message and destroy any printed copy of it. Any unauthorized use, review, retransmission, dissemination, distribution, printing or copying of this Message or any part thereof is strictly prohibited. E-mails are susceptible to alteration. Neither Technip-Coflexip nor any of its subsidiaries and affiliates shall be liable for the Message if altered, changed or falsified |
|
|
|
Steve The HC12 has static RAM. It does not change under RESET only on power down. There is some code in the processor, either yours ofr the compilerrs which is changing memory. Put a break on the code where the RESET gets processed and use your debugger to find out what is changing the RAM. Regards Dave Perreault Killingsworth, Steve wrote: >Is there a way to guarantee that the contents of a block of internal RAM in >a 68HC912DG128A MCU will not change value following either a MANUAL RESET, >COP RESET, or CLOCK MONITOR RESET without using EEPROM to recover the value? >I do not require that the memory hold its value after power is removed and >upon initiation of power up RESET just the other reset modes. > >My efforts and testing has been unsuccessful so far. I have segmented a >block of RAM from 2010 to 2015 and used NO_INIT in the Metrowerks (1.0) PRM >file. > >SECTIONS > NI_PAGE = NO_INIT 0x2010 TO 0x2015; > RAM_PAGE = READ_WRITE 0x2016 TO 0x3FFF; >[snip] > >PLACEMENT > RTC_RAM INTO NI_PAGE; > [snip] > DEFAULT_RAM INTO RAM_PAGE; >END > >While this keeps startup.c from zeroing the value, it still changes to the >same incorrect and different value than during operation after a MANUAL >RESET. > >Is this block of memory used in some way not obvious? > >Is the internal RAM in the MCU Static or Dynamic? > >Any help here would be appreciated > >Thanks >This e-mail and any files transmitted with it (« Message ») are confidential and may contain privileged information. >This Message is intended solely for the addressee(s). If you have received this Message in error, please inform us promptly by reply e-mail then delete the Message and destroy any printed copy of it. >Any unauthorized use, review, retransmission, dissemination, distribution, printing or copying of this Message or any part thereof is strictly prohibited. >E-mails are susceptible to alteration. Neither Technip-Coflexip nor any of its subsidiaries and affiliates shall be liable for the Message if altered, changed or falsified >-------------------------------------------------------- >To unsubscribe from this group, send an email to: >To learn more about Motorola Microcontrollers, please visit >http://www.motorola.com/mcu |
|
Thanks Dave, I moved the NO_INIT block to the TOP of RAM (0x3FFA-0x3FFF) and everything works great! The memory retains the value prior to the reset as it should. I did not attempt to figure out why the RAM from 0x2010-2015 is modified but it is being overwritten following any reset. I am using a modified version of the SDI debug pod stationary file - Codewarrior ver 1.0. I have always found it odd that the RAM start address is 0x2010 instead of 0x2000. I have assumed it was required for DBM. Does anyone know why this is the case? -----Original Message----- From: Dave Perreault [mailto:] Sent: Friday, June 06, 2003 9:12 PM To: Subject: Re: [68HC12] DG128A Internal RAM with NO_INIT PRM parameter Steve The HC12 has static RAM. It does not change under RESET only on power down. There is some code in the processor, either yours ofr the compilerrs which is changing memory. Put a break on the code where the RESET gets processed and use your debugger to find out what is changing the RAM. Regards Dave Perreault Killingsworth, Steve wrote: >Is there a way to guarantee that the contents of a block of internal RAM in >a 68HC912DG128A MCU will not change value following either a MANUAL RESET, >COP RESET, or CLOCK MONITOR RESET without using EEPROM to recover the value? >I do not require that the memory hold its value after power is removed and >upon initiation of power up RESET just the other reset modes. > >My efforts and testing has been unsuccessful so far. I have segmented a >block of RAM from 2010 to 2015 and used NO_INIT in the Metrowerks (1.0) PRM >file. > >SECTIONS > NI_PAGE = NO_INIT 0x2010 TO 0x2015; > RAM_PAGE = READ_WRITE 0x2016 TO 0x3FFF; >[snip] > >PLACEMENT > RTC_RAM INTO NI_PAGE; > [snip] > DEFAULT_RAM INTO RAM_PAGE; >END > >While this keeps startup.c from zeroing the value, it still changes to the >same incorrect and different value than during operation after a MANUAL >RESET. > >Is this block of memory used in some way not obvious? > >Is the internal RAM in the MCU Static or Dynamic? > >Any help here would be appreciated > >Thanks >This e-mail and any files transmitted with it (« Message ») are confidential and may contain privileged information. >This Message is intended solely for the addressee(s). If you have received this Message in error, please inform us promptly by reply e-mail then delete the Message and destroy any printed copy of it. >Any unauthorized use, review, retransmission, dissemination, distribution, printing or copying of this Message or any part thereof is strictly prohibited. >E-mails are susceptible to alteration. Neither Technip-Coflexip nor any of its subsidiaries and affiliates shall be liable for the Message if altered, changed or falsified >-------------------------------------------------------- >To unsubscribe from this group, send an email to: >To learn more about Motorola Microcontrollers, please visit >http://www.motorola.com/mcu -------------------------------------------------------- To unsubscribe from this group, send an email to: To learn more about Motorola Microcontrollers, please visit http://www.motorola.com/mcu This e-mail and any files transmitted with it (« Message ») are confidential and may contain privileged information. This Message is intended solely for the addressee(s). If you have received this Message in error, please inform us promptly by reply e-mail then delete the Message and destroy any printed copy of it. Any unauthorized use, review, retransmission, dissemination, distribution, printing or copying of this Message or any part thereof is strictly prohibited. E-mails are susceptible to alteration. Neither Technip-Coflexip nor any of its subsidiaries and affiliates shall be liable for the Message if altered, changed or falsified |
|
Steve The BDM itself does not require any RAM. I'd check with Metrowerks tech support to see what they are using the RAM for. Regards Dave Killingsworth, Steve wrote: >Thanks Dave, > >I moved the NO_INIT block to the TOP of RAM (0x3FFA-0x3FFF) and everything >works great! The memory retains the value prior to the reset as it should. >I did not attempt to figure out why the RAM from 0x2010-2015 is modified but >it is being overwritten following any reset. I am using a modified version >of the SDI debug pod stationary file - Codewarrior ver 1.0. I have always >found it odd that the RAM start address is 0x2010 instead of 0x2000. I have >assumed it was required for DBM. Does anyone know why this is the case? >-----Original Message----- >From: Dave Perreault [mailto:] >Sent: Friday, June 06, 2003 9:12 PM >To: >Subject: Re: [68HC12] DG128A Internal RAM with NO_INIT PRM parameter >Steve > >The HC12 has static RAM. It does not change under RESET only on power >down. There is some code in the processor, either yours ofr the >compilerrs which is changing memory. > >Put a break on the code where the RESET gets processed and use your >debugger to find out what is changing the RAM. > >Regards >Dave Perreault >Killingsworth, Steve wrote: > >>Is there a way to guarantee that the contents of a block of internal RAM in >>a 68HC912DG128A MCU will not change value following either a MANUAL RESET, >>COP RESET, or CLOCK MONITOR RESET without using EEPROM to recover the >> >> >value? >>I do not require that the memory hold its value after power is removed and >>upon initiation of power up RESET just the other reset modes. >> >>My efforts and testing has been unsuccessful so far. I have segmented a >>block of RAM from 2010 to 2015 and used NO_INIT in the Metrowerks (1.0) PRM >>file. >> >>SECTIONS >> NI_PAGE = NO_INIT 0x2010 TO 0x2015; >> RAM_PAGE = READ_WRITE 0x2016 TO 0x3FFF; >>[snip] >> >>PLACEMENT >> RTC_RAM INTO NI_PAGE; >>[snip] >> DEFAULT_RAM INTO RAM_PAGE; >>END >> >>While this keeps startup.c from zeroing the value, it still changes to the >>same incorrect and different value than during operation after a MANUAL >>RESET. >> >>Is this block of memory used in some way not obvious? >> >>Is the internal RAM in the MCU Static or Dynamic? >> >>Any help here would be appreciated >> >>Thanks >> >> >>This e-mail and any files transmitted with it (« Message ») are >> >> >confidential and may contain privileged information. >>This Message is intended solely for the addressee(s). If you have received >> >> >this Message in error, please inform us promptly by reply e-mail then delete >the Message and destroy any printed copy of it. >>Any unauthorized use, review, retransmission, dissemination, distribution, >> >> >printing or copying of this Message or any part thereof is strictly >prohibited. >>E-mails are susceptible to alteration. Neither Technip-Coflexip nor any of >> >> >its subsidiaries and affiliates shall be liable for the Message if altered, >changed or falsified >>-------------------------------------------------------- >>To unsubscribe from this group, send an email to: >> >> >>To learn more about Motorola Microcontrollers, please visit >>http://www.motorola.com/mcu >> >> >> >> >> >> >> >> >> > > > >-------------------------------------------------------- >To unsubscribe from this group, send an email to: >To learn more about Motorola Microcontrollers, please visit >http://www.motorola.com/mcu >This e-mail and any files transmitted with it (« Message ») are confidential and may contain privileged information. >This Message is intended solely for the addressee(s). If you have received this Message in error, please inform us promptly by reply e-mail then delete the Message and destroy any printed copy of it. >Any unauthorized use, review, retransmission, dissemination, distribution, printing or copying of this Message or any part thereof is strictly prohibited. >E-mails are susceptible to alteration. Neither Technip-Coflexip nor any of its subsidiaries and affiliates shall be liable for the Message if altered, changed or falsified >-------------------------------------------------------- >To unsubscribe from this group, send an email to: >To learn more about Motorola Microcontrollers, please visit >http://www.motorola.com/mcu [Non-text portions of this message have been removed] |