<?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>LPC MicrocontrollersのトピックRe: Occasional problem with IAP EEPROM in LPC11U68</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636626#M25149</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank You, it is optimal solution.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 17 Oct 2016 20:49:41 GMT</pubDate>
    <dc:creator>pavelhudecek</dc:creator>
    <dc:date>2016-10-17T20:49:41Z</dc:date>
    <item>
      <title>Occasional problem with IAP EEPROM in LPC11U68</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636619#M25142</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;i use these functions:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #7f0055; font-size: small;"&gt;&lt;STRONG&gt;static&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; uint32_t iapCmd[5], iapRes[4];&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt;uint32_t &lt;STRONG&gt;iapEEread&lt;/STRONG&gt;(uint16_t eAdr, uint8_t *data, uint16_t bytes) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;iapCmd[0] = IAP_EEPROM_READ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;iapCmd[1] = (uint32_t) eAdr;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;iapCmd[2] = (uint32_t) data;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;iapCmd[3] = (uint32_t) bytes;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;iapCmd[4] = SystemCoreClock / 1000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;LED_d3=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;iap_entry(iapCmd, iapRes);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;LED_d3=0;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG style=": ; color: #7f0055; font-size: small;"&gt;return&lt;/STRONG&gt;&lt;SPAN style="font-size: small;"&gt; iapRes[0];&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt;uint32_t &lt;STRONG&gt;iapEEwrite&lt;/STRONG&gt;(uint16_t eAdr, uint8_t *data, uint16_t bytes) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;iapCmd[0] = IAP_EEPROM_WRITE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;iapCmd[1] = (uint32_t) eAdr;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;iapCmd[2] = (uint32_t) data;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;iapCmd[3] = (uint32_t) bytes;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;iapCmd[4] = SystemCoreClock / 1000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;LED_d3=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;iap_entry(iapCmd, iapRes);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;LED_d3=0;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG style=": ; color: #7f0055; font-size: small;"&gt;return&lt;/STRONG&gt;&lt;SPAN style="font-size: small;"&gt; iapRes[0];&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Usually it is working properly, but sometimes (approximately 10 % if hundreds bytes writed, for example 353 bytes, but not if tens bytes writed, and&amp;nbsp;2 incidents&amp;nbsp;in reading) a problem occurred:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Program&amp;nbsp;stops at&amp;nbsp;address 0xfffffffe, and LED stay ON.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;iap_entry is from romapi_11u6x.h&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;builded in &lt;/SPAN&gt;LPCXpresso v8.1.4 [Build 606] [2016-03-14]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SystemCoreClock is from startup set to 48000000.&lt;/SPAN&gt;&lt;SPAN&gt;LPC11U68JBD100 is on custom board, blocked with 100n+10n 0805 capacitors on every supply pins, and two 22uF caps near. Supplied from 3,0V LDO.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Oct 2016 14:56:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636619#M25142</guid>
      <dc:creator>pavelhudecek</dc:creator>
      <dc:date>2016-10-14T14:56:27Z</dc:date>
    </item>
    <item>
      <title>Re: Occasional problem with IAP EEPROM in LPC11U68</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636620#M25143</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN&gt;I've &lt;SPAN&gt;found&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; The problem is&lt;/SPAN&gt; &lt;SPAN&gt;caused by an interrupt.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Error not occurred afther these change:&lt;/SPAN&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LED_d3=1;&lt;/P&gt;&lt;P&gt;__disable_irq();&lt;/P&gt;&lt;P&gt;iap_entry(iapCmd, iapRes);&lt;/P&gt;&lt;P&gt;__enable_irq();&lt;/P&gt;&lt;P&gt;LED_d3=0;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;But this solution &lt;SPAN&gt;I dislike&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt; &lt;SPAN&gt;Functions&lt;/SPAN&gt; &lt;SPAN&gt;are&lt;/SPAN&gt; &lt;SPAN&gt;sometimes&lt;/SPAN&gt; &lt;SPAN&gt;called&lt;/SPAN&gt; &lt;SPAN&gt;upon&lt;/SPAN&gt; &lt;SPAN&gt;already&amp;nbsp;disabled&lt;/SPAN&gt; &lt;SPAN&gt;interrupt&lt;/SPAN&gt; &lt;SPAN&gt;and it is&lt;/SPAN&gt; &lt;SPAN&gt;undesirable&lt;/SPAN&gt; &lt;SPAN&gt;to be&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;enabled&lt;/SPAN&gt; &lt;SPAN&gt;in&lt;/SPAN&gt; &lt;SPAN&gt;this case&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;How can I&lt;/SPAN&gt; &lt;SPAN&gt;detect&lt;/SPAN&gt; &lt;SPAN&gt;whether&lt;/SPAN&gt; &lt;SPAN&gt;the interrupt is enabled&lt;/SPAN&gt; &lt;SPAN&gt;/ disabled&lt;/SPAN&gt;&lt;SPAN&gt;?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Oct 2016 17:09:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636620#M25143</guid>
      <dc:creator>pavelhudecek</dc:creator>
      <dc:date>2016-10-14T17:09:26Z</dc:date>
    </item>
    <item>
      <title>Re: Occasional problem with IAP EEPROM in LPC11U68</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636621#M25144</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;int __disable_irq(void); returns the value the IRQ interrupt mask has in the PSR before disabling IRQ interrupts.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So so check the return value to see if it was enabled or not...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Oct 2016 14:30:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636621#M25144</guid>
      <dc:creator>avt</dc:creator>
      <dc:date>2016-10-15T14:30:07Z</dc:date>
    </item>
    <item>
      <title>Re: Occasional problem with IAP EEPROM in LPC11U68</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636622#M25145</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you, but this is not working. If I try to find declaration of __disable_irq, I see this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #7f0055; font-size: small;"&gt;&lt;STRONG&gt;__attribute__&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt;( ( always_inline ) ) __STATIC_INLINE &lt;/SPAN&gt;&lt;STRONG style="color: #7f0055; font-size: small;"&gt;void&lt;/STRONG&gt;&lt;SPAN style="font-size: small;"&gt; __disable_irq(&lt;/SPAN&gt;&lt;STRONG style="color: #7f0055; font-size: small;"&gt;void&lt;/STRONG&gt;&lt;SPAN style="font-size: small;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: small;"&gt; __ASM &lt;/SPAN&gt;&lt;STRONG style="color: #7f0055; font-size: small;"&gt;volatile&lt;/STRONG&gt;&lt;SPAN style="font-size: small;"&gt; (&lt;/SPAN&gt;&lt;SPAN style="color: #2a00ff; font-size: small;"&gt;"cpsid i"&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt; : : : &lt;/SPAN&gt;&lt;SPAN style="color: #2a00ff; font-size: small;"&gt;"memory"&lt;/SPAN&gt;&lt;SPAN style="font-size: small;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Oct 2016 15:17:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636622#M25145</guid>
      <dc:creator>pavelhudecek</dc:creator>
      <dc:date>2016-10-15T15:17:03Z</dc:date>
    </item>
    <item>
      <title>Re: Occasional problem with IAP EEPROM in LPC11U68</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636623#M25146</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Solution found:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;__get_PRIMASK() returns 1/0 at depends on interrupt disabled/enabled.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Oct 2016 12:46:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636623#M25146</guid>
      <dc:creator>pavelhudecek</dc:creator>
      <dc:date>2016-10-17T12:46:09Z</dc:date>
    </item>
    <item>
      <title>Re: Occasional problem with IAP EEPROM in LPC11U68</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636624#M25147</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How can i mark this discussion as solved?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Oct 2016 13:06:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636624#M25147</guid>
      <dc:creator>pavelhudecek</dc:creator>
      <dc:date>2016-10-17T13:06:52Z</dc:date>
    </item>
    <item>
      <title>Re: Occasional problem with IAP EEPROM in LPC11U68</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636625#M25148</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I can't help with marking this topic as solved, but you probably want to try this out first anyway:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.lpcware.com/content/blog/lpc1100lpc1300-eeprom-library" title="https://www.lpcware.com/content/blog/lpc1100lpc1300-eeprom-library"&gt;LPC1100/LPC1300 EEPROM Library | www.LPCware.com&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(The link is to the obsolete LPCware site, can't find it in the new forum...)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After all, you don't have to disable interrupts for EEPROM access.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Oct 2016 14:46:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636625#M25148</guid>
      <dc:creator>ursaminor</dc:creator>
      <dc:date>2016-10-17T14:46:33Z</dc:date>
    </item>
    <item>
      <title>Re: Occasional problem with IAP EEPROM in LPC11U68</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636626#M25149</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank You, it is optimal solution.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Oct 2016 20:49:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Occasional-problem-with-IAP-EEPROM-in-LPC11U68/m-p/636626#M25149</guid>
      <dc:creator>pavelhudecek</dc:creator>
      <dc:date>2016-10-17T20:49:41Z</dc:date>
    </item>
  </channel>
</rss>

