<?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>topic Hi Experts,      I have problem with EEPROM programming,... in CodeWarrior for MCU</title>
    <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Hi-Experts-I-have-problem-with-EEPROM-programming/m-p/136887#M1902</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;DIV&gt;Hi Experts,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; I have problem with EEPROM programming, I have code that will program a byte in EEPROM with the parameter send by calling function. But,when it execute, the routine will program the entire 512 bytes instead of just a byte. I confirm my EECR also set to write just 1 byte. My code are below, did my code wrong or is that some other bits in the register&amp;nbsp;I need set in proper way.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;unsigned char P_OTHER[10]&amp;nbsp;&amp;nbsp;&amp;nbsp; @0x00000800;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //eeprom address start here&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;unsigned char mydata;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;void&lt;BR /&gt;eeprom_write(unsigned char* add, unsigned char data) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;EECR = 0x06;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //eelat=1,auto terminate=1&lt;BR /&gt;&amp;nbsp;*add = data;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //byte to program&lt;BR /&gt;&amp;nbsp;EECR_EEPGM = active;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //turn on programming voltage&lt;BR /&gt;&amp;nbsp;while(EECR_EEPGM);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //wait until programing done&lt;BR /&gt;&amp;nbsp;EECR &amp;amp;= 0xFB;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //clear eelat and eepgm&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;void&lt;/DIV&gt;&lt;DIV&gt;funtion_one()&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; mydata = 'A';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; eeprom_write(&amp;amp;P_OTHER[5],mydata);&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;my EEDIV is set to 0x8056, my crystal running on 9.8304MHz. EEPROM clock is set bus clock.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Even my erase routine does the same. ex. when I erase&amp;nbsp;just a byte, it goes to entire eeprom array.&lt;/DIV&gt;&lt;DIV&gt;I notice all this when I debug the program in MON08.&amp;nbsp;Could you help me out on this.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks Guru's&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 15 Jun 2007 13:02:29 GMT</pubDate>
    <dc:creator>sureshkumar</dc:creator>
    <dc:date>2007-06-15T13:02:29Z</dc:date>
    <item>
      <title>Hi Experts,      I have problem with EEPROM programming,...</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Hi-Experts-I-have-problem-with-EEPROM-programming/m-p/136887#M1902</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;DIV&gt;Hi Experts,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; I have problem with EEPROM programming, I have code that will program a byte in EEPROM with the parameter send by calling function. But,when it execute, the routine will program the entire 512 bytes instead of just a byte. I confirm my EECR also set to write just 1 byte. My code are below, did my code wrong or is that some other bits in the register&amp;nbsp;I need set in proper way.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;unsigned char P_OTHER[10]&amp;nbsp;&amp;nbsp;&amp;nbsp; @0x00000800;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //eeprom address start here&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;unsigned char mydata;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;void&lt;BR /&gt;eeprom_write(unsigned char* add, unsigned char data) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;EECR = 0x06;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //eelat=1,auto terminate=1&lt;BR /&gt;&amp;nbsp;*add = data;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //byte to program&lt;BR /&gt;&amp;nbsp;EECR_EEPGM = active;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //turn on programming voltage&lt;BR /&gt;&amp;nbsp;while(EECR_EEPGM);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //wait until programing done&lt;BR /&gt;&amp;nbsp;EECR &amp;amp;= 0xFB;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //clear eelat and eepgm&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;void&lt;/DIV&gt;&lt;DIV&gt;funtion_one()&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; mydata = 'A';&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; eeprom_write(&amp;amp;P_OTHER[5],mydata);&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;my EEDIV is set to 0x8056, my crystal running on 9.8304MHz. EEPROM clock is set bus clock.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Even my erase routine does the same. ex. when I erase&amp;nbsp;just a byte, it goes to entire eeprom array.&lt;/DIV&gt;&lt;DIV&gt;I notice all this when I debug the program in MON08.&amp;nbsp;Could you help me out on this.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks Guru's&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Jun 2007 13:02:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/Hi-Experts-I-have-problem-with-EEPROM-programming/m-p/136887#M1902</guid>
      <dc:creator>sureshkumar</dc:creator>
      <dc:date>2007-06-15T13:02:29Z</dc:date>
    </item>
    <item>
      <title>Re: Hi Experts,      I have problem with EEPROM programming,...</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Hi-Experts-I-have-problem-with-EEPROM-programming/m-p/136888#M1903</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;Based on the clock speed you're using, I'm going to guess--and could be wrong--that you're trying to program a MC68HC908 derivative. You may want to consult the application note AA2295 which describes a serial bootloader that can handle EEPROM programming. The software is located in the zip file AA2295.zip.&lt;BR /&gt;&lt;BR /&gt;If I'm wrong on the MCU type, I apologize, but this just makes the case where we forum moderators ask:&lt;BR /&gt;&lt;BR /&gt;&lt;B&gt;When you describe your problem, please mention the MCU and CodeWarrior version you're using in the subject line, please!&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt;---Tom&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Jun 2007 21:36:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/Hi-Experts-I-have-problem-with-EEPROM-programming/m-p/136888#M1903</guid>
      <dc:creator>J2MEJediMaster</dc:creator>
      <dc:date>2007-06-15T21:36:16Z</dc:date>
    </item>
  </channel>
</rss>

