<?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: LPC822 write to PINENABLE0 results in bogus values</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC822-write-to-PINENABLE0-results-in-bogus-values/m-p/722819#M29211</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Thomas,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; You said, when you disable the SWDIO and SWDCLK, every once in a while (about every 3rd reset) this writes bogus stuff into PINENABLE0.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Please tell me how did you detect the bogus stuff is wrote to the PINENABLE0? Please also give me your test result.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Waiting for your reply!&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 09 May 2018 08:06:44 GMT</pubDate>
    <dc:creator>kerryzhou</dc:creator>
    <dc:date>2018-05-09T08:06:44Z</dc:date>
    <item>
      <title>LPC822 write to PINENABLE0 results in bogus values</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC822-write-to-PINENABLE0-results-in-bogus-values/m-p/722818#M29210</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am running my program on a&amp;nbsp;LPC822M101JHI33.&lt;/P&gt;&lt;P&gt;The programs entry point is at 0x200, enabling me to run it directly from the bootloader without reset via "G 512 T"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the program I am doing the following steps:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Setting stack pointer (msr msp, msr psp) to end of RAM&lt;/P&gt;&lt;P&gt;Writing 2 to 0x40048000, enabling my own interrupt vectors, and no longer those of the bootloader&lt;/P&gt;&lt;P&gt;The normal&amp;nbsp;C startup things:&amp;nbsp;etext =&amp;gt; data, clear of bss&lt;/P&gt;&lt;P&gt;Next,the following LPCOpen calls:&lt;/P&gt;&lt;P&gt;Chip_SystemInit();&lt;/P&gt;&lt;P&gt;SystemCoreClockUpdate();&lt;BR /&gt; Chip_GPIO_Init(PC_GPIO_PORT);&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;SysTick_Config(SystemCoreClock / 1000);&lt;/SPAN&gt;&lt;BR /&gt; Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_SWM);&lt;BR /&gt; Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_IOCON);&lt;BR /&gt; for (int i = 0; i &amp;lt; 12; i++) // just in case bootloader resets stuff&lt;BR /&gt; LPC_SWM-&amp;gt;PINASSIGN[i] = 0xFFFFFFFF;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Next,&amp;nbsp;I want to disable the fixed PINs SWDIO and SWCLK:&lt;/P&gt;&lt;P&gt;Chip_SWM_DisableFixedPin(SWM_FIXED_SWCLK);&lt;BR /&gt;Chip_SWM_DisableFixedPin(SWM_FIXED_SWDIO);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Every once in a while (about every 3rd reset) this writes bogus stuff into PINENABLE0, instead of just setting the 2 bits of PINENABLE0 to 1. This breaks GPIO in general (and most probably also other stuff).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I do not do the 2&amp;nbsp;&lt;SPAN&gt;Chip_SWM_DisableFixedPin calls, the rest of the program runs fine. With lots of GPIO Stuff, UART communication, and SysTick handling.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Can anybody help so I can use the two pins of SWCLK and SWDIO for GPIO? Is it because of the bootloader? What's it setting which I have to reset first? Or is it a different problem&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thomas&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 May 2018 18:16:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC822-write-to-PINENABLE0-results-in-bogus-values/m-p/722818#M29210</guid>
      <dc:creator>neontr</dc:creator>
      <dc:date>2018-05-04T18:16:57Z</dc:date>
    </item>
    <item>
      <title>Re: LPC822 write to PINENABLE0 results in bogus values</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC822-write-to-PINENABLE0-results-in-bogus-values/m-p/722819#M29211</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Thomas,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; You said, when you disable the SWDIO and SWDCLK, every once in a while (about every 3rd reset) this writes bogus stuff into PINENABLE0.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Please tell me how did you detect the bogus stuff is wrote to the PINENABLE0? Please also give me your test result.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Waiting for your reply!&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 May 2018 08:06:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC822-write-to-PINENABLE0-results-in-bogus-values/m-p/722819#M29211</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2018-05-09T08:06:44Z</dc:date>
    </item>
  </channel>
</rss>

