<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com:443/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><channel><title>Arm Community</title><link>https://community.arm.com/cn/mbed-cn/b</link><description>Arm mbed 中文技术讨论区</description><dc:language>en-US</dc:language><generator>Telligent Community 11</generator><item><title>test 東芝､パソコン事業子会社をシャープに売却</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/test-japanese</link><pubDate>Tue, 05 Jun 2018 12:40:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:cb87b991-fc1b-4b87-be87-dd2d63f2b564</guid><dc:creator>Song Bin 宋斌</dc:creator><slash:comments>0</slash:comments><description>test
［東京&amp;emsp;5日&amp;emsp;ロイター］ - シャープ&amp;lt;6753.T&amp;gt;は5日、東芝&amp;lt;6502.T&amp;gt;のパソコン事業を買収することで合意したと発表した。買収額は約40億円。東芝のパソコン関連製品と同社のディスプレーやセンサーなどを融合することで、人工知能（AI）やすべてのモノがインターネットにつながるIoT（インターネット・オブ・シングス）事業を強化する。
パソコン事業を手掛ける東芝クライアントソリューション（東京都江東区）株式の80.1％を取得し、子会社化する...(&lt;a href="https://community.arm.com/cn/mbed-cn/b/blog/posts/test-japanese"&gt;read more&lt;/a&gt;)&lt;img src="https://community.arm.com/aggbug?PostID=13645&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>[招聘要求] 我們合作夥伴华域汽车招聘IoT开发工程师（嵌入式方向）</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/iot</link><pubDate>Fri, 20 Oct 2017 07:02:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:2ea429ef-ea25-4b1c-84d2-efa2357736ab</guid><dc:creator>Caroline</dc:creator><slash:comments>2</slash:comments><description>工作职责： 1. 基于Arduino/Raspberry Pi等开源硬件进行IoT相关开发 2. 与开发相关的文档撰写 
能力要求： 1. 熟悉并掌握C/C++开发语言，有三年以上开发经验 2. 熟悉Arduino/Raspberry Pi等开源硬件开发平台 3. 具有良好的沟通能力及分析解决问题能力，有责任心，能吃苦耐劳，具有较强的任务执行能力。 4. 有ARM Mbed相關經驗优先考慮5. 有Python开发能力优先 6. 有图像处理相关经验优先
如果有興趣的可以直接發簡歷申請至郵箱：han...(&lt;a href="https://community.arm.com/cn/mbed-cn/b/blog/posts/iot"&gt;read more&lt;/a&gt;)&lt;img src="https://community.arm.com/aggbug?PostID=13286&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="https://m.liepin.com/job/1910440905.shtml?from=singlemessage&amp;isappinstalled=0" length="-1" type="text/html;charset=UTF-8" /><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/automotive">automotive</category><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/developer">developer</category><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/Application%2bdevelopers">Application developers</category><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/Internet%2bof%2bThings%2b_2800_IoT_2900_">Internet of Things (IoT)</category></item><item><title>Mbed Connect 11/6登陆上海！</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/mbed-connect-11-6</link><pubDate>Wed, 18 Oct 2017 15:12:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:dfd4f8dc-2b77-427c-914b-77839a54eaff</guid><dc:creator>Caroline</dc:creator><slash:comments>0</slash:comments><description>
Mbed Connect 开发者实践工作坊登陆上海
11月6日 上海浦东嘉里大酒店&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;


Arm将于11月6日上海的&lt;a href="http://www.armtechforum.com.cn/index.php"&gt;年度技术论坛&lt;/a&gt;上，同期举办Mbed Connect开发者实践工作坊。参加工作坊，你可以深入了解在Mbed IoT设备平台上如何开发可扩展的物联网解决方案，&lt;a href="http://www.armtechforum.com.cn/mbedRegister.php"&gt;马上注册&lt;/a&gt;。这是一次难得的机会，可以与Mbed专家进行面对面的学习，与来自于Mbed生态系统有经验的开发者展开交流。与会观众可以先通过Arm年度技术论坛上的主旨演讲洞悉市场趋势和热点，随...(&lt;a href="https://community.arm.com/cn/mbed-cn/b/blog/posts/mbed-connect-11-6"&gt;read more&lt;/a&gt;)&lt;img src="https://community.arm.com/aggbug?PostID=13283&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="http://www.armtechforum.com.cn/mbed.php" length="5777" type="text/html; charset=utf-8" /><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/developer">developer</category><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/Device%2bDevelopers">Device Developers</category><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/Application%2bdevelopers">Application developers</category><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/Internet%2bof%2bThings%2b_2800_IoT_2900_">Internet of Things (IoT)</category></item><item><title>研華 / Arm Mbed 線上研討會, 11/7 上午 10 點 正式開講</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/arm-mbed-11-7-10</link><pubDate>Wed, 11 Oct 2017 14:11:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3f31d653-73de-4aa1-b7af-c1c635de1aec</guid><dc:creator>Caroline</dc:creator><slash:comments>0</slash:comments><description>
物聯網高談軟硬體整合，但到底如何整合?
物聯網軟體如何協助我建構完整解決方案?
我需要耗費許多成本才能完成開發嗎?


研華偕同 Arm 帶你揭開物聯網軟硬體整合的面紗，在11/07 上午10:00的研討會中，專家將以智慧城市、智慧工廠、智慧農業三大領域，從研華無線傳輸模組到Arm Mbed雲服務，帶你一覽無遺從端到雲的完整物聯網解決方案，透過軟體實際操作帶你體驗端點安全、遠端監控以及即時更新的功能，一站式成就你的物聯網方案，為企業打開無限商機。

物聯網管理三大關鍵: 端點安全、遠端監控、即...(&lt;a href="https://community.arm.com/cn/mbed-cn/b/blog/posts/arm-mbed-11-7-10"&gt;read more&lt;/a&gt;)&lt;img src="https://community.arm.com/aggbug?PostID=13274&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="http://select.advantech.com/arm-mbed-webinar/?utm_source=Arm&amp;utm_medium=EDM&amp;utm_campaign=Q4_Arm%20Mbed%20Webinar&amp;source=Arm_edm" length="-1" type="text/html; charset=UTF-8" /><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/mbed%2bcloud">mbed cloud</category><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/Security">Security</category><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/Advantech%2bEmbedded%2bComputing">Advantech Embedded Computing</category><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/Internet%2bof%2bThings%2b_2800_IoT_2900_">Internet of Things (IoT)</category></item><item><title>创新设计大赛 mbed 常用资料</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/mbed-1544846706</link><pubDate>Tue, 26 Sep 2017 08:25:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:4fa2f096-1fb9-4325-9168-76283c532bca</guid><dc:creator>Neil</dc:creator><slash:comments>11</slash:comments><description>Nucleo F401RE 会先需要更新再安装mbed-cli
&lt;a href="https://developer.mbed.org/teams/ST/wiki/Nucleo-Firmware"&gt;Nucleo F401RE Firmware更新&lt;/a&gt;
&lt;a href="https://mbed-media.mbed.com/filer_public/7f/46/7f46e205-52f5-48e2-be64-8f30d52f6d75/mbed_installer_v041.exe"&gt;mbed CLI Windows安装档&lt;/a&gt;
&lt;a href="https://github.com/ARMmbed/"&gt;mbed github&lt;/a&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="https://github.com/ARMmbed/mbed-cli"&gt;mbed CLI工具&lt;/a&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="https://github.com/ARMmbed/mbed-cli#exporting-to-desktop-ides"&gt;输出到IDE&lt;/a&gt;
&amp;nbsp;&amp;amp;nb...(&lt;a href="https://community.arm.com/cn/mbed-cn/b/blog/posts/mbed-1544846706"&gt;read more&lt;/a&gt;)&lt;img src="https://community.arm.com/aggbug?PostID=13221&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>ST与ARM携手进军物联网市场</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/st-arm-demo-in-mwc-shanghai-2017</link><pubDate>Mon, 26 Jun 2017 01:57:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:1cb3ac35-9f49-4f91-8c2a-e437421b8d55</guid><dc:creator>Song Bin 宋斌</dc:creator><slash:comments>0</slash:comments><description>此次MWC Shanghai展会上，ST公司将在他们的展台（W5.G90）展示这个有趣的基于mbed物联网Demo。(&lt;a href="https://community.arm.com/cn/mbed-cn/b/blog/posts/st-arm-demo-in-mwc-shanghai-2017"&gt;read more&lt;/a&gt;)&lt;img src="https://community.arm.com/aggbug?PostID=13001&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/mbed%2bOS">mbed OS</category><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/stm">stm</category></item><item><title>mbed Open Shanghai 2017 资料下载汇总</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/mbed-open-shanghai-2017</link><pubDate>Fri, 23 Jun 2017 03:05:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:114e79d0-805a-4790-8bcb-785b79958ed2</guid><dc:creator>Song Bin 宋斌</dc:creator><slash:comments>5</slash:comments><description>mbed Open Shanghai 2017 资料下载汇总(&lt;a href="https://community.arm.com/cn/mbed-cn/b/blog/posts/mbed-open-shanghai-2017"&gt;read more&lt;/a&gt;)&lt;img src="https://community.arm.com/aggbug?PostID=12998&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/Mbed">Mbed</category></item><item><title>mbed开发哪家强，参加比赛，赢取15000美元奖金</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/mbed-contest-2017-with-wiznet</link><pubDate>Tue, 02 May 2017 11:09:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:cd208b2b-7ca8-4c83-86a8-38024c562e0a</guid><dc:creator>Song Bin 宋斌</dc:creator><slash:comments>0</slash:comments><description>&lt;a href="/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/mbed_5F00_contest.PNG"&gt;&lt;/a&gt;
各位用户大家好，
&amp;nbsp;
ARM的mbed IoT平台，已经越来越得到大家的认可和欢迎，越来越多的开发者和合作伙伴已经投身于其中，开发属于自己的IoT平台和应用。
&amp;nbsp;
那么到底谁的水平高呢？让我们来比一比吧，最近ARM和Partner&amp;nbsp;WIZnet合作，举办一场全球规模的mbed创新开发大赛，基于WIZnet的最新mbed平台WIZwiki-W7500。
&amp;nbsp;
目前已经可以开始免费报名了，更有高达15000美元的总奖金等待大家来赢取。
&amp;nbsp;
报名链接请...(&lt;a href="https://community.arm.com/cn/mbed-cn/b/blog/posts/mbed-contest-2017-with-wiznet"&gt;read more&lt;/a&gt;)&lt;img src="https://community.arm.com/aggbug?PostID=12859&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/Mbed">Mbed</category><category domain="https://community.arm.com/cn/mbed-cn/b/blog/archive/tags/Internet%2bof%2bThings%2b_2800_IoT_2900_">Internet of Things (IoT)</category></item><item><title>Simplify your code with abed-events in mbed OS 5.2 !</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/simplify-your-code-with-mbed-events-in-mbed-os-5-2</link><pubDate>Fri, 03 Mar 2017 01:49:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:e8ddba40-a679-46f4-941d-7235d52cfc6f</guid><dc:creator>Lisa.Liu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;a href="/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/ACC-Banner_5F00_ARM-Main.jpg"&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;" src="/resized-image/__size/640x480/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/ACC-Banner_5F00_ARM-Main.jpg" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In mbed OS 5.2, we introduced&amp;nbsp;&lt;a href="https://github.com/ARMmbed/mbed-events" rel="nofollow"&gt;mbed-eve&lt;/a&gt;&lt;a href="https://github.com/ARMmbed/mbed-events" rel="nofollow"&gt;nts&lt;/a&gt;, an eventing system that can run in an RTOS thread. Using an event loop is very useful to defer execution of code to a different context. An example would be to defer execution from an interrupt context (ISR) to the main loop, or to defer execution from the high-priority thread to a lower priority thread. Now that mbed-events is part of mbed OS 5.2, we&amp;#39;d like to show how this can be used to improve your applications.&lt;/p&gt;
&lt;p&gt;For more information about the mbed-events library, have a look at&amp;nbsp;&lt;a href="https://docs.mbed.com/docs/mbed-os-handbook/en/5.1/concepts/events/" rel="nofollow"&gt;the documentation&lt;/a&gt;. All code in this blog post was tested against mbed OS 5.2.3.&lt;/p&gt;
&lt;h2&gt;Calling printf in an interrupt context&lt;/h2&gt;
&lt;p&gt;The following program has probably been written by anyone learning how to program microcontrollers. It registers an interrupt handler when a button is pressed, and then calls&amp;nbsp;&lt;code&gt;printf&lt;/code&gt;&amp;nbsp;from the ISR.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Naive approach&lt;/strong&gt;&lt;/p&gt;
&lt;div class="flashbox fcode"&gt;
&lt;h4 class="ftitle"&gt;&amp;nbsp;&lt;/h4&gt;
&lt;table class="codify_table" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="codify_numcol"&gt;
&lt;div class="codify_numbers"&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;6&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;9&lt;br /&gt;10&lt;br /&gt;11&lt;br /&gt;12&lt;br /&gt;13&lt;br /&gt;14&lt;br /&gt;15&lt;/div&gt;
&lt;/td&gt;
&lt;td class="codify_screen"&gt;
&lt;pre&gt;&lt;span class="SH_BUILTIN"&gt;#include&amp;nbsp;&lt;/span&gt;&lt;span class="SH_STRING"&gt;&amp;quot;mbed.h&amp;quot;&lt;/span&gt;
&amp;nbsp;
DigitalOut&amp;nbsp;led(LED1);
InterruptIn&amp;nbsp;btn(SW2);
&amp;nbsp;
&lt;span class="SH_RESERVED"&gt;void&lt;/span&gt;&amp;nbsp;do_something()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;led&amp;nbsp;=&amp;nbsp;!led;
&amp;nbsp;&amp;nbsp;&lt;span class="SH_STDIO"&gt;printf&lt;/span&gt;(&lt;span class="SH_STRING"&gt;&amp;quot;Toggle&amp;nbsp;LED!\r\n&amp;quot;&lt;/span&gt;);&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;CRASH!&amp;nbsp;Blocking&amp;nbsp;call&amp;nbsp;in&amp;nbsp;ISR...&lt;/span&gt;
}
&amp;nbsp;
&lt;span class="SH_RESERVED"&gt;int&lt;/span&gt;&amp;nbsp;main()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;btn.fall(&amp;amp;do_something);
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&lt;span class="SH_RESERVED"&gt;while&lt;/span&gt;&amp;nbsp;(&lt;span class="SH_NUMBER"&gt;1&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;}
}
&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;When you compile this code with ARMCC, the program will crash right after toggling the LED. This is because calls to stdio (like&amp;nbsp;&lt;code&gt;printf&lt;/code&gt;) are&amp;nbsp;&lt;a href="https://developer.mbed.org/handbook/CMSIS-RTOS"&gt;guarded by mutexes&lt;/a&gt;&amp;nbsp;in the ARM C standard library, and mutex functions&amp;nbsp;&lt;a href="https://www.keil.com/pack/doc/cmsis/RTOS/html/group__CMSIS__RTOS__MutexMgmt.html" rel="nofollow"&gt;cannot be called from an ISR&lt;/a&gt;. We can get around this by signalling the main thread from the ISR and do the&amp;nbsp;&lt;code&gt;printf&lt;/code&gt;&amp;nbsp;call in there. That&amp;#39;s especially confusing when teaching beginners, as now we need to explain the concept of&amp;nbsp;&lt;a href="https://developer.mbed.org/handbook/RTOS#semaphore"&gt;Semaphores&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href="https://developer.mbed.org/handbook/RTOS#mail"&gt;Mailboxes&lt;/a&gt;&amp;nbsp;as well.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Using a Semaphore&lt;/strong&gt;&lt;/p&gt;
&lt;div class="flashbox fcode"&gt;
&lt;h4 class="ftitle"&gt;&amp;nbsp;&lt;/h4&gt;
&lt;table class="codify_table" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="codify_numcol"&gt;
&lt;div class="codify_numbers"&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;6&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;9&lt;br /&gt;10&lt;br /&gt;11&lt;br /&gt;12&lt;br /&gt;13&lt;br /&gt;14&lt;br /&gt;15&lt;br /&gt;16&lt;br /&gt;17&lt;br /&gt;18&lt;br /&gt;19&lt;br /&gt;20&lt;br /&gt;21&lt;br /&gt;22&lt;br /&gt;23&lt;br /&gt;24&lt;br /&gt;25&lt;br /&gt;26&lt;/div&gt;
&lt;/td&gt;
&lt;td class="codify_screen"&gt;
&lt;pre&gt;&lt;span class="SH_BUILTIN"&gt;#include&amp;nbsp;&lt;/span&gt;&lt;span class="SH_STRING"&gt;&amp;quot;mbed.h&amp;quot;&lt;/span&gt;
&amp;nbsp;
DigitalOut&amp;nbsp;led(LED1);
InterruptIn&amp;nbsp;btn(SW2);
&amp;nbsp;
Semaphore&amp;nbsp;updates(&lt;span class="SH_NUMBER"&gt;0&lt;/span&gt;);
&amp;nbsp;
&lt;span class="SH_RESERVED"&gt;void&lt;/span&gt;&amp;nbsp;do_something()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;release&amp;nbsp;the&amp;nbsp;semaphore&lt;/span&gt;
&amp;nbsp;&amp;nbsp;updates.release();
}
&amp;nbsp;
&lt;span class="SH_RESERVED"&gt;int&lt;/span&gt;&amp;nbsp;main()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;btn.fall(&amp;amp;do_something);
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&lt;span class="SH_RESERVED"&gt;while&lt;/span&gt;&amp;nbsp;(&lt;span class="SH_NUMBER"&gt;1&lt;/span&gt;)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;wait&amp;nbsp;for&amp;nbsp;the&amp;nbsp;semaphore&amp;nbsp;to&amp;nbsp;be&amp;nbsp;released&amp;nbsp;from&amp;nbsp;the&amp;nbsp;ISR&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="SH_RESERVED"&gt;int32_t&lt;/span&gt;&amp;nbsp;v&amp;nbsp;=&amp;nbsp;updates.wait();
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;now&amp;nbsp;this&amp;nbsp;runs&amp;nbsp;on&amp;nbsp;the&amp;nbsp;main&amp;nbsp;thread,&amp;nbsp;and&amp;nbsp;is&amp;nbsp;safe&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="SH_RESERVED"&gt;if&lt;/span&gt;&amp;nbsp;(v&amp;nbsp;==&amp;nbsp;&lt;span class="SH_NUMBER"&gt;1&lt;/span&gt;)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;led&amp;nbsp;=&amp;nbsp;!led;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="SH_STDIO"&gt;printf&lt;/span&gt;(&lt;span class="SH_STRING"&gt;&amp;quot;Toggle&amp;nbsp;LED!\r\n&amp;quot;&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;}
}
&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;While this works, it&amp;#39;s a lot more unclear, and we need to build a state machine to determine why the semaphore was released if we&amp;#39;re adding more interrupts. Preferably we&amp;#39;d also run this in a separate thread.&lt;/p&gt;
&lt;p&gt;With mbed-events we can easily spin up a new RTOS thread with the event loop running in it, and we can defer from ISR to that thread in one line of code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Using mbed-events&lt;/strong&gt;&lt;/p&gt;
&lt;div class="flashbox fcode"&gt;
&lt;h4 class="ftitle"&gt;&amp;nbsp;&lt;/h4&gt;
&lt;table class="codify_table" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="codify_numcol"&gt;
&lt;div class="codify_numbers"&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;6&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;9&lt;br /&gt;10&lt;br /&gt;11&lt;br /&gt;12&lt;br /&gt;13&lt;br /&gt;14&lt;br /&gt;15&lt;br /&gt;16&lt;br /&gt;17&lt;br /&gt;18&lt;br /&gt;19&lt;br /&gt;20&lt;br /&gt;21&lt;br /&gt;22&lt;br /&gt;23&lt;br /&gt;24&lt;/div&gt;
&lt;/td&gt;
&lt;td class="codify_screen"&gt;
&lt;pre&gt;&lt;span class="SH_BUILTIN"&gt;#include&amp;nbsp;&lt;/span&gt;&lt;span class="SH_STRING"&gt;&amp;quot;mbed.h&amp;quot;&lt;/span&gt;
&amp;nbsp;
DigitalOut&amp;nbsp;led(LED1);
InterruptIn&amp;nbsp;btn(SW2);
&amp;nbsp;
&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;create&amp;nbsp;an&amp;nbsp;event&amp;nbsp;queue&lt;/span&gt;
EventQueue&amp;nbsp;queue;
&amp;nbsp;
&lt;span class="SH_RESERVED"&gt;void&lt;/span&gt;&amp;nbsp;do_something()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;this&amp;nbsp;now&amp;nbsp;runs&amp;nbsp;in&amp;nbsp;the&amp;nbsp;context&amp;nbsp;of&amp;nbsp;eventThread,&amp;nbsp;instead&amp;nbsp;of&amp;nbsp;in&amp;nbsp;the&amp;nbsp;ISR&lt;/span&gt;
&amp;nbsp;&amp;nbsp;led&amp;nbsp;=&amp;nbsp;!led;
&amp;nbsp;&amp;nbsp;&lt;span class="SH_STDIO"&gt;printf&lt;/span&gt;(&lt;span class="SH_STRING"&gt;&amp;quot;Toggle&amp;nbsp;LED!\r\n&amp;quot;&lt;/span&gt;);
}
&amp;nbsp;
&lt;span class="SH_RESERVED"&gt;int&lt;/span&gt;&amp;nbsp;main()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;create&amp;nbsp;a&amp;nbsp;thread&amp;nbsp;that&amp;#39;ll&amp;nbsp;run&amp;nbsp;the&amp;nbsp;event&amp;nbsp;queue&amp;#39;s&amp;nbsp;dispatch&amp;nbsp;function&lt;/span&gt;
&amp;nbsp;&amp;nbsp;Thread&amp;nbsp;eventThread;
&amp;nbsp;&amp;nbsp;eventThread.start(callback(&amp;amp;queue,&amp;nbsp;&amp;amp;EventQueue::dispatch_forever));
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;wrap&amp;nbsp;calls&amp;nbsp;in&amp;nbsp;queue.event&amp;nbsp;to&amp;nbsp;automatically&amp;nbsp;defer&amp;nbsp;to&amp;nbsp;the&amp;nbsp;queue&amp;#39;s&amp;nbsp;thread&lt;/span&gt;
&amp;nbsp;&amp;nbsp;btn.fall(queue.event(&amp;amp;do_something));
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&lt;span class="SH_RESERVED"&gt;while&lt;/span&gt;&amp;nbsp;(&lt;span class="SH_NUMBER"&gt;1&lt;/span&gt;)&amp;nbsp;{}
}
&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;When the interrupt fires, it now automatically defers calling the&amp;nbsp;&lt;code&gt;do_something&lt;/code&gt;&amp;nbsp;function to the other thread, from where it&amp;#39;s safe to call&amp;nbsp;&lt;code&gt;printf&lt;/code&gt;. In addition, we don&amp;#39;t need to taint our main thread&amp;#39;s main loop with program logic.&lt;/p&gt;
&lt;h2&gt;Manually deferring from ISR to a thread&lt;/h2&gt;
&lt;p&gt;The downside of this approach is that both the toggling of the LED and the&amp;nbsp;&lt;code&gt;printf&lt;/code&gt;&amp;nbsp;call are now executed outside the ISR and thus are not guaranteed to run straight away. We can work around this by toggling the LED from the ISR, then manually deferring the printf event to the thread.&lt;/p&gt;
&lt;div class="flashbox fcode"&gt;
&lt;h4 class="ftitle"&gt;&amp;nbsp;&lt;/h4&gt;
&lt;table class="codify_table" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="codify_numcol"&gt;
&lt;div class="codify_numbers"&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;6&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;9&lt;br /&gt;10&lt;br /&gt;11&lt;br /&gt;12&lt;br /&gt;13&lt;br /&gt;14&lt;br /&gt;15&lt;br /&gt;16&lt;br /&gt;17&lt;br /&gt;18&lt;br /&gt;19&lt;br /&gt;20&lt;br /&gt;21&lt;br /&gt;22&lt;br /&gt;23&lt;br /&gt;24&lt;br /&gt;25&lt;br /&gt;26&lt;br /&gt;27&lt;br /&gt;28&lt;/div&gt;
&lt;/td&gt;
&lt;td class="codify_screen"&gt;
&lt;pre&gt;&lt;span class="SH_BUILTIN"&gt;#include&amp;nbsp;&lt;/span&gt;&lt;span class="SH_STRING"&gt;&amp;quot;mbed.h&amp;quot;&lt;/span&gt;
&amp;nbsp;
DigitalOut&amp;nbsp;led(LED1);
InterruptIn&amp;nbsp;btn(SW2);
&amp;nbsp;
EventQueue&amp;nbsp;queue;
&amp;nbsp;
&lt;span class="SH_RESERVED"&gt;void&lt;/span&gt;&amp;nbsp;do_something_outside_irq()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;this&amp;nbsp;does&amp;nbsp;not&amp;nbsp;run&amp;nbsp;in&amp;nbsp;the&amp;nbsp;ISR&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&lt;span class="SH_STDIO"&gt;printf&lt;/span&gt;(&lt;span class="SH_STRING"&gt;&amp;quot;Toggle&amp;nbsp;LED!\r\n&amp;quot;&lt;/span&gt;);
}
&amp;nbsp;
&lt;span class="SH_RESERVED"&gt;void&lt;/span&gt;&amp;nbsp;do_something_in_irq()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;this&amp;nbsp;runs&amp;nbsp;in&amp;nbsp;the&amp;nbsp;ISR&lt;/span&gt;
&amp;nbsp;&amp;nbsp;led&amp;nbsp;=&amp;nbsp;!led;
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;then&amp;nbsp;defer&amp;nbsp;the&amp;nbsp;printf&amp;nbsp;call&amp;nbsp;to&amp;nbsp;the&amp;nbsp;other&amp;nbsp;thread&lt;/span&gt;
&amp;nbsp;&amp;nbsp;queue.call(&amp;amp;do_something_outside_irq);
}
&amp;nbsp;
&lt;span class="SH_RESERVED"&gt;int&lt;/span&gt;&amp;nbsp;main()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;Thread&amp;nbsp;eventThread;
&amp;nbsp;&amp;nbsp;eventThread.start(callback(&amp;amp;queue,&amp;nbsp;&amp;amp;EventQueue::dispatch_forever));
&amp;nbsp;
&amp;nbsp;&amp;nbsp;btn.fall(&amp;amp;do_something_in_irq);
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&lt;span class="SH_RESERVED"&gt;while&lt;/span&gt;&amp;nbsp;(&lt;span class="SH_NUMBER"&gt;1&lt;/span&gt;)&amp;nbsp;{}
}
&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;h2&gt;Mixing high priority and low priority events&lt;/h2&gt;
&lt;p&gt;We can differentiate between the importance of events by using multiple threads that run with different priorities. We can easily add a&amp;nbsp;&lt;a href="https://developer.mbed.org/handbook/Ticker"&gt;Ticker&lt;/a&gt;&amp;nbsp;to the program which toggles&amp;nbsp;&lt;code&gt;LED2&lt;/code&gt;&amp;nbsp;every second, which runs with a higher priority than the&amp;nbsp;&lt;code&gt;printf&lt;/code&gt;&amp;nbsp;calls by creating a second event queue.&lt;/p&gt;
&lt;div class="flashbox fcode"&gt;
&lt;h4 class="ftitle"&gt;&amp;nbsp;&lt;/h4&gt;
&lt;table class="codify_table" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="codify_numcol"&gt;
&lt;div class="codify_numbers"&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;6&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;9&lt;br /&gt;10&lt;br /&gt;11&lt;br /&gt;12&lt;br /&gt;13&lt;br /&gt;14&lt;br /&gt;15&lt;br /&gt;16&lt;br /&gt;17&lt;br /&gt;18&lt;br /&gt;19&lt;br /&gt;20&lt;br /&gt;21&lt;br /&gt;22&lt;br /&gt;23&lt;br /&gt;24&lt;br /&gt;25&lt;br /&gt;26&lt;br /&gt;27&lt;br /&gt;28&lt;br /&gt;29&lt;br /&gt;30&lt;br /&gt;31&lt;br /&gt;32&lt;br /&gt;33&lt;br /&gt;34&lt;br /&gt;35&lt;br /&gt;36&lt;br /&gt;37&lt;br /&gt;38&lt;br /&gt;39&lt;br /&gt;40&lt;br /&gt;41&lt;br /&gt;42&lt;br /&gt;43&lt;br /&gt;44&lt;/div&gt;
&lt;/td&gt;
&lt;td class="codify_screen"&gt;
&lt;pre&gt;&lt;span class="SH_BUILTIN"&gt;#include&amp;nbsp;&lt;/span&gt;&lt;span class="SH_STRING"&gt;&amp;quot;mbed.h&amp;quot;&lt;/span&gt;
&amp;nbsp;
DigitalOut&amp;nbsp;led1(LED1);
DigitalOut&amp;nbsp;led2(LED2);
InterruptIn&amp;nbsp;btn(SW2);
&amp;nbsp;
EventQueue&amp;nbsp;printfQueue;
EventQueue&amp;nbsp;eventQueue;
&amp;nbsp;
&lt;span class="SH_RESERVED"&gt;void&lt;/span&gt;&amp;nbsp;blink_led2()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;this&amp;nbsp;runs&amp;nbsp;in&amp;nbsp;the&amp;nbsp;normal&amp;nbsp;priority&amp;nbsp;thread&lt;/span&gt;
&amp;nbsp;&amp;nbsp;led2&amp;nbsp;=&amp;nbsp;!led2;
}
&amp;nbsp;
&lt;span class="SH_RESERVED"&gt;void&lt;/span&gt;&amp;nbsp;print_toggle_led()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;this&amp;nbsp;runs&amp;nbsp;in&amp;nbsp;the&amp;nbsp;lower&amp;nbsp;priority&amp;nbsp;thread&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&lt;span class="SH_STDIO"&gt;printf&lt;/span&gt;(&lt;span class="SH_STRING"&gt;&amp;quot;Toggle&amp;nbsp;LED!\r\n&amp;quot;&lt;/span&gt;);
}
&amp;nbsp;
&lt;span class="SH_RESERVED"&gt;void&lt;/span&gt;&amp;nbsp;btn_fall_irq()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;led1&amp;nbsp;=&amp;nbsp;!led1;
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;defer&amp;nbsp;the&amp;nbsp;printf&amp;nbsp;call&amp;nbsp;to&amp;nbsp;the&amp;nbsp;low&amp;nbsp;priority&amp;nbsp;thread&lt;/span&gt;
&amp;nbsp;&amp;nbsp;printfQueue.call(&amp;amp;print_toggle_led);
}
&amp;nbsp;
&lt;span class="SH_RESERVED"&gt;int&lt;/span&gt;&amp;nbsp;main()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;low&amp;nbsp;priority&amp;nbsp;thread&amp;nbsp;for&amp;nbsp;calling&amp;nbsp;printf()&lt;/span&gt;
&amp;nbsp;&amp;nbsp;Thread&amp;nbsp;printfThread(osPriorityLow);
&amp;nbsp;&amp;nbsp;printfThread.start(callback(&amp;amp;printfQueue,&amp;nbsp;&amp;amp;EventQueue::dispatch_forever));
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;normal&amp;nbsp;priority&amp;nbsp;thread&amp;nbsp;for&amp;nbsp;other&amp;nbsp;events&lt;/span&gt;
&amp;nbsp;&amp;nbsp;Thread&amp;nbsp;eventThread(osPriorityNormal);
&amp;nbsp;&amp;nbsp;eventThread.start(callback(&amp;amp;eventQueue,&amp;nbsp;&amp;amp;EventQueue::dispatch_forever));
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;call&amp;nbsp;blink_led2&amp;nbsp;every&amp;nbsp;second,&amp;nbsp;automatically&amp;nbsp;defering&amp;nbsp;to&amp;nbsp;the&amp;nbsp;eventThread&lt;/span&gt;
&amp;nbsp;&amp;nbsp;Ticker&amp;nbsp;ledTicker;
&amp;nbsp;&amp;nbsp;ledTicker.attach(eventQueue.event(&amp;amp;blink_led2),&amp;nbsp;&lt;span class="SH_NUMBER"&gt;1.0f&lt;/span&gt;);
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&lt;span class="SH_COMMENT"&gt;//&amp;nbsp;button&amp;nbsp;fall&amp;nbsp;still&amp;nbsp;runs&amp;nbsp;in&amp;nbsp;the&amp;nbsp;ISR&lt;/span&gt;
&amp;nbsp;&amp;nbsp;btn.fall(&amp;amp;btn_fall_irq);
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&lt;span class="SH_RESERVED"&gt;while&lt;/span&gt;&amp;nbsp;(&lt;span class="SH_NUMBER"&gt;1&lt;/span&gt;)&amp;nbsp;{}
}
&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;mbed-events makes it a lot easier to defer calls from one context to another, whether it&amp;#39;s from an ISR back to a user thread, or from one thread to another. It also makes it easy to prioritise certain events over other events, and does not require you to write your own state machine or taint your main loop. Since it&amp;#39;s a one-liner (wrap the callback in&amp;nbsp;&lt;code&gt;queue.event()&lt;/code&gt;) to wrap a call that would normally run in an ISR, it&amp;#39;s also very friendly for beginners.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12664&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>物联网盛会，500开发者齐聚深圳，参与ARM mbed大会</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/2016-mbed-connect</link><pubDate>Tue, 20 Dec 2016 04:08:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:b49d7bbc-8d15-4ac5-a582-7946a44e68fc</guid><dc:creator>Song Bin 宋斌</dc:creator><slash:comments>0</slash:comments><description>&lt;div class="jive-rendered-content"&gt;
&lt;p&gt;各位社区用户，&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;大家好，&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;本周一（12月5日），ARM在气候宜人的深圳市举办了亚太区mbed Connect大会，这是ARM年度最大的IoT相关活动。当天会场座无虚席，有大约500名IOT开发者和相关行业人士参与了此次大会。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/_944E7E76BA4E27591A4FB0733A57_.JPG"&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;" src="/resized-image/__size/640x480/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/_944E7E76BA4E27591A4FB0733A57_.JPG" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;大会由ARM亚太区IOT市场总监David Pan&amp;nbsp;主持，David也是我们社区的积极用户，欢迎大家关注他并且和他交流IOT相关信息。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/_3B4E0163_.JPG"&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;" src="/resized-image/__size/640x480/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/_3B4E0163_.JPG" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;一般搞活动，需要重量级嘉宾，此次我们的重量级嘉宾就是ARM IoT 部门的VP Michael Horne，他为我们高屋建瓴地介绍了IOT的战略和意图&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/michael-horne-_146FB28B_.JPG"&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;" src="/resized-image/__size/640x480/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/michael-horne-_146FB28B_.JPG" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;因为Michael的到来，很多行业内的大佬也齐聚深圳，在行业论坛上大家纷纷各抒己见，畅想mbed美好明天。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align:center;"&gt;&amp;nbsp;&lt;a href="/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/industry-panel.JPG"&gt;&lt;img src="/resized-image/__size/640x480/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/industry-panel.JPG" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在了解了mbed的战略以后，进入具体技术分享阶段，由ARM的资深工程师为大家深度分析mbed技术和mbed Cloud，其中mbed Cloud是非常新鲜且实用的话题引起了大家的兴趣。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/mbed-_80622F67CB4ECD7E_.JPG"&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;" src="/resized-image/__size/640x480/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/mbed-_80622F67CB4ECD7E_.JPG" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;此外，此次活动并非单纯的听讲，ARM 还为大家准备了现场操作环节，现场上百人同场使用mbed，真是壮观。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/mbed_9E5BFE8BCD645C4F_.png"&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;" src="/resized-image/__size/640x480/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/mbed_9E5BFE8BCD645C4F_.png" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;俗话说一个好汉三个帮，mbed的推广怎么能少了伙伴们呢，此次活动，ARM也得到了业内广大合作伙伴的鼎力支持&lt;/p&gt;
&lt;p style="text-align:center;"&gt;&amp;nbsp;&lt;a href="/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/_1F61228C2F650163_.png"&gt;&lt;img src="/resized-image/__size/640x480/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/_1F61228C2F650163_.png" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;他们也在现场摆设了展位，共建mbed良好生态&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/_4A644D4FA44E416D_.JPG"&gt;&lt;img style="display:block;margin-left:auto;margin-right:auto;" src="/resized-image/__size/640x480/__key/communityserver-blogs-components-weblogfiles/00-00-00-25-63/_4A644D4FA44E416D_.JPG" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;以上是本周mbed Connect的报道，大家如果对mbed的活动或者技术感兴趣，市场问题欢迎咨询David Pan, Lisa Liu,技术问题欢迎咨询Maggie Mei.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12478&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>mbed Connect Asia 2016 documents</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/mbed-connect-asia-2016-documents</link><pubDate>Fri, 16 Dec 2016 05:26:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:14e84a88-a939-4c27-ab0f-897c93f9a938</guid><dc:creator>Lisa.Liu</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;&lt;a href="/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-37-62/Picture1.png"&gt;&lt;img src="/resized-image/__size/640x480/__key/communityserver-blogs-components-weblogfiles/00-00-00-37-62/Picture1.png" alt=" " /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12475&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="https://www.community.arm.com/cn/mbed-cn/b/documents" length="-1" type="application/octet-stream" /></item><item><title>Workshop: Building a smart light device</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/workshop-building-a-smart-light-device</link><pubDate>Fri, 16 Dec 2016 05:22:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:de447877-d6f6-4805-9739-4ad58c2de119</guid><dc:creator>Lisa.Liu</dc:creator><slash:comments>0</slash:comments><description>Jan Jongboom, Developer Evangelist, ARM
Neil Tan, Marketing Manager, ARM&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12472&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="https://github.com/ARMmbed/workshop-mbed-connect-connected-lighting/blob/master/instructions.md" length="-1" type="text/html; charset=utf-8" /></item><item><title>Overview of mbed Device Connector &amp; connecting to the application cloud</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/overview-of-mbed-device-connector-connecting-to-the-application-cloud</link><pubDate>Fri, 16 Dec 2016 02:43:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:28ccce96-4fc8-4348-b9dc-a78fb1d7256d</guid><dc:creator>Lisa.Liu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Jan Jongboom, Developer Evangelist, ARM&lt;br /&gt; Haoli Qu, Software Engineer, ARM&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12471&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2563-00-00-00-01-24-71/4.DevTrack2_2D00_overview_2D00_of_2D00_mdc_2D00_china_5F00_Jan_5F00_Haoli.pdf" length="30928274" type="application/octet-stream" /></item><item><title>Securing IoT with the mbed Ecosystem</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/securing-iot-with-the-mbed-ecosystem</link><pubDate>Fri, 16 Dec 2016 02:41:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:95babb70-fae7-4bba-b880-5c2754f2f953</guid><dc:creator>Lisa.Liu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Xiao Sun, Senior Applications Engineer, ARM&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12469&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2563-00-00-00-01-24-69/2.DevTrack2_2D00_mbed_2D00_Connect_2D00_2016_2D00_Asia_2D00_Securing-IoT-with-the-ARM-mbed-Ecosystem_5F00_Xiao.pdf" length="1686361" type="application/pdf" /></item><item><title>Becoming ARM mbed Enabled</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/becoming-arm-mbed-enabled</link><pubDate>Fri, 16 Dec 2016 02:41:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:86de6622-e70c-48c9-97f8-63194e08f2e2</guid><dc:creator>Lisa.Liu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Mihail Stoyanov, Lead Partner Enablement Engineer, ARM&lt;br /&gt; Xiao Sun, Senior Applications Engineer, ARM&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12470&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2563-00-00-00-01-24-70/3.DevTrack2_2D00_mbed_2D00_Connect_2D00_Asia_2D00_2016_2D00_mbed_2D00_Enabled_2D00_MihailXiao.pdf" length="2569300" type="application/pdf" /></item><item><title>Developing IoT end points with mbed Client</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/developing-iot-end-points-with-mbed-client</link><pubDate>Fri, 16 Dec 2016 02:37:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:738e757f-ede6-4d56-b2bc-2ccd8a8f2ab5</guid><dc:creator>Lisa.Liu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Eric Yang, Staff Applications Engineer, ARM&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12468&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2563-00-00-00-01-24-68/1.DevTrack2_2D00_mbed_2D00_Connect_2D00_2016_2D00_Asia_2D00_Developing-IoT-endpoints-with-mbed-Client_5F00_EricY.pdf" length="2592165" type="application/pdf" /></item><item><title>Developer Track 2</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/developer-track-2</link><pubDate>Fri, 16 Dec 2016 02:36:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:79ce56f5-59d6-4ae6-966a-e1c20e2757fa</guid><dc:creator>Lisa.Liu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Agenda&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12467&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2563-00-00-00-01-24-67/0.DevTrack2_2D00_mbedConnect_2D00_2016_2D00_Asia_2D00_Agenda.pdf" length="19020" type="application/pdf" /></item><item><title>Workshop: Connecting IoT devices to the cloud with IBM and mbed Device Connector</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/workshop-connecting-iot-devices-to-the-cloud-with-ibm-and-mbed-device-connector</link><pubDate>Fri, 16 Dec 2016 02:32:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:53c7e0e3-06d9-4db5-bfe4-93c5c4ddd6a8</guid><dc:creator>Lisa.Liu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Austin Blackstone, Applications Engineer, ARM&lt;br /&gt; Maggie Mei, Graduate Applications Engineer, ARM&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12466&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2563-00-00-00-01-24-66/5.DevTrack1_2D00_mbed_5F00_Connect_2D00_2016_2D00_China_2D00_IoT_5F00_Quickstart_5F00_Workshop_2D00_Maggie_5F00_Austin.pdf" length="675380" type="application/pdf" /></item><item><title>mbed HDK - From prototype to production</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/mbed-hdk---from-prototype-to-production</link><pubDate>Fri, 16 Dec 2016 02:30:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:9e41bd78-145b-44f5-9258-fc43e31e6246</guid><dc:creator>Lisa.Liu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Toyomasa Watarai, &amp;nbsp;Staff Applications Engineer, ARM&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12465&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2563-00-00-00-01-24-65/4.DevTrack1_2D00_mbed_2D00_Connect_2D00_2016_2D00_Asia_2D00_HDK_2D00_from-prototype-to-production_2D00_Toyo.pdf" length="4496108" type="application/pdf" /></item><item><title>Proportional security to meet the business needs of IoT</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/proportional-security-to-meet-the-business-needs-of-iot</link><pubDate>Fri, 16 Dec 2016 02:29:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:8ad7c361-9225-4830-ba35-9d03d90ca4fd</guid><dc:creator>Lisa.Liu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Nick Zhou, Senior Field Applications Engineer, ARM&lt;br /&gt; Marcelo Salazar, Staff Applications Engineer, ARM&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12464&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2563-00-00-00-01-24-64/3.DevTrack1_2D00_mbedConnect_2D00_2016_2D00_Asia_2D00_Proportional-security-to-meet-the-business-needs-of-IoT_2D00_NickZ.pdf" length="1734023" type="application/pdf" /></item><item><title>Developing IoT devices with mbed OS 5</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/developing-iot-devices-with-mbed-os-5</link><pubDate>Fri, 16 Dec 2016 02:27:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:e3dced17-24f7-4fca-824c-6a678fba3fc9</guid><dc:creator>Lisa.Liu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Jan Jongboom, Developer Evangelist, ARM&amp;nbsp;Liyou Zhou, Software Engineer, ARM&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12463&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2563-00-00-00-01-24-63/2.DevTrack1_2D00_mbed_5F00_Connect2016_2D00_Asia_2D00_Developing_2D00_IoT_2D00_devices_2D00_with_2D00_mbed_2D00_OS_2D00_5_2D00_Jan_2D00_Leo.pdf" length="23482601" type="application/octet-stream" /></item><item><title>Introduction to mbed OS</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/introduction-to-mbed-os</link><pubDate>Fri, 16 Dec 2016 02:24:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:b2d87e0e-e7b3-4a8e-9e27-f827849fa40b</guid><dc:creator>Lisa.Liu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Mihail Stoyanov, Lead Partner Enablement Engineer, ARM&lt;/p&gt;
&lt;p&gt;Xiao Sun, Senior Applications Engineer, ARM&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12462&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2563-00-00-00-01-24-62/1.DevTrack1_2D00_mbed_2D00_Connect_2D00_2016_2D00_Asia_2D00_Intro_2D00_to_2D00_mbed_2D00_OS_2D00_Mihail_2D00_Xiao.pdf" length="6808349" type="application/pdf" /></item><item><title>Developer Track 1</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/developer-track-1</link><pubDate>Fri, 16 Dec 2016 02:23:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:908dd34d-29eb-4edd-8275-ed80f31ad02d</guid><dc:creator>Lisa.Liu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Agenda&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12461&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2563-00-00-00-01-24-61/0.DevTrack1_2D00_mbedConnect_2D00_2016_2D00_Asia_2D00_Agenda.pdf" length="19028" type="application/pdf" /></item><item><title>ARM Accelerator Enables IoT Innovations</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/arm-accelerator-enables-iot-innovations</link><pubDate>Fri, 16 Dec 2016 02:22:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:5e1d80be-5a0c-4ebf-b1d3-0f2a21dd0ec6</guid><dc:creator>Lisa.Liu</dc:creator><slash:comments>3</slash:comments><description>&lt;p&gt;Andy Chen, CEO, ARM Accelerator&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12460&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2563-00-00-00-01-24-60/4.Morning_2D00_ARM-Accelerator_5F00_Accelerating-the-Innovation-of-IoT.pdf" length="4670144" type="application/pdf" /></item><item><title>Building the next generation IoT for a global ecosystem</title><link>https://community.arm.com/cn/mbed-cn/b/blog/posts/building-the-next-generation-iot-for-a-global-ecosystem</link><pubDate>Fri, 16 Dec 2016 02:15:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:29d5aa22-e544-49fa-a554-a7c7aed7906e</guid><dc:creator>Lisa.Liu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Michael Horne, VP Marketing and Sales, ARM&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://community.arm.com/aggbug?PostID=12459&amp;AppID=2563&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description><enclosure url="https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2563-00-00-00-01-24-59/3.Morning_2D00_mbed_2D00_Connect_2D00_2016_2D00_Asia_2D00_Keynote_5F00_MichaelH_2D00_FINAL.pdf" length="32234513" type="application/octet-stream" /></item></channel></rss>