<?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>LPCXpresso IDE中的主题 lpc4350 dual - core</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/lpc4350-dual-core/m-p/537996#M5797</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by andrea-peter on Mon May 21 07:35:38 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have an LPC4350-db1 board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm trying to run something on both cores M4 and M0.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;First, a question:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; - the LPC4350 user manual says that the M0 is reset by default (M0APP_RST, bit 24 of RESET_CTRL1), but when I start debugging a project built for M4, the corresponding bit in RESET_ACTIVE_STATUS1 has value 1 (no reset), does that mean that both cores run by default at startup? In that case, how does the startup process work with both cores running work? Do they just look up their shadow pointers and every core goes its way?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The real problem:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; - I'm not able to run both cores, that means, I can either run something on the M4 or on the M0 (depends what target is set in the project setup).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(BTW, I'm using Red Suite 4 NXP edition)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried to follow some examples (like "IPC_Blinking from" Diolan &lt;/SPAN&gt;&lt;A href="http://"&gt;http://www.lpc4350.com/projects/lpc-4350/wiki/Software_Examples&lt;/A&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What I figured out is that the following steps are required:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; - build a project for M0 with its main.c&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;convert the M0's .afx image to .bin with:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;arm-none-eabi-objcopy*-O*binary*IPC_Blinking_M0.axf*IPC_Blinking_M0.bin&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;and then to .h with&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;binary2array.exe&amp;nbsp; IPC_Blinking_M0.bin&amp;nbsp; IPC_Blinking_M0.h (this program is included in the examples)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#include the M0_image.h in the M4's project&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; - build a project for M4 with its main&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;the code (on the M4) to start the M0 does something like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - reset M0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - copy image to imgAddr&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - M0_shadow_pointer &amp;lt;= imgAddr&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - "unreset" M0&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;M0APP_RST goes to 0 when resetting M0 end back to 1 when "unresetting",&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;but somehow the M0 doesn't want to wake up.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Am I missing something?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Andrea.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;P.S.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;just received Red Probe+, it's quite awesome for inspecting peripheral registers, I'm curious to see what else it can do :)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 00:25:04 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T00:25:04Z</dc:date>
    <item>
      <title>lpc4350 dual - core</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/lpc4350-dual-core/m-p/537996#M5797</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by andrea-peter on Mon May 21 07:35:38 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have an LPC4350-db1 board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm trying to run something on both cores M4 and M0.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;First, a question:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; - the LPC4350 user manual says that the M0 is reset by default (M0APP_RST, bit 24 of RESET_CTRL1), but when I start debugging a project built for M4, the corresponding bit in RESET_ACTIVE_STATUS1 has value 1 (no reset), does that mean that both cores run by default at startup? In that case, how does the startup process work with both cores running work? Do they just look up their shadow pointers and every core goes its way?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The real problem:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; - I'm not able to run both cores, that means, I can either run something on the M4 or on the M0 (depends what target is set in the project setup).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(BTW, I'm using Red Suite 4 NXP edition)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried to follow some examples (like "IPC_Blinking from" Diolan &lt;/SPAN&gt;&lt;A href="http://"&gt;http://www.lpc4350.com/projects/lpc-4350/wiki/Software_Examples&lt;/A&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What I figured out is that the following steps are required:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; - build a project for M0 with its main.c&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;convert the M0's .afx image to .bin with:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;arm-none-eabi-objcopy*-O*binary*IPC_Blinking_M0.axf*IPC_Blinking_M0.bin&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;and then to .h with&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;binary2array.exe&amp;nbsp; IPC_Blinking_M0.bin&amp;nbsp; IPC_Blinking_M0.h (this program is included in the examples)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#include the M0_image.h in the M4's project&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; - build a project for M4 with its main&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;the code (on the M4) to start the M0 does something like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - reset M0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - copy image to imgAddr&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - M0_shadow_pointer &amp;lt;= imgAddr&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - "unreset" M0&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;M0APP_RST goes to 0 when resetting M0 end back to 1 when "unresetting",&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;but somehow the M0 doesn't want to wake up.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Am I missing something?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Andrea.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;P.S.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;just received Red Probe+, it's quite awesome for inspecting peripheral registers, I'm curious to see what else it can do :)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:25:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/lpc4350-dual-core/m-p/537996#M5797</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:25:04Z</dc:date>
    </item>
    <item>
      <title>Re: lpc4350 dual - core</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/lpc4350-dual-core/m-p/537997#M5798</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by CodeRedSupport on Tue May 22 04:57:21 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;At a simple level, the way that dual core works on the LPC43xx is that the Cortex-M4 part is the master CPU, and the Cortex-M0 the slave MCU. When the system powers up, the M4 will start executing, but the M0 will be held in reset until the code running on the M4 has set up the full system and then explicitly releases the M0 from reset.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We have some dual core related example work underway at the moment. This isn't finished yet - thus I can't really post anything here right now. But if you are using Red Suite NXP Edition with valid support entitlement rather than LPCXpresso, then we might be able to provide you with some information. Just contact our support team directly...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://www.code-red-tech.com/support.php&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CodeRedSupport&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:25:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/lpc4350-dual-core/m-p/537997#M5798</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:25:05Z</dc:date>
    </item>
    <item>
      <title>Re: lpc4350 dual - core</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/lpc4350-dual-core/m-p/537998#M5799</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by andrea-peter on Mon Jun 04 10:07:52 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Ok,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It works, thanks to red code's (new) wiki site about dual core projects.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here it is:&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://support.code-red-tech.com/CodeRedWiki/LPC43DualCoreProjects&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:25:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/lpc4350-dual-core/m-p/537998#M5799</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:25:06Z</dc:date>
    </item>
  </channel>
</rss>

