<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>8-bit MicrocontrollersのトピックRe: Hi,I am Using Freescale MC9S05DZ60 in my project,I want to allow backdoor key access  memory.The example Code is as follows :</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Hi-I-am-Using-Freescale-MC9S08DZ60-in-my-project-I-want-to-allow/m-p/482480#M21823</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I guess that your program_byte() routine is flash programming byte in flash. You shouldn't use it for backdoor unsecure.You need to write directly to backdoor key locations in flash as if they were RAM. But since flash is not readable while KEYACC is set, you need to manipulate KEYACC and write backdoor locations while executing from RAM or data EEPROM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Execute this from RAM or data EEPROM:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DisableInterrupts &lt;/P&gt;&lt;P&gt;FCNFG_KEYACC=1;&lt;/P&gt;&lt;P&gt;*(byte*)0xFFB0 = 0xC0; &lt;/P&gt;&lt;P&gt;*(byte*)0xFFB1 = 0xC1; &lt;/P&gt;&lt;P&gt;*(byte*)0xFFB2 = 0xC2; &lt;/P&gt;&lt;P&gt;*(byte*)0xFFB3 = 0xC3; &lt;/P&gt;&lt;P&gt;*(byte*)0xFFB4 = 0xC4; &lt;/P&gt;&lt;P&gt;*(byte*)0xFFB5 = 0xC5; &lt;/P&gt;&lt;P&gt;*(byte*)0xFFB6 = 0xC6; &lt;/P&gt;&lt;P&gt;*(byte*)0xFFB7 = 0xC7; &lt;/P&gt;&lt;P&gt;FCNFG_KEYACC=0;&lt;/P&gt;&lt;P&gt;EnableInterrupts &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After executing it, don't forget to start debug session in "Hotplug" mode. Backdoor key unsecure is effective until reset (or power cycle), which is performed by default by most of debuggers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Edward&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 23 May 2016 10:07:12 GMT</pubDate>
    <dc:creator>kef2</dc:creator>
    <dc:date>2016-05-23T10:07:12Z</dc:date>
    <item>
      <title>Hi,I am Using Freescale MC9S08DZ60 in my project,I want to allow backdoor key access  memory.The example Code is as follows :</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Hi-I-am-Using-Freescale-MC9S08DZ60-in-my-project-I-want-to-allow/m-p/482479#M21822</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;const volatile unsigned char NVPROT_INIT @0X0000FFBD=0XC0;&lt;/P&gt;&lt;P&gt;const volatile unsigned char NVPT_INIT&amp;nbsp;&amp;nbsp; @0X0000FFBF=0XFC;&lt;/P&gt;&lt;P&gt;const byte NVBACK_KEY0 @0x0000FFB0 = 0xC0;&lt;/P&gt;&lt;P&gt;const byte NVBACK_KEY1 @0x0000FFB1 = 0xC1;&lt;/P&gt;&lt;P&gt;const byte NVBACK_KEY2 @0x0000FFB2 = 0xC2;&lt;/P&gt;&lt;P&gt;const byte NVBACK_KEY3 @0x0000FFB3 = 0xC3;&lt;/P&gt;&lt;P&gt;const byte NVBACK_KEY4 @0x0000FFB4 = 0xC4;&lt;/P&gt;&lt;P&gt;const byte NVBACK_KEY5 @0x0000FFB5 = 0xC5;&lt;/P&gt;&lt;P&gt;const byte NVBACK_KEY6 @0x0000FFB6 = 0xC6;&lt;/P&gt;&lt;P&gt;const byte NVBACK_KEY7 @0x0000FFB7 = 0xC7;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define Program_Byte&amp;nbsp; PGM[21]=0X20;temp=((unsigned char(*)(unsigned int,unsigned char))(PGM))&lt;/P&gt;&lt;P&gt;volatile unsigned char PGM[59]=&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;0X87,0XC6,0X18,0X25,0XA5,0X10,0X27,0X08,0XC6,0X18,0X25,0XAA,0X10,0XC7,0X18,&lt;/P&gt;&lt;P&gt;0X25,0X9E,0XE6,0X01,0XF7,0XA6,0X20,0XC7,0X18,0X26,0X45,0X18,0X25,0XF6,0XAA,&lt;/P&gt;&lt;P&gt;0X80,0XF7,0X9D,0X9D,0X9D,0X9D,0X45,0X18,0X25,0XF6,0XF7,0XF6,0XA5,0X30,0X27,&lt;/P&gt;&lt;P&gt;0X04,0XA6,0XFF,0X20,0X07,0XC6,0X18,0X25,0XA5,0X40,0X27,0XF9,0X8A,0X81&lt;/P&gt;&lt;P&gt;};&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Decryption process：&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DisableInterrupts&lt;/P&gt;&lt;P&gt;FCNFG_KEYACC=1;&lt;/P&gt;&lt;P&gt;temp=Program_Byte(0XFFB0,0XC0);&lt;/P&gt;&lt;P&gt;temp=Program_Byte(0XFFB1,0XC1);&lt;/P&gt;&lt;P&gt;__RESET_WATCHDOG();&lt;/P&gt;&lt;P&gt;temp=Program_Byte(0XFFB2,0XC2);&lt;/P&gt;&lt;P&gt;temp=Program_Byte(0XFFB3,0XC3);&lt;/P&gt;&lt;P&gt;__RESET_WATCHDOG();&lt;/P&gt;&lt;P&gt;temp=Program_Byte(0XFFB4,0XC4);&lt;/P&gt;&lt;P&gt;temp=Program_Byte(0XFFB5,0XC5);&lt;/P&gt;&lt;P&gt;__RESET_WATCHDOG();&lt;/P&gt;&lt;P&gt;temp=Program_Byte(0XFFB6,0XC6);&lt;/P&gt;&lt;P&gt;temp=Program_Byte(0XFFB6,0XC6);&lt;/P&gt;&lt;P&gt;__RESET_WATCHDOG();&lt;/P&gt;&lt;P&gt;FCNFG_KEYACC=0;&lt;/P&gt;&lt;P&gt;EnableInterrupts&lt;/P&gt;&lt;P&gt;I find that is not useful to unsecure the chip.According to the database sheet,I have no idea to unsecure,Looking forward to your help，thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 May 2016 03:42:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Hi-I-am-Using-Freescale-MC9S08DZ60-in-my-project-I-want-to-allow/m-p/482479#M21822</guid>
      <dc:creator>少峰孙</dc:creator>
      <dc:date>2016-05-19T03:42:11Z</dc:date>
    </item>
    <item>
      <title>Re: Hi,I am Using Freescale MC9S05DZ60 in my project,I want to allow backdoor key access  memory.The example Code is as follows :</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Hi-I-am-Using-Freescale-MC9S08DZ60-in-my-project-I-want-to-allow/m-p/482480#M21823</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I guess that your program_byte() routine is flash programming byte in flash. You shouldn't use it for backdoor unsecure.You need to write directly to backdoor key locations in flash as if they were RAM. But since flash is not readable while KEYACC is set, you need to manipulate KEYACC and write backdoor locations while executing from RAM or data EEPROM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Execute this from RAM or data EEPROM:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DisableInterrupts &lt;/P&gt;&lt;P&gt;FCNFG_KEYACC=1;&lt;/P&gt;&lt;P&gt;*(byte*)0xFFB0 = 0xC0; &lt;/P&gt;&lt;P&gt;*(byte*)0xFFB1 = 0xC1; &lt;/P&gt;&lt;P&gt;*(byte*)0xFFB2 = 0xC2; &lt;/P&gt;&lt;P&gt;*(byte*)0xFFB3 = 0xC3; &lt;/P&gt;&lt;P&gt;*(byte*)0xFFB4 = 0xC4; &lt;/P&gt;&lt;P&gt;*(byte*)0xFFB5 = 0xC5; &lt;/P&gt;&lt;P&gt;*(byte*)0xFFB6 = 0xC6; &lt;/P&gt;&lt;P&gt;*(byte*)0xFFB7 = 0xC7; &lt;/P&gt;&lt;P&gt;FCNFG_KEYACC=0;&lt;/P&gt;&lt;P&gt;EnableInterrupts &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After executing it, don't forget to start debug session in "Hotplug" mode. Backdoor key unsecure is effective until reset (or power cycle), which is performed by default by most of debuggers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Edward&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 May 2016 10:07:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Hi-I-am-Using-Freescale-MC9S08DZ60-in-my-project-I-want-to-allow/m-p/482480#M21823</guid>
      <dc:creator>kef2</dc:creator>
      <dc:date>2016-05-23T10:07:12Z</dc:date>
    </item>
  </channel>
</rss>

