<?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: Implement mutex / semaphore on LPC1227</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Implement-mutex-semaphore-on-LPC1227/m-p/526421#M9051</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by MarcVonWindscooting on Fri Nov 01 06:29:07 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;There are no instructions supporting semaphores in the M0 prozessor.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;No SWP, no LDREX, no bit-banding.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;That's funny, escpially if there are devices like LPC4300 (dual core, M0 + M4). The synchronization between the two cores is done by a special hardware. I guess because semaphore synchronization would make it harder to do power saving/sleeping.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Disabling interrupts is a questionable operation on a M0, because that defeats the priorities of interrupts and NVIC's possibility to nest interrupts: low priority ISR does disable interrupts =&amp;gt; higher priority interrupts stalled. Yes I know, these should be disabled only for short times. Nevertheless, disabling interrupts increases interrupt latency (and jitter).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Even the 8051 had a bit test-and-set (or similar, I don't remember any more). Why is that so expensive to implement on a M0??&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 17:02:38 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T17:02:38Z</dc:date>
    <item>
      <title>Implement mutex / semaphore on LPC1227</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Implement-mutex-semaphore-on-LPC1227/m-p/526419#M9049</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by jackiechau on Wed Oct 30 20:24:42 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I found that mutex is provided by RTX OS. But I would like to know how to implement mutex/semaphore on LPC1227 without OS, please kindly advise.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:02:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Implement-mutex-semaphore-on-LPC1227/m-p/526419#M9049</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:02:36Z</dc:date>
    </item>
    <item>
      <title>Re: Implement mutex / semaphore on LPC1227</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Implement-mutex-semaphore-on-LPC1227/m-p/526420#M9050</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by TheFallGuy on Wed Oct 30 22:12:39 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;If you don't have an RTOS, what do you need a mutex for? Without an RTOS, the only thing that could cause a problem is an interrupt - and you can just disable interrupts during your critical code.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:02:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Implement-mutex-semaphore-on-LPC1227/m-p/526420#M9050</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:02:37Z</dc:date>
    </item>
    <item>
      <title>Re: Implement mutex / semaphore on LPC1227</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Implement-mutex-semaphore-on-LPC1227/m-p/526421#M9051</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by MarcVonWindscooting on Fri Nov 01 06:29:07 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;There are no instructions supporting semaphores in the M0 prozessor.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;No SWP, no LDREX, no bit-banding.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;That's funny, escpially if there are devices like LPC4300 (dual core, M0 + M4). The synchronization between the two cores is done by a special hardware. I guess because semaphore synchronization would make it harder to do power saving/sleeping.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Disabling interrupts is a questionable operation on a M0, because that defeats the priorities of interrupts and NVIC's possibility to nest interrupts: low priority ISR does disable interrupts =&amp;gt; higher priority interrupts stalled. Yes I know, these should be disabled only for short times. Nevertheless, disabling interrupts increases interrupt latency (and jitter).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Even the 8051 had a bit test-and-set (or similar, I don't remember any more). Why is that so expensive to implement on a M0??&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:02:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Implement-mutex-semaphore-on-LPC1227/m-p/526421#M9051</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:02:38Z</dc:date>
    </item>
  </channel>
</rss>

