<?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 Difficulties with non_volatile storage code AN11008 in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563486#M17153</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by JSalisbury on Tue Aug 23 08:34:23 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I am having some difficulties with the code supplied with the AN11008 application note. It would appear that this code was provided for the the Keil tool chain rather than LPCxpresso. I am having 2 particular problems;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1. there seems to be an issue with the use of __packed &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the lines &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; typedef __packed struct _Sector_Record
{
&amp;nbsp; UNSIGNED8 Flags1;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // flags indicate sector status
&amp;nbsp; UNSIGNED8 Reserved1[15];&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; // padding
&amp;nbsp; UNSIGNED8 Flags2;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // flags indicate sector status
&amp;nbsp; UNSIGNED8 Reserved2[15];&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; // padding
&amp;nbsp; UNSIGNED8 Flags3;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // flags indicate sector status
&amp;nbsp; UNSIGNED8 Reserved3[15];&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; // padding
} SECTOR_RECORD
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; needed __attribute__ and double brackets round __packed&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt; typedef __attribute__ ((__packed)) struct _Sector_Record
{
&amp;nbsp; UNSIGNED8 Flags1;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // flags indicate sector status
&amp;nbsp; UNSIGNED8 Reserved1[15];&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; // padding
&amp;nbsp; UNSIGNED8 Flags2;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // flags indicate sector status
&amp;nbsp; UNSIGNED8 Reserved2[15];&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; // padding
&amp;nbsp; UNSIGNED8 Flags3;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // flags indicate sector status
&amp;nbsp; UNSIGNED8 Reserved3[15];&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; // padding
} SECTOR_RECORD;
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2. I am getting undefined reference to `NVOL_GetVariable'&amp;nbsp;&amp;nbsp;&amp;nbsp; and also undefined reference to `NVOL_Init' Yet when I highlight them and then push F3 it does take me through to the source.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 22:19:15 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T22:19:15Z</dc:date>
    <item>
      <title>Difficulties with non_volatile storage code AN11008</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563486#M17153</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by JSalisbury on Tue Aug 23 08:34:23 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I am having some difficulties with the code supplied with the AN11008 application note. It would appear that this code was provided for the the Keil tool chain rather than LPCxpresso. I am having 2 particular problems;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1. there seems to be an issue with the use of __packed &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the lines &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; typedef __packed struct _Sector_Record
{
&amp;nbsp; UNSIGNED8 Flags1;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // flags indicate sector status
&amp;nbsp; UNSIGNED8 Reserved1[15];&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; // padding
&amp;nbsp; UNSIGNED8 Flags2;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // flags indicate sector status
&amp;nbsp; UNSIGNED8 Reserved2[15];&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; // padding
&amp;nbsp; UNSIGNED8 Flags3;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // flags indicate sector status
&amp;nbsp; UNSIGNED8 Reserved3[15];&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; // padding
} SECTOR_RECORD
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; needed __attribute__ and double brackets round __packed&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt; typedef __attribute__ ((__packed)) struct _Sector_Record
{
&amp;nbsp; UNSIGNED8 Flags1;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // flags indicate sector status
&amp;nbsp; UNSIGNED8 Reserved1[15];&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; // padding
&amp;nbsp; UNSIGNED8 Flags2;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // flags indicate sector status
&amp;nbsp; UNSIGNED8 Reserved2[15];&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; // padding
&amp;nbsp; UNSIGNED8 Flags3;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // flags indicate sector status
&amp;nbsp; UNSIGNED8 Reserved3[15];&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; // padding
} SECTOR_RECORD;
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2. I am getting undefined reference to `NVOL_GetVariable'&amp;nbsp;&amp;nbsp;&amp;nbsp; and also undefined reference to `NVOL_Init' Yet when I highlight them and then push F3 it does take me through to the source.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:19:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563486#M17153</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:19:15Z</dc:date>
    </item>
    <item>
      <title>Re: Difficulties with non_volatile storage code AN11008</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563487#M17154</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by CodeRedSupport on Tue Aug 23 23:57:35 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;There are a few notes on porting code to LPCXpresso in the following FAQs:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://support.code-red-tech.com/CodeRedWiki/PortingCodeOtherToolchains&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://support.code-red-tech.com/CodeRedWiki/PackedStructs&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;With regards to your undefined references, these are likely to be linker errors informing you that the object files containing these functions are not getting pulled in for the link step. I would suspect that these functions are maybe in a library project and you have not correctly configured your project to pull them in?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://support.code-red-tech.com/CodeRedWiki/UndefinedReference&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://support.code-red-tech.com/CodeRedWiki/LibraryProjects&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CodeRedSupport&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:19:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563487#M17154</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:19:16Z</dc:date>
    </item>
    <item>
      <title>Re: Difficulties with non_volatile storage code AN11008</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563488#M17155</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by JSalisbury on Wed Aug 24 03:14:35 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the feeback, issue 1. was addressed by the notes you mentioned. Issue 2. was fixed by going into the project properites-&amp;gt; C/C++ general -&amp;gt;paths and symbols -&amp;gt; source locations and adding the required directries.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am also now getting&amp;nbsp; the errors&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ../nxp_nonvol/flash_nvol.c:140:1: warning: 'at' attribute directive ignored&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;../nxp_nonvol/flash_nvol.c:141:1: warning: 'at' attribute directive ignored&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;also &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;c:/nxp/lpcxpresso_4.0.6_152/lpcxpresso/tools/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld.exe: flash_test.axf section `.bss' will not fit in region `RamLoc8'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;c:/nxp/lpcxpresso_4.0.6_152/lpcxpresso/tools/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld.exe: region `RamLoc8' overflowed by 1172 bytes&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;any suggestions?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
static UNSIGNED8 mSectorMemory1[SECTOR_SIZE] __attribute__((at(SECTOR1_STARTADDR)));
static UNSIGNED8 mSectorMemory2[SECTOR_SIZE] __attribute__((at(SECTOR2_STARTADDR)));
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:19:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563488#M17155</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:19:16Z</dc:date>
    </item>
    <item>
      <title>Re: Difficulties with non_volatile storage code AN11008</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563489#M17156</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by CodeRedSupport on Wed Aug 24 11:40:58 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: JSalisbury&lt;/STRONG&gt;&lt;BR /&gt;Hi,&lt;BR /&gt;Thanks for the feeback, issue 1. was addressed by the notes you mentioned. Issue 2. was fixed by going into the project properites-&amp;gt; C/C++ general -&amp;gt;paths and symbols -&amp;gt; source locations and adding the required directries.&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Sounds like you didn't create the directories containing these files as "source folders", and hence the IDE by default wouldn't build the code included in them.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;I am also now getting&amp;nbsp; the errors&lt;BR /&gt; ../nxp_nonvol/flash_nvol.c:140:1: warning: 'at' attribute directive ignored&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;The '[FONT=Courier New][SIZE=2]at[/SIZE][/FONT]' attribute is a Keil/RealView specific attribute and has no direct equivalent in GNU. In addition to the linker script FAQs you have been pointed at, take a look at:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://support.code-red-tech.com/CodeRedWiki/PlacingData&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In addition, this might be of interest....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://stackoverflow.com/questions/4067811/how-to-place-a-variable-at-a-given-address-in-gcc&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;c:/nxp/lpcxpresso_4.0.6_152/lpcxpresso/tools/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld.exe: region `RamLoc8' overflowed by 1172 bytes&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;Sounds like you have too much data to fit in the available memory! This is doubly dangerous as it also means that you have no memory for your stack.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;At a general level look at the following FAQ (though this is really aimed at too much code to fit in flash)....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://support.code-red-tech.com/CodeRedWiki/DebugBuildTooBig&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And if you have CRP enabled...&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://support.code-red-tech.com/CodeRedWiki/CodeSizeCRP&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CodeRedSupport&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:19:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563489#M17156</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:19:17Z</dc:date>
    </item>
    <item>
      <title>Re: Difficulties with non_volatile storage code AN11008</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563490#M17157</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mister_T on Sat May 02 02:18:24 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Using LPCxpresso 7.6.2 I had to do the following to get the flash_nvol files compiled:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-copy files flash_nvol.c and flash_nvol.h to your project.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-add #include "flash_nvol.h" to the main file of your project&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-remove ifdefs that are not for the MCU type you are using from the top of flash_nvol.c file&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-change CPU_CLK define to the clock frequency you are using in flash_nvol.c&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-add #include "board.h" to flash_nvol.c&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-remove defines for TRUE and FALSE from flash_nvol.h&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Change this set of code in flash_nvol.c:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// defines a sector record&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// members must be byte aligned&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// must be 48 bytes in size&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;typedef __packed struct _Sector_Record&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Flags1;&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; // flags indicate sector status&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Reserved1[15];&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; // padding&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Flags2;&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; // flags indicate sector status&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Reserved2[15];&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; // padding&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Flags3;&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; // flags indicate sector status&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Reserved3[15];&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; // padding&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} SECTOR_RECORD;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// defines a variable record&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// members must be byte aligned&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;typedef __packed struct _Variable_Record&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Flags;&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; // flags indicate variable status&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED16 Id;&amp;nbsp;&amp;nbsp; // unique variable id&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Data[MAX_VARIABLE_SIZE];&amp;nbsp;&amp;nbsp; // variable data&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Checksum;&amp;nbsp;&amp;nbsp; // 2's complement checksum of id and data&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} VARIABLE_RECORD;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;to this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// defines a sector record&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// members must be byte aligned&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// must be 48 bytes in size&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;typedef struct __attribute__ ((__packed__)) _Sector_Record&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Flags1;&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; // flags indicate sector status&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Reserved1[15];&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; // padding&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Flags2;&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; // flags indicate sector status&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Reserved2[15];&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; // padding&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Flags3;&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; // flags indicate sector status&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Reserved3[15];&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; // padding&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} SECTOR_RECORD;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// defines a variable record&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// members must be byte aligned&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;typedef struct __attribute__ ((__packed__)) _Variable_Record&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Flags;&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; // flags indicate variable status&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED16 Id;&amp;nbsp;&amp;nbsp; // unique variable id&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Data[MAX_VARIABLE_SIZE];&amp;nbsp;&amp;nbsp; // variable data&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; UNSIGNED8 Checksum;&amp;nbsp;&amp;nbsp; // 2's complement checksum of id and data&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} VARIABLE_RECORD;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Change these lines in flash_nvol.c&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// allocate memory for non-volatile memory so it isn't used by the linker&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// for something else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static UNSIGNED8 mSectorMemory1[SECTOR_SIZE] __attribute__((at(SECTOR1_STARTADDR)));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static UNSIGNED8 mSectorMemory2[SECTOR_SIZE] __attribute__((at(SECTOR2_STARTADDR))); &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// allocate memory for non-volatile memory so it isn't used by the linker&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// for something else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static __attribute__ ((section(".SECTOR1_STARTADDR"))) UNSIGNED8 mSectorMemory1[SECTOR_SIZE];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static __attribute__ ((section(".SECTOR2_STARTADDR"))) UNSIGNED8 mSectorMemory2[SECTOR_SIZE];&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Remove defines from flash_nvol.c:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//#define SECTOR1_STARTADDR 0x00002000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//#define SECTOR2_STARTADDR 0x00003000&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Check from your MCU manual for flash addresses, I placed mine to the end of the flash (0x6000 and 0x7000) flash sectors. Add these flash addresses to MCU Linker-Miscellaneous- other options- (found by right clicking on your project tree- properties- C/C++ build-settings-&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;like this (one entry for each line):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;--section-start=.SECTOR2_STARTADDR=0x6000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;--section-start=.SECTOR2_STARTADDR=0x7000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks to user curtvm for this hint!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;On the top of flash_nvol.c, change defines SECTOR1_NUM and SECTOR2_NUM to the numbers of the flash sectors you are using. These can be found from the MCU user manual under flash configuration.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I haven't tested in actual hardware if this works (since my board is still in the pcb shop), but at least it compiles and links without errors.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:19:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563490#M17157</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:19:18Z</dc:date>
    </item>
    <item>
      <title>Re: Difficulties with non_volatile storage code AN11008</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563491#M17158</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Gbrus on Fri Jan 22 08:35:33 MST 2016&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello mister_T,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for sharing your instruction how to port the flash_nvol library to LPCxpresso. That saved me a lot of time.&amp;nbsp; :) &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I can confirm that the library will work with this modifications. I use it on a LPC1768 with LPCxpresso v8.0.0.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:19:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563491#M17158</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:19:18Z</dc:date>
    </item>
    <item>
      <title>Re: Difficulties with non_volatile storage code AN11008</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563492#M17159</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by szempy on Mon Feb 22 02:57:25 MST 2016&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you it helped me a lot.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I would have a question.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;How can i set that the two variables are not initialized ?&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;
static __attribute__ ((section(".SECTOR1_STARTADDR"))) UNSIGNED8 mSectorMemory1[SECTOR_SIZE];
static __attribute__ ((section(".SECTOR2_STARTADDR"))) UNSIGNED8 mSectorMemory2[SECTOR_SIZE];
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When complied the variables are initialized with 0.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried to set it to the&amp;nbsp; .noinit.SECTOR1_STARTADDR but it set it to the address 0x10003808&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:19:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563492#M17159</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:19:19Z</dc:date>
    </item>
    <item>
      <title>Re: Difficulties with non_volatile storage code AN11008</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563493#M17160</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mister_T on Sun Mar 06 04:28:33 MST 2016&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;See the end of the post:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;"""&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Check from your MCU manual for flash addresses, I placed mine to the end of the flash (0x6000 and 0x7000) flash sectors. Add these flash addresses to MCU Linker-Miscellaneous- other options- (found by right clicking on your project tree- properties- C/C++ build-settings-&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;like this (one entry for each line):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;--section-start=.SECTOR1_STARTADDR=0x6000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;--section-start=.SECTOR2_STARTADDR=0x7000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;""""&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This should initialize the variables. &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:19:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563493#M17160</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:19:20Z</dc:date>
    </item>
    <item>
      <title>Re: Difficulties with non_volatile storage code AN11008</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563494#M17161</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by szempy on Fri Mar 25 03:34:27 MST 2016&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes that is my problem that the variable are initialized and the size of the bin file is bigger with this variables and are initialized with 0.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So i want them to not be initialized, so they size of the compiled bin file is smaller.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:19:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Difficulties-with-non-volatile-storage-code-AN11008/m-p/563494#M17161</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:19:20Z</dc:date>
    </item>
  </channel>
</rss>

