<?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 Re: LPC1347 EEPROM Source in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554537#M14784</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Bernd,&lt;/P&gt;&lt;P&gt;As for the local NXP office support offered by Brendon, you can contact me at &amp;lt;firstname&amp;gt;.&amp;lt;lastname&amp;gt;@nxp.com.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Rolf&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 14 Jul 2016 07:11:32 GMT</pubDate>
    <dc:creator>rolfmeeser</dc:creator>
    <dc:date>2016-07-14T07:11:32Z</dc:date>
    <item>
      <title>LPC1347 EEPROM Source</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554530#M14777</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;In a new project i use the LPC1347&lt;/P&gt;&lt;P&gt;this chip has an "internal eeprom" and i can use only the "internal ROM" function to access this memory. &lt;/P&gt;&lt;P&gt;because i dont want to disable the interrupts while reading or writing the EEPROM &lt;/P&gt;&lt;P&gt;i found the external LIB, which can linked to project. LIBEEPROM.a&lt;/P&gt;&lt;P&gt;For a risk analyse i have a problem with the internal and also for the external lib&lt;/P&gt;&lt;P&gt;because i have no source, it belongs the category "SOUP" (Software Of Unknown Provenance)&lt;/P&gt;&lt;P&gt;My Software at time dont use any SOUP, because it is an medical product.&lt;/P&gt;&lt;P&gt;Is there any way to get the Source Code for the LIB ?&lt;/P&gt;&lt;P&gt;Or can i get a description to the EEPROM registers of the Chip, to write my own code ?&lt;/P&gt;&lt;P&gt;I think it is not a secret code to write to EEPROMs, i do that every day&lt;/P&gt;&lt;P&gt;with external eeproms in an other projects.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;very thanks for information.&lt;/P&gt;&lt;P&gt;Bernd&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Jul 2016 08:51:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554530#M14777</guid>
      <dc:creator>berndsirozynski</dc:creator>
      <dc:date>2016-07-11T08:51:18Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1347 EEPROM Source</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554531#M14778</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check eeprom source code from LPC15xx LPCOpen library&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.nxp.com/products/software-and-tools/hardware-development-tools/lpcxpresso-boards/lpcopen-software-development-platform-lpc15xx:LPCOPEN-SOFTWARE-FOR-LPC15XX" title="http://www.nxp.com/products/software-and-tools/hardware-development-tools/lpcxpresso-boards/lpcopen-software-development-platform-lpc15xx:LPCOPEN-SOFTWARE-FOR-LPC15XX"&gt;LPCOpen Software for LPC15XX|NXP&lt;/A&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Jul 2016 00:43:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554531#M14778</guid>
      <dc:creator>dmitryf</dc:creator>
      <dc:date>2016-07-12T00:43:35Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1347 EEPROM Source</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554532#M14779</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Dmitry,&lt;/P&gt;&lt;P&gt;thanks for your answer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The LPC Open Library used the internal ROM Code of the Controller&lt;/P&gt;&lt;P&gt;the only documentation is : how to call the functions via IAP calls&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but it has no code dokumentation inside this function:&amp;nbsp; &lt;STRONG&gt;iap_entry(command, result);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i know how to use these functions and it works fine with the internal ROM&lt;/P&gt;&lt;P&gt;and also works fine with the linked libeeprom library.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but i looked for the inside code, or registers how it works.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Bernd&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Jul 2016 12:42:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554532#M14779</guid>
      <dc:creator>berndsirozynski</dc:creator>
      <dc:date>2016-07-12T12:42:26Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1347 EEPROM Source</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554533#M14780</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Bernd,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The IAP and ISP functions are implemented in ROM, for which NXP does not release source code, sorry.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NXP might be able to help you get through this situation for a medical application that has special requirements - please contact your local NXP office for help with that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Brendon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jul 2016 00:15:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554533#M14780</guid>
      <dc:creator>brendonslade</dc:creator>
      <dc:date>2016-07-13T00:15:10Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1347 EEPROM Source</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554534#M14781</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for the answer Brendon&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I find that very unfortunate, that the ROM code ist not open&lt;/P&gt;&lt;P&gt;What's so mysterious in that code :-)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It's just about the principle, Drivers ROM code must be open&lt;/P&gt;&lt;P&gt;This is my personal opinion.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maybe i contact NXP or i use external EEPROMs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Bernd&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jul 2016 06:57:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554534#M14781</guid>
      <dc:creator>berndsirozynski</dc:creator>
      <dc:date>2016-07-13T06:57:56Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1347 EEPROM Source</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554535#M14782</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Bernd,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can understand you might think that... but actually we have some "special sauce" in there to do with flash memory control and other items, so that's why we don't release it as a general rule.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The point about releasing some aspects related to boot behavior is a valid point, but we try to do that with written explanations.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Brendon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jul 2016 18:50:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554535#M14782</guid>
      <dc:creator>brendonslade</dc:creator>
      <dc:date>2016-07-13T18:50:28Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1347 EEPROM Source</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554536#M14783</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I have decide to test the library thorougly.&lt;/P&gt;&lt;P&gt;So i can verify the behavior and validate the functionality &lt;/P&gt;&lt;P&gt;The Testobject is the libeeprom-lpc1347.a Version 3&lt;/P&gt;&lt;P&gt;Today i have tested the generell functionality.&lt;/P&gt;&lt;P&gt;Read Write with different sizes and addresses.&lt;/P&gt;&lt;P&gt;Then i build a RAM block copy of the complete eeprom&lt;/P&gt;&lt;P&gt;and fill it with defied values.&lt;/P&gt;&lt;P&gt;This complete block was written to the eeprom.&lt;/P&gt;&lt;P&gt;the ram was cleared and all eeprom reading.&lt;/P&gt;&lt;P&gt;All test are succesfull.&lt;/P&gt;&lt;P&gt;then i have tested the last 64 Bytes of eeprom.&lt;/P&gt;&lt;P&gt;To do that i have programmed a serial terminal to access&lt;/P&gt;&lt;P&gt;to the complete menory.&lt;/P&gt;&lt;P&gt;The last 64 Bytes cant be written.&lt;/P&gt;&lt;P&gt;The read value is always 0x00.&lt;/P&gt;&lt;P&gt;The version number i can also read. result is "3"&lt;/P&gt;&lt;P&gt;Tomorroy i will continue some tests with interrupts etc.&lt;/P&gt;&lt;P&gt;If there is any problem in my tests i will write here.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Bernd&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jul 2016 21:18:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554536#M14783</guid>
      <dc:creator>berndsirozynski</dc:creator>
      <dc:date>2016-07-13T21:18:32Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1347 EEPROM Source</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554537#M14784</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Bernd,&lt;/P&gt;&lt;P&gt;As for the local NXP office support offered by Brendon, you can contact me at &amp;lt;firstname&amp;gt;.&amp;lt;lastname&amp;gt;@nxp.com.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Rolf&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Jul 2016 07:11:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554537#M14784</guid>
      <dc:creator>rolfmeeser</dc:creator>
      <dc:date>2016-07-14T07:11:32Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1347 EEPROM Source</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554538#M14785</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;a lot of test are running and i also loocked to the Assembler source:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Library includes:&lt;/P&gt;&lt;P&gt;EELIB_entry&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; external&lt;/P&gt;&lt;P&gt;EELIB_getVersion&amp;nbsp;&amp;nbsp;&amp;nbsp; external&lt;/P&gt;&lt;P&gt;EELIB_idleHandler&amp;nbsp;&amp;nbsp; external&lt;/P&gt;&lt;P&gt;_EEPROM_init&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal only&lt;/P&gt;&lt;P&gt;_EEPROM_write&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal only&lt;/P&gt;&lt;P&gt;_EEPROM_read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal only&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;library creation info: found in the library itself:&lt;/P&gt;&lt;P&gt;GCC: (GNU Tools for ARM Embedded Processors) 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 227977] A2aeabi (Cortex-M3)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Assembler code shows that the first action is to check the function WRITE or READ to eeprom&lt;/P&gt;&lt;P&gt;the order of the compare i think is not so good.&lt;/P&gt;&lt;P&gt;most accesses in EEPROMs is to the READ function, but the first compare ist to the write function&lt;/P&gt;&lt;P&gt;this eats unnecessary time :-)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;push {lr}&lt;/P&gt;&lt;P&gt;sub sp,#28&lt;/P&gt;&lt;P&gt;str r0,[sp,#4]&lt;/P&gt;&lt;P&gt;str r1,[sp,#0]&lt;/P&gt;&lt;P&gt;ldr r3,[sp,#4]&lt;/P&gt;&lt;P&gt;ldr r3,[r3,#0]&lt;/P&gt;&lt;P&gt;cmp r3,#61&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IAP command EELIB_IAP_COMMAND_EEPROM_WRITE&lt;/P&gt;&lt;P&gt;beq.n&amp;nbsp;&amp;nbsp; entry+34&lt;/P&gt;&lt;P&gt;ldr&amp;nbsp; r3,[sp,#4]&lt;/P&gt;&lt;P&gt;ldr&amp;nbsp; r3,[r3,#0]&lt;/P&gt;&lt;P&gt;cmp r3,#62&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IAP command EELIB_IAP_COMMAND_EEPROM_READ&lt;/P&gt;&lt;P&gt;beq.n&amp;nbsp; entry+34&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the EELIB_getVersion simply result a constant 3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;all the range checks i have tested are well done.&lt;/P&gt;&lt;P&gt;The latest eeprom address in the LPC1347 is 4096-64-1= 4031 adress range 0..4031 decimal&lt;/P&gt;&lt;P&gt;Access greater this address results in a&amp;nbsp; EELIB_IAP_STATUS_DST_ADDR_NOT_MAPPED error&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // write ablock of comlete EEPROM size (4032 Bytes)&lt;/P&gt;&lt;P&gt;&amp;nbsp; res = EE_Write(0,&amp;amp;value,4032);&amp;nbsp; // EELIB_IAP_STATUS_CMD_SUCCESS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // try to write 4033 Bytes (one byte to much)&lt;/P&gt;&lt;P&gt;&amp;nbsp; res = EE_Write(0,&amp;amp;value,4033);&amp;nbsp; // EELIB_IAP_STATUS_DST_ADDR_NOT_MAPPED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // write only to the latest eeprom address one byte&lt;/P&gt;&lt;P&gt;&amp;nbsp; res = EE_Write(4031,&amp;amp;value,1);&amp;nbsp; // EELIB_IAP_STATUS_CMD_SUCCESS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // write to the latest eeprom address 2 Bytes: (one byte above)&lt;/P&gt;&lt;P&gt;&amp;nbsp; res = EE_Write(4031,&amp;amp;value,2);&amp;nbsp; // EELIB_IAP_STATUS_DST_ADDR_NOT_MAPPED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // write to an eeprom address outside the address range */&lt;/P&gt;&lt;P&gt;&amp;nbsp; res = EE_Write(4050,&amp;amp;value,1);&amp;nbsp; // EELIB_IAP_STATUS_DST_ADDR_NOT_MAPPED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the eeprom write code i have stepped one by one the complete code and there is nothing&lt;/P&gt;&lt;P&gt;which change any interrupts to slow down the CPU.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the hook function is also tested. In the dead time while eeprom is written, it calls the&lt;/P&gt;&lt;P&gt;void EELIB_idleHandler (void)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am on the best way to validate the library :-)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Siro&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Jul 2016 12:22:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554538#M14785</guid>
      <dc:creator>berndsirozynski</dc:creator>
      <dc:date>2016-07-14T12:22:41Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1347 EEPROM Source</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554539#M14786</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;New tests for the libeeprom: write cycle timing and hook functionality&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the EEPROM is paged to 64 bytes each, so writes above the page boundary needs more time&lt;/P&gt;&lt;P&gt;one page write need typically 1100 write + 1800 erase = 2900 microsecond&amp;nbsp; as described in the datasheet.&lt;/P&gt;&lt;P&gt;my measeure can confirm that:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;New behavior of the hook function was found:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The hook function is called for every page write.&lt;/P&gt;&lt;P&gt;So if you write data only in one page, the hook was called one time&lt;/P&gt;&lt;P&gt;if you write bytes which ovelaps two pages the hook was called two times.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;examples:&lt;/P&gt;&lt;P&gt;EE_Write(62,&amp;amp;value,2);&amp;nbsp; time = 2092 µs&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 bytes, all in in the frist page&lt;/P&gt;&lt;P&gt;EE_Write(63,&amp;amp;value,2);&amp;nbsp; time = 5772 µs&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 bytes, first and secound page used&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;know: in the secound example the hook function was called two times.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so the hook function works very fine, but that was not found in the documention,&lt;/P&gt;&lt;P&gt;or i cant find it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="1" cellpadding="0" cellspacing="0" style="border: none; padding: 0 5.4pt 0 5.4pt;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;no of bytes written&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border: solid windowtext 1.0pt; border-left: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;time in microscound&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border: solid windowtext 1.0pt; border-left: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;EE pages = hook calls&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;2888&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;2891&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;2893&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;2895&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;10&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;2896&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;20&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;2905&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;50&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;2927&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;64&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;2937&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;65&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;5821&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;127&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;5869&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;128&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;5869&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;129&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;8752&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;192&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;8825&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;193&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;11708&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;255&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;11765&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;256&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;11732&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 0 5.4pt 0 5.4pt;" valign="top" width="208"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;257&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="221"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;14648&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="190"&gt;&lt;P style="margin-bottom: .0001pt;"&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a good weekend&lt;/P&gt;&lt;P&gt;Siro&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Jul 2016 07:59:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1347-EEPROM-Source/m-p/554539#M14786</guid>
      <dc:creator>berndsirozynski</dc:creator>
      <dc:date>2016-07-15T07:59:17Z</dc:date>
    </item>
  </channel>
</rss>

