<?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 storing data in flash - lpc1114 in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/storing-data-in-flash-lpc1114/m-p/540124#M12001</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Badman on Thu Jan 30 05:09:02 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;Modeled on the code from the &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fcontent%2Fblog%2Fapplication-programming-iap-code-example" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.lpcware.com/content/blog/application-programming-iap-code-example&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
#include "iap_driver.h"
#include "driver_config.h"
#include "uart.h"

/* Flash offset where the configuration is stored */
#define CONFIG_FLASH_OFFSET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x1000
#define CONFIG_FLASH_SECTOR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONFIG_FLASH_OFFSET &amp;gt;&amp;gt; 12)
#define CONFIG_FLASH_SECTOR_SIZE&amp;nbsp;&amp;nbsp;&amp;nbsp; 1

#define CONFIG_FLASH_OFFSET2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x2000
#define CONFIG_FLASH_SECTOR2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONFIG_FLASH_OFFSET &amp;gt;&amp;gt; 12)
#define CONFIG_FLASH_SECTOR_SIZE2&amp;nbsp;&amp;nbsp;&amp;nbsp; 1


static uint8_t demo_messg[] = "Dane zapamietane przez IAP";
static uint8_t dana = 9;

int main(void)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; __e_iap_status iap_status;
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t *wsk;
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t liczba = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; char *tmp_tekst;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int8_t tmp[2];

&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTInit(115200);

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Init the IAP driver */
&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_init();

&amp;nbsp;&amp;nbsp;&amp;nbsp; // --- Zapamietanie demo_messg --- //

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Prepare the sector for erase */
&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_status = (__e_iap_status) iap_prepare_sector(CONFIG_FLASH_SECTOR,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONFIG_FLASH_SECTOR + CONFIG_FLASH_SECTOR_SIZE));
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Prepre error\n\r", sizeof("Prepre error\n\r") );


&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Erase the sector */
&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_status = (__e_iap_status) iap_erase_sector(CONFIG_FLASH_SECTOR,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONFIG_FLASH_SECTOR + CONFIG_FLASH_SECTOR_SIZE));
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Erase sector\n\r", sizeof("Erase sector\r\n") );


&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Prepare the sector for writing */
&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_status = (__e_iap_status) iap_prepare_sector(CONFIG_FLASH_SECTOR,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONFIG_FLASH_SECTOR + CONFIG_FLASH_SECTOR_SIZE));
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Prepre sector write error\n\r", sizeof("Prepre sector write error\n\r") );

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Write data to flash */
&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_status = (__e_iap_status) iap_copy_ram_to_flash(&amp;amp;demo_messg,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (void *)CONFIG_FLASH_OFFSET, 256);
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Write error\n\r", sizeof("Write error\n\r") );


&amp;nbsp;&amp;nbsp;&amp;nbsp; // --- Zapamietanie dana --- //
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Prepare the sector for erase */
&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_status = (__e_iap_status) iap_prepare_sector(CONFIG_FLASH_SECTOR2,
&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; (CONFIG_FLASH_SECTOR2 + CONFIG_FLASH_SECTOR_SIZE2));
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Prepre error\n\r", sizeof("Prepre error\n\r") );


&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Erase the sector */
&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_status = (__e_iap_status) iap_erase_sector(CONFIG_FLASH_SECTOR2,
&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; (CONFIG_FLASH_SECTOR2 + CONFIG_FLASH_SECTOR_SIZE2));
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Erase sector\n\r", sizeof("Erase sector\r\n") );

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Prepare the sector for writing */
&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_status = (__e_iap_status) iap_prepare_sector(CONFIG_FLASH_SECTOR2,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONFIG_FLASH_SECTOR2 + CONFIG_FLASH_SECTOR_SIZE2));
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Prepre sector write error\n\r", sizeof("Prepre sector write error\n\r") );


&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_status = (__e_iap_status) iap_copy_ram_to_flash(&amp;amp;dana,
&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; (void *)CONFIG_FLASH_OFFSET2, 256);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Write error\n\r", sizeof("Write error\n\r") );


&amp;nbsp;&amp;nbsp;&amp;nbsp; // --- Wyswietlenie tekstu zapamietanego --- ///
&amp;nbsp;&amp;nbsp;&amp;nbsp; wsk = (uint8_t *) CONFIG_FLASH_OFFSET;
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Zapamietany tekst: ", sizeof("Zapamietany tekst: ") );
&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp_tekst = wsk;
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( tmp_tekst, sizeof("Dane zapamietane przez IAP") );
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "\n\r", sizeof("\n\r") );

&amp;nbsp;&amp;nbsp;&amp;nbsp; // --- Wyswietlenie liczby zapamietanej --- ///
&amp;nbsp;&amp;nbsp;&amp;nbsp; wsk = (uint8_t *) CONFIG_FLASH_OFFSET2;
&amp;nbsp;&amp;nbsp;&amp;nbsp; liczba = *wsk;

&amp;nbsp;&amp;nbsp;&amp;nbsp; // zamiana liczby na tekst

&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp[0] = '0' + liczba;
&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp[1] ='\0';

&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Zapamietana liczba: ", sizeof("Zapamietana liczba: ") );
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( tmp, 2 );

&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( *wsk == 9)
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "dziewiec\n\r", sizeof("dziewiec\n\r") );
&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Nie dziewiec\n\r", sizeof("Nie dziewiec\n\r") );



&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {

&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0 ;
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Why is the second record of the dana not write succeeds:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
iap_status = (__e_iap_status) iap_copy_ram_to_flash(&amp;amp;dana,
&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; (void *)CONFIG_FLASH_OFFSET2, 256);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Write error\n\r", sizeof("Write error\n\r") )
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;Evry time iap_status != CMD_SUCCESS -&amp;nbsp; WHY ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When I comment out the code responsible for recording the demo_messg, record variable dana succeeds.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:41:48 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:41:48Z</dc:date>
    <item>
      <title>storing data in flash - lpc1114</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/storing-data-in-flash-lpc1114/m-p/540124#M12001</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Badman on Thu Jan 30 05:09:02 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;Modeled on the code from the &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fcontent%2Fblog%2Fapplication-programming-iap-code-example" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.lpcware.com/content/blog/application-programming-iap-code-example&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
#include "iap_driver.h"
#include "driver_config.h"
#include "uart.h"

/* Flash offset where the configuration is stored */
#define CONFIG_FLASH_OFFSET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x1000
#define CONFIG_FLASH_SECTOR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONFIG_FLASH_OFFSET &amp;gt;&amp;gt; 12)
#define CONFIG_FLASH_SECTOR_SIZE&amp;nbsp;&amp;nbsp;&amp;nbsp; 1

#define CONFIG_FLASH_OFFSET2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x2000
#define CONFIG_FLASH_SECTOR2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONFIG_FLASH_OFFSET &amp;gt;&amp;gt; 12)
#define CONFIG_FLASH_SECTOR_SIZE2&amp;nbsp;&amp;nbsp;&amp;nbsp; 1


static uint8_t demo_messg[] = "Dane zapamietane przez IAP";
static uint8_t dana = 9;

int main(void)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; __e_iap_status iap_status;
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t *wsk;
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t liczba = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; char *tmp_tekst;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int8_t tmp[2];

&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTInit(115200);

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Init the IAP driver */
&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_init();

&amp;nbsp;&amp;nbsp;&amp;nbsp; // --- Zapamietanie demo_messg --- //

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Prepare the sector for erase */
&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_status = (__e_iap_status) iap_prepare_sector(CONFIG_FLASH_SECTOR,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONFIG_FLASH_SECTOR + CONFIG_FLASH_SECTOR_SIZE));
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Prepre error\n\r", sizeof("Prepre error\n\r") );


&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Erase the sector */
&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_status = (__e_iap_status) iap_erase_sector(CONFIG_FLASH_SECTOR,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONFIG_FLASH_SECTOR + CONFIG_FLASH_SECTOR_SIZE));
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Erase sector\n\r", sizeof("Erase sector\r\n") );


&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Prepare the sector for writing */
&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_status = (__e_iap_status) iap_prepare_sector(CONFIG_FLASH_SECTOR,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONFIG_FLASH_SECTOR + CONFIG_FLASH_SECTOR_SIZE));
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Prepre sector write error\n\r", sizeof("Prepre sector write error\n\r") );

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Write data to flash */
&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_status = (__e_iap_status) iap_copy_ram_to_flash(&amp;amp;demo_messg,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (void *)CONFIG_FLASH_OFFSET, 256);
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Write error\n\r", sizeof("Write error\n\r") );


&amp;nbsp;&amp;nbsp;&amp;nbsp; // --- Zapamietanie dana --- //
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Prepare the sector for erase */
&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_status = (__e_iap_status) iap_prepare_sector(CONFIG_FLASH_SECTOR2,
&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; (CONFIG_FLASH_SECTOR2 + CONFIG_FLASH_SECTOR_SIZE2));
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Prepre error\n\r", sizeof("Prepre error\n\r") );


&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Erase the sector */
&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_status = (__e_iap_status) iap_erase_sector(CONFIG_FLASH_SECTOR2,
&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; (CONFIG_FLASH_SECTOR2 + CONFIG_FLASH_SECTOR_SIZE2));
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Erase sector\n\r", sizeof("Erase sector\r\n") );

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Prepare the sector for writing */
&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_status = (__e_iap_status) iap_prepare_sector(CONFIG_FLASH_SECTOR2,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONFIG_FLASH_SECTOR2 + CONFIG_FLASH_SECTOR_SIZE2));
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Prepre sector write error\n\r", sizeof("Prepre sector write error\n\r") );


&amp;nbsp;&amp;nbsp;&amp;nbsp; iap_status = (__e_iap_status) iap_copy_ram_to_flash(&amp;amp;dana,
&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; (void *)CONFIG_FLASH_OFFSET2, 256);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Write error\n\r", sizeof("Write error\n\r") );


&amp;nbsp;&amp;nbsp;&amp;nbsp; // --- Wyswietlenie tekstu zapamietanego --- ///
&amp;nbsp;&amp;nbsp;&amp;nbsp; wsk = (uint8_t *) CONFIG_FLASH_OFFSET;
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Zapamietany tekst: ", sizeof("Zapamietany tekst: ") );
&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp_tekst = wsk;
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( tmp_tekst, sizeof("Dane zapamietane przez IAP") );
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "\n\r", sizeof("\n\r") );

&amp;nbsp;&amp;nbsp;&amp;nbsp; // --- Wyswietlenie liczby zapamietanej --- ///
&amp;nbsp;&amp;nbsp;&amp;nbsp; wsk = (uint8_t *) CONFIG_FLASH_OFFSET2;
&amp;nbsp;&amp;nbsp;&amp;nbsp; liczba = *wsk;

&amp;nbsp;&amp;nbsp;&amp;nbsp; // zamiana liczby na tekst

&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp[0] = '0' + liczba;
&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp[1] ='\0';

&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Zapamietana liczba: ", sizeof("Zapamietana liczba: ") );
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( tmp, 2 );

&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( *wsk == 9)
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "dziewiec\n\r", sizeof("dziewiec\n\r") );
&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Nie dziewiec\n\r", sizeof("Nie dziewiec\n\r") );



&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {

&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0 ;
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Why is the second record of the dana not write succeeds:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
iap_status = (__e_iap_status) iap_copy_ram_to_flash(&amp;amp;dana,
&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; (void *)CONFIG_FLASH_OFFSET2, 256);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iap_status != CMD_SUCCESS)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UARTSend( "Write error\n\r", sizeof("Write error\n\r") )
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;Evry time iap_status != CMD_SUCCESS -&amp;nbsp; WHY ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When I comment out the code responsible for recording the demo_messg, record variable dana succeeds.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:41:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/storing-data-in-flash-lpc1114/m-p/540124#M12001</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:41:48Z</dc:date>
    </item>
  </channel>
</rss>

