<?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 Enabling ROM divide causes hard fault on LPC11U1x in LPCXpresso IDE FAQs</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE-FAQs/Enabling-ROM-divide-causes-hard-fault-on-LPC11U1x/m-p/470182#M52</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As described in the FAQ "&lt;A _jive_internal="true" data-containerid="11529" data-containertype="14" data-objectid="389107" data-objecttype="1" href="https://community.nxp.com/thread/389107"&gt;ROM Divide&lt;/A&gt;", the LPCXpresso IDE provides support for making use of the ROM Divide routines contained in certain Cortex-M0 / M0+ MCUs, including the LPC11Uxx family of parts.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However it is possible if you are using an early LPC11U1x silicon, then if you enable the ROM divide support in LPCXpresso IDE, when you run your code on your target hardware, you may encounter a hard fault during the execution of the startup code. This is because the ROM divide routines were not implemented in early silicon - in particular this affects the silicon fitted to some LPCXpresso11U14 boards.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If required, the attached test project can be imported into LPCXpresso IDE, built and run on your board to identify whether or not the ROM divides are implemented on your silicon. Below is the result of running this test project on two boards - an LPCXpresso11U14 which has silicon on it without ROM divide support, and an NGX BlueBoard-LPC11U14 which has silicon fitted which does have ROM divide support.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE border="3" cellpadding="1" cellspacing="1" style="border-width: 0px; color: #646464; font-family: Arial, sans-serif; font-size: 12px;"&gt;&lt;TBODY style="border-top-color: #cccccc;"&gt;&lt;TR style="border-width: 0px;"&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;STRONG&gt;Board&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;STRONG&gt;Chip Markings&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;STRONG&gt;Test Output&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="border-width: 0px;"&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;TT&gt;LPCXpresso11U14&lt;/TT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;TT&gt;LPC11U14F&lt;BR /&gt;/201&lt;BR /&gt;S62477&lt;BR /&gt;ZSD11&lt;BR /&gt;200AX&lt;/TT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;TT&gt;PTR_ROM_DRIVER_TABLE : 1fff1ff8&lt;BR /&gt;Content of PTR_ROM_DRIVER_TABLE : 1fff1e38&lt;BR /&gt;div_ptr : ffffffff&lt;BR /&gt;ROM divide NOT supported&lt;/TT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="border-width: 0px;"&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;TT&gt;NGX BlueBoard-LPC11U14&lt;/TT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;TT&gt;LPC11U14F&lt;BR /&gt;/201&lt;BR /&gt;S62653&lt;BR /&gt;ZSD11&lt;BR /&gt;435BY&lt;/TT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;TT&gt;PTR_ROM_DRIVER_TABLE : 1fff1ff8&lt;BR /&gt;Content of PTR_ROM_DRIVER_TABLE : 1fff1f54&lt;BR /&gt;div_ptr : 1fff1f44&lt;BR /&gt;ROM divide supported&lt;/TT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-339188"&gt;LPC11U14_romdividecheck.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 31 Mar 2016 19:06:26 GMT</pubDate>
    <dc:creator>lpcware-support</dc:creator>
    <dc:date>2016-03-31T19:06:26Z</dc:date>
    <item>
      <title>Enabling ROM divide causes hard fault on LPC11U1x</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE-FAQs/Enabling-ROM-divide-causes-hard-fault-on-LPC11U1x/m-p/470182#M52</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As described in the FAQ "&lt;A _jive_internal="true" data-containerid="11529" data-containertype="14" data-objectid="389107" data-objecttype="1" href="https://community.nxp.com/thread/389107"&gt;ROM Divide&lt;/A&gt;", the LPCXpresso IDE provides support for making use of the ROM Divide routines contained in certain Cortex-M0 / M0+ MCUs, including the LPC11Uxx family of parts.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However it is possible if you are using an early LPC11U1x silicon, then if you enable the ROM divide support in LPCXpresso IDE, when you run your code on your target hardware, you may encounter a hard fault during the execution of the startup code. This is because the ROM divide routines were not implemented in early silicon - in particular this affects the silicon fitted to some LPCXpresso11U14 boards.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If required, the attached test project can be imported into LPCXpresso IDE, built and run on your board to identify whether or not the ROM divides are implemented on your silicon. Below is the result of running this test project on two boards - an LPCXpresso11U14 which has silicon on it without ROM divide support, and an NGX BlueBoard-LPC11U14 which has silicon fitted which does have ROM divide support.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE border="3" cellpadding="1" cellspacing="1" style="border-width: 0px; color: #646464; font-family: Arial, sans-serif; font-size: 12px;"&gt;&lt;TBODY style="border-top-color: #cccccc;"&gt;&lt;TR style="border-width: 0px;"&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;STRONG&gt;Board&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;STRONG&gt;Chip Markings&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;STRONG&gt;Test Output&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="border-width: 0px;"&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;TT&gt;LPCXpresso11U14&lt;/TT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;TT&gt;LPC11U14F&lt;BR /&gt;/201&lt;BR /&gt;S62477&lt;BR /&gt;ZSD11&lt;BR /&gt;200AX&lt;/TT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;TT&gt;PTR_ROM_DRIVER_TABLE : 1fff1ff8&lt;BR /&gt;Content of PTR_ROM_DRIVER_TABLE : 1fff1e38&lt;BR /&gt;div_ptr : ffffffff&lt;BR /&gt;ROM divide NOT supported&lt;/TT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR style="border-width: 0px;"&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;TT&gt;NGX BlueBoard-LPC11U14&lt;/TT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;TT&gt;LPC11U14F&lt;BR /&gt;/201&lt;BR /&gt;S62653&lt;BR /&gt;ZSD11&lt;BR /&gt;435BY&lt;/TT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="border:3px solid black;border-width: 0px;border-width: 0px;font-size: 12px;border-color: #f5f5dc;border-width: 0px;border: 3px solid black;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;TT&gt;PTR_ROM_DRIVER_TABLE : 1fff1ff8&lt;BR /&gt;Content of PTR_ROM_DRIVER_TABLE : 1fff1f54&lt;BR /&gt;div_ptr : 1fff1f44&lt;BR /&gt;ROM divide supported&lt;/TT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-339188"&gt;LPC11U14_romdividecheck.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Mar 2016 19:06:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE-FAQs/Enabling-ROM-divide-causes-hard-fault-on-LPC11U1x/m-p/470182#M52</guid>
      <dc:creator>lpcware-support</dc:creator>
      <dc:date>2016-03-31T19:06:26Z</dc:date>
    </item>
  </channel>
</rss>

