<?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: IAP flash algorithm gives hard fault on LPC5410x board</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556063#M15086</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mbilal on Thu Feb 19 02:09:52 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That's a anwser of my asked qusetion.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for great help on this issue.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:55:41 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:55:41Z</dc:date>
    <item>
      <title>IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556045#M15068</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mbilal on Fri Dec 26 02:38:41 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I wrote IAP flash algorithm for LPC5410 512K Flash board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I always get a hard fault on &lt;/SPAN&gt;&lt;STRONG&gt;preparing a single scetor&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp; or any other IAP command.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Below is my code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Total number of command.&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define COMMAND_LENGTH 5&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Total number of return status.&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define RESULT_LENGTH&amp;nbsp; 5&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define COMMAND_PREPARE 50&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define COMMAND_PROGRAM 51&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define COMMAND_ERASE&amp;nbsp;&amp;nbsp; 52&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define COMMAND_PAGE_ERASE&amp;nbsp; 59&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define COMMAND_PART_NUMBER 54&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Define the IAP location entry point.&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define IAP_LOCATION 0x03000204&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Setting the function pointer that takes IAP command table and result table pointers.&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;typedef void (*iap) (unsigned int *, unsigned int *);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned int lpc5410x_prepare_sector (unsigned int sector)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; unsigned int command[COMMAND_LENGTH];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; unsigned int result[RESULT_LENGTH];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; iap iap_entry = (iap) IAP_LOCATION;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; command[0] = COMMAND_PREPARE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; command[1] = sector;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; command[2] = sector;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; (*iap_entry) (command, result);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; printf("The result of prepared sector number (%d)&amp;nbsp; is&amp;nbsp; %d", sector, result[0]);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return result[0];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;static __inline__ unsigned int __attribute__ ((always_inline))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lpc5410x_page_erase (unsigned int sector)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; unsigned int command[COMMAND_LENGTH];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; unsigned int result[RESULT_LENGTH];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; iap iap_entry = (iap) IAP_LOCATION;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; command[0] = COMMAND_PAGE_ERASE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; command[1] = sector;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; command[2] = sector;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; iap_entry (command, result);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; printf("The result of page erase number (%d)&amp;nbsp; is&amp;nbsp; %d", sector, result[0]);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return result[0];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Erase sector SECTOR.&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;static __inline__ unsigned int __attribute__ ((always_inline))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lpc5410x_erase_sector (unsigned int sector)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; unsigned int command[COMMAND_LENGTH];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; unsigned int result[RESULT_LENGTH];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; iap iap_entry = (iap) IAP_LOCATION;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; command[0] = COMMAND_ERASE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; command[1] = sector;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; command[2] = sector;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; iap_entry (command, result);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; printf("The result of erase sector number (%d)&amp;nbsp; is&amp;nbsp; %d", sector, result[0]);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return result[0];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;static __inline__ unsigned int __attribute__ ((always_inline))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lpc5410x_part_number ()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; unsigned int command[COMMAND_LENGTH];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; unsigned int result[RESULT_LENGTH];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; iap iap_entry = (iap) IAP_LOCATION;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; command[0] = COMMAND_PART_NUMBER;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; iap_entry (command, result);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; printf("The result of part identification number is&amp;nbsp; %d",result[0]);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return result[0];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;static __inline__ unsigned int __attribute__ ((always_inline))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lpc5410x_program_sector (unsigned int dest, unsigned int src, unsigned int len)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; unsigned int command[COMMAND_LENGTH];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; unsigned int result[RESULT_LENGTH];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; iap iap_entry = (iap) IAP_LOCATION;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; command[0] = COMMAND_PROGRAM;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; command[1] = dest;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; command[2] = src;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; command[3] = len;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; iap_entry (command, result);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return result[0];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;int main ()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lpc5410x_prepare_sector (1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// Erase a single sector&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lpc5410x_erase_sector(1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;return 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I also saved top 32 bytes of SRAM space for this and set voltage with Power API command.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I always got Hard fault at line (below) of every command.&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG&gt;iap_entry (command, result);&lt;BR /&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is IAP_Location 0x03000204 has been described correct in LPC5410x manual or I'am doing something wrong.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Please help me on this regard.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It will be very appreciated.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556045#M15068</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:31Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556046#M15069</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by DF9DQ on Fri Dec 26 09:14:40 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Can you try with this small modification?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; #define IAP_LOCATION 0x0300020&lt;/SPAN&gt;&lt;STRONG&gt;5&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thumb addresses are odd values!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556046#M15069</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:31Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556047#M15070</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Fri Dec 26 09:47:19 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: mbilal&lt;/STRONG&gt;&lt;BR /&gt;Please help me on this regard.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; :quest: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPCOpen IAP sample&amp;nbsp; &lt;SPAN class="lia-unicode-emoji" title=":winking_face:"&gt;&lt;LI-EMOJI id="lia_winking-face" title=":winking_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;romapi_5410x.h:&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;/* Pointer to ROM IAP entry functions */
#define IAP_ENTRY_LOCATION&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x03000205
&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 19:55:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556047#M15070</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:32Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556048#M15071</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mbilal on Mon Dec 29 08:40:01 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks R2D2&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;After setting the IAP_ENTRY_LOCATION to 0x03000205 works for me.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556048#M15071</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:33Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556049#M15072</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mbilal on Mon Dec 29 08:45:15 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Seeing during IAP command of "Erase Sector" and "Copy RAM to flash", I can set the "CPU Clock Frequency in KHz" but this is not mentioned in User Manual.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think user Manual should be updated with above mentioned IAP command.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556049#M15072</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:33Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556050#M15073</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by lpcxpresso-support on Mon Dec 29 10:29:52 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;AFAIK, this parameter is not used for the LPC5410x family and is ignored, which is why it is not mentioned in the User Manual.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;However, we will ask a colleague to confirm.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556050#M15073</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:34Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556051#M15074</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mbilal on Tue Dec 30 07:42:14 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I have two LPC5410 512K board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;On both Board I can apply IAP, but sector "0" is not being effected by any IAP command (i.e sector erase and copy ram to flash).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;After Erase the whole flash still sector "0" from the begnning is not erased and flashed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Sector "0" is showing always following fix contents of memory&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;(gdb) x/100x 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x0 &amp;lt;_ftext&amp;gt;:0x02003fe00x030000b10x030002610x03000263&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x10 &amp;lt;_ftext+16&amp;gt;:0x030002650x030002670x030002690xffffffff&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x20 &amp;lt;_ftext+32&amp;gt;:0xffffffff0xffffffff0xffffffff0x0300026b&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x30 &amp;lt;_ftext+48&amp;gt;:0x0300026d0xffffffff0x0300026f0x03000271&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x40 &amp;lt;_ftext+64&amp;gt;:0xffffffff0xffffffff0xffffffff0xffffffff&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x50 &amp;lt;_ftext+80&amp;gt;:0xffffffff0xffffffff0xffffffff0xffffffff&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x60 &amp;lt;_ftext+96&amp;gt;:0xffffffff0xffffffff0xffffffff0xffffffff&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x70 &amp;lt;_ftext+112&amp;gt;:0xffffffff0xffffffff0xffffffff0xffffffff&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x80 &amp;lt;_ftext+128&amp;gt;:0xffffffff0xffffffff0xffffffff0xffffffff&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x90 &amp;lt;_ftext+144&amp;gt;:0xffffffff0xffffffff0xffffffff0xffffffff&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0xa0 &amp;lt;_ftext+160&amp;gt;:0xffffffff0xffffffff0xffffffff0xffffffff&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0xb0 &amp;lt;_ftext+176&amp;gt;:0x47104a000x030000b90x492025010x48214b1e&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0xc0 &amp;lt;_ftext+192&amp;gt;:0x700a68020x4c240a120x601a43220x68014819&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0xd0 &amp;lt;_ftext+208&amp;gt;:0x40514a220x6819d0060xd10a40290x46852000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0xe0 &amp;lt;_ftext+224&amp;gt;:0xe7fdbf300x402968190x2000d0030xbf304685&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0xf0 &amp;lt;_ftext+240&amp;gt;:0x4a13e7fd0x681b4b140x682d4d150x68364e15&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x100 &amp;lt;_ftext+256&amp;gt;:0x42ac681c0x42b4d0010x4c10d1010x60146824&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x110 &amp;lt;_ftext+272&amp;gt;:0x68124a060x46953a1f0x47104a050x468d6801&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x120 &amp;lt;__cs3_reset_flash_works+12&amp;gt;:0x470868410x468d68010x470868410x03000178&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x130 &amp;lt;__cs3_reset_flash_works+28&amp;gt;:0x030004830xe000ed000x400003000x400003d4&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x140 &amp;lt;__cs3_start_c+8&amp;gt;:0x400003f00x018004700x030001600x03000164&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x150 &amp;lt;__cs3_start_c+24&amp;gt;:0x030001680x0300016c0xc0c480000x410cc601&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x160 &amp;lt;__cs3_start_c+40&amp;gt;:0x000002fc0x876543210x432187650x12345678&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x170 &amp;lt;__cs3_start_c+56&amp;gt;:0x3456abcd0xff6401420x02003fff0xffffffff&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x180 &amp;lt;__cs3_start_c+72&amp;gt;:0xffffffff0xffffffff0xffffffff0xffffffff&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(gdb)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x190 &amp;lt;_start&amp;gt;:0xffffffff0xffffffff0xffffffff0xffffffff&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x1a0 &amp;lt;deregister_tm_clones&amp;gt;:0xffffffff0xffffffff0xffffffff0xffffffff&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Allother sectors are being erased and flashed otherthan sector "0".&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Could you please guide me that is actually a hardware problem or some software setting is require to fix this problem?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556051#M15074</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:34Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556052#M15075</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by lpcxpresso-support on Tue Dec 30 10:07:04 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;There is no difference in using IAP to program sector 0 to programming any other sector, which, if it doesn't work, implies you have a bug in your code.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556052#M15075</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:35Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556053#M15076</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mbilal on Tue Dec 30 21:52:54 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;OK, I see that first 512 bytes of sector "0" always has same contents as&amp;nbsp; first 512 bytes on Boot ROM at location 0x03000000.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there require any register bit setting to avoid such mapping of memory?&amp;nbsp; &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556053#M15076</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:35Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556054#M15077</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mbilal on Wed Dec 31 00:12:26 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I found in old NXP LPC11xx user manaul that "System memory remap register" is used to remapping the memory, but there is no discription memtioned about this register in LPC5410x user manual.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If I set 0x40000000 = 0x00000002 then sector 0 is being erase and flash easily.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556054#M15077</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:36Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556055#M15078</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by lpcxpresso-support on Wed Dec 31 03:11:43 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;If you look in the Peripheral view you will see that 0x40000000 is the SYSMEMREMAP register in SYSCON peripheral. For some reason this is not documented in UM10850 - I will ask the docs team to fix this.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The ROM-based boot loader will set the to USER_FLASH (0x2) before starting your code. Having a value of 0 implies that either the bootloader did not finish, or that something in your code is writing this value (I suspect the latter)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556055#M15078</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:36Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556056#M15079</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by dztang on Thu Jan 29 13:11:32 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;The system clock parameter (in KHz) is needed on LPC541xx. It's a cut-paste error on the Users Manual.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556056#M15079</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:37Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556057#M15080</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by usb10185 on Thu Jan 29 13:56:43 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Just to clarify; In the IAP commands "Erase Sector" and "Copy RAM to flash", the "CPU Clock Frequency in KHz" parameter is needed. This was omitted from the UM but will be added back in the next release.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ken&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556057#M15080</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:37Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556058#M15081</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mbilal on Tue Feb 17 03:03:35 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'am facing very strange problem in IAP flash algorithm for LPC5410 512K board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I wrote IAP flash algorithm that can successfully flash or erase the full 512K flash memory. I am setting "System memory remap register"&amp;nbsp; to 0x2 value for using flash memory in user mode (without setting this flag first 512 bytes of FLASH maps on bottloader memory).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But problem is that flashing application never run again if I reset the target.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I observed that it is becasue, of on reset board again set the&amp;nbsp; "System memory remap register" to default value "0x0" and flasing application fail to run again. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there any machanism to control to set ""System memory remap register"" to value 0x0 after reset , so that flashed appliaction can always run without any problems? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556058#M15081</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:38Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556059#M15082</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mbilal on Tue Feb 17 03:05:17 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Please can anyone reply on last comments ASAP , becuase it is urget.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-Bilal&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556059#M15082</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:39Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556060#M15083</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by xianghuiwang on Tue Feb 17 12:52:06 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;hi, mbilal,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if your code properly sets the sysmemremap register before the flash algorithms run, it should be effective even after the reset. It seems something else is causing an issue after reset, did you try to debug your code to see what is exactly the failure?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556060#M15083</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:39Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556061#M15084</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mbilal on Wed Feb 18 02:00:57 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Now, I come with new information. I believe that its bootloader responsibily to change the value of "System memory remap register" according to user requirememt,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The ROM-based boot loader will set the to USER_FLASH (0x2) before starting the code in flash.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But what is being wrong in my side, bootloader set the "System memory remap register" value to USER_FLASH (0x2) , but on some reason/condition bootloader again reset the System memory remap register" value to (0x0). &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So question is that why or on what condtion,&amp;nbsp; bootloader again reset the "System memory remap register" from 0x2 to 0x0. and hence flashing does ot work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Below is my reproduceable scenario, I&amp;nbsp; set the watch point on&amp;nbsp; "System memory remap register" to watch its value.&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;0x030000b0 in ?? ()
(gdb) watch *0x40000000
Hardware watchpoint 1: *0x40000000
(gdb) c
Continuing.
Hardware watchpoint 1: *0x40000000

Old value = 0
New value = 2
0x0300042e in ?? ()
(gdb) c
Continuing.
Hardware watchpoint 1: *0x40000000

Old value = 2
New value = 0
0x03000402 in ?? ()
(gdb)&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So, what bootloader is actually doing at address between 0x0300042e and 0x03000402?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Can you please share a code of bootloader arround above address?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-Bilal&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556061#M15084</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:40Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556062#M15085</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by lpcxpresso-support on Wed Feb 18 15:55:08 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Putting the SYSMEMREMAP setting aside for one moment, have you calculated the checksum word for the image you're flashing? When you start an LPCXpresso debug session, the debugger calculates the checksum for you when it flashes your image. If you have code which programs a flash image "in application", your code is going to need to calculate and embed this checksum.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's an excerpt from the user manual:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;31.3.4 Criterion for Valid User Code&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;The reserved CPU exception vector location 7 (offset 0x0000 001C in the vector table)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;should contain the 2’s complement of the check-sum of table entries 0 through 6. This&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;causes the checksum of the first 8 table entries to be 0. The boot loader code checksums&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the first 8 locations in sector 0 of the flash. If the result is 0, then execution control is&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;transferred to the user code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPCXpresso Support&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556062#M15085</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:40Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556063#M15086</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mbilal on Thu Feb 19 02:09:52 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That's a anwser of my asked qusetion.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for great help on this issue.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:55:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556063#M15086</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:55:41Z</dc:date>
    </item>
    <item>
      <title>Re: IAP flash algorithm gives hard fault on LPC5410x board</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556064#M15087</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to find some more documentation on the register 0x40000000 in the LPC54xxx User Manuals, but I cannot find any reference or information to this register. UM10850, UM10914 and UM10912. Where can I find more information on this register. I am working on a flash loader and need to define where or if the interrupt vectors are remapped. When will there be an update to these User Manuals describing this SYSMEMREMAP register?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dani&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Dec 2017 07:12:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/IAP-flash-algorithm-gives-hard-fault-on-LPC5410x-board/m-p/556064#M15087</guid>
      <dc:creator>danielgull</dc:creator>
      <dc:date>2017-12-05T07:12:12Z</dc:date>
    </item>
  </channel>
</rss>

