<?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 FAQs中的主题 Compiler defines for LPC43xx Multicore projects</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE-FAQs/Compiler-defines-for-LPC43xx-Multicore-projects/m-p/468778#M25</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Historically the LPCXpresso LPC43xx project wizards created a number of compiler defines at the time a multicore master project was created that could be used to determine what slave projects were linked to the master project:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;TT&gt;LPC43_MULTICORE_M0APP&lt;/TT&gt;&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Configured for a Cortex-M4 master project when an M0APP project is linked to it at time of the master projects creation&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;TT&gt;LPC43_MULTICORE_M0SUB&lt;/TT&gt;&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Configured for a Cortex-M4 master project when an M0SUB project is linked to it at time of the master projects creatio&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;These symbols are thus used in the LPC43xx M4 main() code generated by the project wizard to determine whether to boot slave CPUs:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #646464; font-family: Arial, sans-serif; font-size: 12px; padding: 5px 10px; background: #eeeeee;"&gt;&lt;SPAN style="font-size: 12pt;"&gt;&lt;TT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Start M0APP slave processor&lt;BR /&gt;#if defined (LPC43_MULTICORE_M0APP)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cr_start_m0(SLAVE_M0APP,&amp;amp;__core_m0app_START__);&lt;BR /&gt;#endif&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Start M0SUB slave processor&lt;BR /&gt;#if defined (LPC43_MULTICORE_M0SUB)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cr_start_m0(SLAVE_M0SUB,&amp;amp;__core_m0sub_START__);&lt;BR /&gt;#endif&lt;/TT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LPCXpresso 7.2.0 and later also provide a number of additional "__MULTICORE_ ..." compiler defines, providing a more flexible means of checking what form of multicore system is in use.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These newer style of defines have the major advantage of staying in step with any changes made to the "multicore nature" of a project after the initial project creation. For new projects, we would recommend the use of these "__MULTICORE_ ..." compiler defines rather than the old-style "LPC43_MULTICORE_ ..." compiler defines. Thus for example a forthcoming version of LPCXpresso will switch to using these defines in its slave boot code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Master project defines:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;TT&gt;__MULTICORE_MASTER&lt;/TT&gt;&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Defined automatically by LPCXpresso for a project which has been configured to be a Cortex-M4 Master project&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;TT&gt;__MULTICORE_MASTER_SLAVE_M0APP&lt;/TT&gt;&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Defined automatically by LPCXpresso for a Cortex-M4 master project when an M0APP project is linked to it [LPCXpresso 7.40 and later only]&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;TT&gt;__MULTICORE_MASTER_SLAVE_M0SUB&lt;/TT&gt;&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Defined automatically by LPCXpresso for a Cortex-M4 master project when an M0SUB project is linked to it [LPCXpresso 7.40 and later only]&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Slave project defines:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;TT&gt;__MULTICORE_M0APP&lt;/TT&gt;&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Defined automatically by LPCXpresso for a project which has been configured to be a M0APP slave project&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;TT&gt;__MULTICORE_M0SUB&lt;/TT&gt;&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Defined automatically by LPCXpresso for a project which has been configured to be a M0SUB slave project&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;HR style="color: #646464; font-family: Arial, sans-serif; font-size: 12px;" /&gt;&lt;H2 style="font-family: Lato, sans-serif; color: #e66e08; font-size: 18px; background: 0 50% #ffffff;"&gt;For more information:&lt;/H2&gt;&lt;UL&gt;&lt;LI&gt;&lt;A _jive_internal="true" data-containerid="11529" data-containertype="14" data-objectid="390661" data-objecttype="1" href="https://community.nxp.com/thread/390661"&gt;LPC43xx Cortex-M4 / M0 Multicore Applications&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 31 Mar 2016 17:43:23 GMT</pubDate>
    <dc:creator>lpcware-support</dc:creator>
    <dc:date>2016-03-31T17:43:23Z</dc:date>
    <item>
      <title>Compiler defines for LPC43xx Multicore projects</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE-FAQs/Compiler-defines-for-LPC43xx-Multicore-projects/m-p/468778#M25</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Historically the LPCXpresso LPC43xx project wizards created a number of compiler defines at the time a multicore master project was created that could be used to determine what slave projects were linked to the master project:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;TT&gt;LPC43_MULTICORE_M0APP&lt;/TT&gt;&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Configured for a Cortex-M4 master project when an M0APP project is linked to it at time of the master projects creation&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;TT&gt;LPC43_MULTICORE_M0SUB&lt;/TT&gt;&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Configured for a Cortex-M4 master project when an M0SUB project is linked to it at time of the master projects creatio&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;These symbols are thus used in the LPC43xx M4 main() code generated by the project wizard to determine whether to boot slave CPUs:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #646464; font-family: Arial, sans-serif; font-size: 12px; padding: 5px 10px; background: #eeeeee;"&gt;&lt;SPAN style="font-size: 12pt;"&gt;&lt;TT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Start M0APP slave processor&lt;BR /&gt;#if defined (LPC43_MULTICORE_M0APP)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cr_start_m0(SLAVE_M0APP,&amp;amp;__core_m0app_START__);&lt;BR /&gt;#endif&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Start M0SUB slave processor&lt;BR /&gt;#if defined (LPC43_MULTICORE_M0SUB)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cr_start_m0(SLAVE_M0SUB,&amp;amp;__core_m0sub_START__);&lt;BR /&gt;#endif&lt;/TT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LPCXpresso 7.2.0 and later also provide a number of additional "__MULTICORE_ ..." compiler defines, providing a more flexible means of checking what form of multicore system is in use.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These newer style of defines have the major advantage of staying in step with any changes made to the "multicore nature" of a project after the initial project creation. For new projects, we would recommend the use of these "__MULTICORE_ ..." compiler defines rather than the old-style "LPC43_MULTICORE_ ..." compiler defines. Thus for example a forthcoming version of LPCXpresso will switch to using these defines in its slave boot code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Master project defines:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;TT&gt;__MULTICORE_MASTER&lt;/TT&gt;&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Defined automatically by LPCXpresso for a project which has been configured to be a Cortex-M4 Master project&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;TT&gt;__MULTICORE_MASTER_SLAVE_M0APP&lt;/TT&gt;&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Defined automatically by LPCXpresso for a Cortex-M4 master project when an M0APP project is linked to it [LPCXpresso 7.40 and later only]&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;TT&gt;__MULTICORE_MASTER_SLAVE_M0SUB&lt;/TT&gt;&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Defined automatically by LPCXpresso for a Cortex-M4 master project when an M0SUB project is linked to it [LPCXpresso 7.40 and later only]&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Slave project defines:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;TT&gt;__MULTICORE_M0APP&lt;/TT&gt;&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Defined automatically by LPCXpresso for a project which has been configured to be a M0APP slave project&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;TT&gt;__MULTICORE_M0SUB&lt;/TT&gt;&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Defined automatically by LPCXpresso for a project which has been configured to be a M0SUB slave project&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;HR style="color: #646464; font-family: Arial, sans-serif; font-size: 12px;" /&gt;&lt;H2 style="font-family: Lato, sans-serif; color: #e66e08; font-size: 18px; background: 0 50% #ffffff;"&gt;For more information:&lt;/H2&gt;&lt;UL&gt;&lt;LI&gt;&lt;A _jive_internal="true" data-containerid="11529" data-containertype="14" data-objectid="390661" data-objecttype="1" href="https://community.nxp.com/thread/390661"&gt;LPC43xx Cortex-M4 / M0 Multicore Applications&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Mar 2016 17:43:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE-FAQs/Compiler-defines-for-LPC43xx-Multicore-projects/m-p/468778#M25</guid>
      <dc:creator>lpcware-support</dc:creator>
      <dc:date>2016-03-31T17:43:23Z</dc:date>
    </item>
  </channel>
</rss>

