<?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: How to over come M4 64k  image limit  when dual core is using in LPC4350</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574454#M19028</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by khfreiberg on Fri Oct 26 12:43:54 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I do not care about performance at this point (16bit, 10wait, must be poor). I am targeting the 4337 and want to stay close to my final design during I'm waiting for my hardware. Debugging is a little easier.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 18:58:52 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T18:58:52Z</dc:date>
    <item>
      <title>How to over come M4 64k  image limit  when dual core is using in LPC4350</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574448#M19022</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by srinu282 on Mon Sep 10 07:31:28 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Am having Hitex4350 development board.using dual core (M4 and M0).Memory map for M4 and M0 as follows.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Region&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Core&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Address range&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Notes&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;M4 code region M4 0x1C000000 - 0x1C00FFFF&amp;nbsp; Includes code and data up to 64K&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;M0 code region M0 0x1C010000 - 0x10007FFF&amp;nbsp; Includes code and data up to 32K.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;M4 data region M4 0x10000000 - 0x1000FFFF&amp;nbsp; pre-initialized RW data, ZI data, heap, stack, 64K max&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;M0 data region M0 0x10001000 - 0x10017FFF&amp;nbsp; pre-initialized RW data, ZI data, heap, stack, 32K max&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Extra IRAM/free&amp;nbsp;&amp;nbsp; 0x10018000 - 0x1001FFFF&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Shared memory region M0/M4 0x10080000 - 0x10083FFF Shared memory region between M0 and M4 core, used for queue.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1.Configured A14 to A22 address lines to access 64k as boot loader will only configure A0 to A13 address lines in start-up file.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2.M4 and M0 images are 64K offset so initially both&amp;nbsp; core are working fine because M4 code size is less than 64K.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.Now my M4 project code size is more than 64K(76262=74-47k). in this case M0 core is not working. i tried to change the 64k offset address in M4 and M0 linker script file. but also M0 core is not working only M4 is running.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;linker scripts are attached. how can i over come this limit? &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;please help me to get out of this problem. Thanks in advance.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;by &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sreenivas ida&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:58:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574448#M19022</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:58:48Z</dc:date>
    </item>
    <item>
      <title>Re: How to over come M4 64k  image limit  when dual core is using in LPC4350</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574449#M19023</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by PhilYoung on Tue Sep 11 03:10:48 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;see my post shadow memory area bug? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;There is a bug in the LPC43xx shadow area mapping which may cause problems.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The LSB of the shadow address register effectively determines the maximum usable memory area as they seem to have implemented shadow offsets as an XOR function.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;here is what I do&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;build M0 image as a bootable image, at 0x0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;generate hex file from M0 image&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;compile M0 into M4 image in a special section&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I use a CM0Image.cpp file to cast it to const so I don't have to keep editing the hex file&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;extern const&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include "REV3LR0.h" // fil generated by M0 build process&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;in the linker script I use&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;CM0_image.o(+RO, OVERALIGN 0x10000)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;this aligns the image to 64K, place the image in a root section as you don't want it copying to RAM&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;in the main code I use&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_CREG-&amp;gt;M0APPMEMMAP = (uint32_t)&amp;amp;LR0 + LPC_CREG-&amp;gt;M4MEMMAP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;where LR0 is the hex table in the hex file.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This ensures that wherever I place the M4 image the M0 image shadow register is set correctly&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Note that I use an image manager so there may be multiple M4 images in the flash, hence reading M4MEMMAP which is the &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;region the current M4 image is based at, this ensures that the correct M0 image is loaded.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If you have just 1 image it will still work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:58:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574449#M19023</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:58:49Z</dc:date>
    </item>
    <item>
      <title>Re: How to over come M4 64k  image limit  when dual core is using in LPC4350</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574450#M19024</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by khfreiberg on Mon Sep 24 19:29:54 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I do not see a 64k limit (Hitex4350-A4). I have the M0 code at 0x1C3... and it works fine.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But I have two scatter files for M0 and M4 and I do two separate downloads instead of creating an M0 image that is downloaded with the M4. I hope for my system that the M0 code once ready will stay as is and I only need to maintain the M4 code. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Greetings&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:58:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574450#M19024</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:58:50Z</dc:date>
    </item>
    <item>
      <title>Re: How to over come M4 64k  image limit  when dual core is using in LPC4350</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574451#M19025</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by srinu282 on Thu Oct 18 06:32:21 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi PhilYoung,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thanks for u r POST. i did the following steps&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;H/W Borad :Hitex4350-A4.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/**********************/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;M0: Code compiled for RAM variant.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/******************Script file************************/ &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; M0 image uses local addresses&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; absolute addresses are used only for shared buffers&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LR_IROM1 0x0&amp;nbsp; 0x8000&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp; ; load region size_region&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ; physical address 0x10080000 - 0x10088000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; 32K code space&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ER_IROM1 0x0 0x8000&amp;nbsp; {&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; *.o (RESET, +First)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; *(InRoot$$Sections)&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; .ANY (+RO)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ; physical address 0x10088000 - 0x1008A000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; 8 K data space&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ER_IRAM1 0x8000 0x2000 { &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; .ANY (+RW +ZI)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; setup a heap using default region name for arm lib "ARM_LIB_HEAP"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ARM_LIB_HEAP +0 EMPTY 0x400 {&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; setup the stack using default region name for arm lib "ARM_LIB_STACK" &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; is growing backwards so will overlap is no space is available&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ARM_LIB_STACK 0xA000 EMPTY -0x800 { &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; ; these are specified with the physical address since are system level shared memory&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ER_IRAM_BUFFERS 0x20004000 0x4000 {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*.o(lowerCaseString_sec)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*.o(directString_sec)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ER_IRAM_MBX 0x2000A000 0x2000 {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; *.o(Slave_mbxTable) ; hold the mailbox system&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;M0 build output create an CM0_image.c file in M0_image folder which contains hex values.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CM0_image.c file size is 22KB&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;M4: Code compiled for FLASH variant.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/*****************Script file for M4*****************************/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; this is the 16 Kbyte sector initialized by the boot loader when booting from EMC&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; it has just A0-A13 address lines configured after reset&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LR_NORFLASH_16K 0x1C000000 0x4000&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ; the table of reset vectors goes here&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ER_FLASH_ROM_RESET_VECTOR_TABLE 0x1C000000 {&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; *.o (RESET, +FIRST) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; this holds all code which needs to be available at boot&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ER_FLASH_ROM_RESET_VECTOR +0 { &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ; used as an alias for the ARM library functions &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; (__main, __scatter, __dc, __*region$$Table etc)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*(InRoot$$Sections) &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; system reset vectors&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*.o(SYSTEM_RESET_VECTORS) &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; the cmsis system init function&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*.o(CMSIS_SYSTEM_INIT)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; scu is used for pinmux &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lpc43xx_scu.o (+RO)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; enable the fpu as soon as possible if present&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fpu_enable.o(+RO)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; platform initialization function&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;platform_init.o(+RO)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; this code copies the initialization routines in ram&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; these are needed to change the PLL settings, the EMC settings&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; are executed from ER_IRAM_SYSTEM_CODE, ER_IRAM_BOOT_CODE &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*.o(INIT_CODE_COPY)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; routine for reallocating vector table (not used for ram project)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; *.o(VECTOR_TABLE_COPY)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ; this region includes just the relocated vector table, if used&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ; 68 interrupt vectors @ 4 bytes each&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; note: the vector table always needs to be aligned-up to a power of two&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; for LPC4350 is 512 bytes &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; 53 user + 16 system = 69 int vectors, 69 * 4 = 276 bytes &amp;gt; round up to 512&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ER_IRAM_VECTOR_TABLE 0x10000000 UNINIT&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; reserved for the relocated irq vector table&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *.o(IRAM_ISR_TABLE)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; these are the runtime locations for the initialization routines&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; which need to be executed from ram&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IRAM_SYSTEM_CODE +0 { &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; ; platform initialization routines which need to run from ram&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*.o(IRAM_INIT_CODE)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; cgu related functions&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lpc43xx_cgu.o (+RO)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ER_IRAM_DATA_REST +0 {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; ; any other data&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; .ANY(+RW)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; .ANY(+ZI)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; "SystemData_noInit" section&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; this section is marked as UNINIT to avoid uLib re-initializing it&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; during the __main() library call&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; the global initialized and zero-initialized variables are configured by&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; the application code&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IRAM_SYSTEM_DATA +0 UNINIT {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*.o(IRAM_SYSTEM_DATA)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; rest of the parallel flash above 16 K up to 4 Mbytes&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LR_NORFLASH_REST 0x1C004000 0x3FC000 {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ER_M0_SLAVE_IMAGE 0x1C004000 {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;*(M0_SLAVE_IMAGE) ; place M0 image here&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;CM0_image.o(+RO, OVERALIGN 0x10000)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; anything else read only&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ER_FLASH_REST +0 {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;.ANY (+RO) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; any RW data after first 16K&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;RW_IRAM_REST 0x10004000 {&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; RW_IRAM_REST 0x10009f44 {&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;.ANY (+RW +ZI)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; setup a heap using default region name for arm lib "ARM_LIB_HEAP"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;ARM_LIB_HEAP +0 EMPTY 0x200 {&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ARM_LIB_HEAP +0 EMPTY 0x9800 {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; setup the stack using default region name for arm lib "ARM_LIB_STACK" &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; is growing backwards so will overlap if no space is available&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ARM_LIB_STACK 0x10019000 EMPTY -0x800 { &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; #define M4_BUF_START0x20000000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; #define M4_BUF_LEN0x4000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; RW_IRAM_BUFFERS 0x20000000 0x4000 { ; rw buffers&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*.o(lowerToUpper_sec)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*.o(reversed_sec)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*.o(power3_sec) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ; #define HOST_CMD_BLOCK_START0x20008000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; RW_IRAM_HOST_CMD 0x20008000 0x2000&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; ;ipc_cmd_buffer.o (cmdBuffer_section, +First)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ;#define HOST_MSG_BLOCK_START0x2000A000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; RW_IRAM_HOST_MSG 0x2000A000 0x2000&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; ;ipc_msg_buffer.o (msgBuffer_section, +First)&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;M4 : main.c added following lines&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; /* used to place the CM0_IMAGE array within the "SLAVE IMAGE" section */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#pragma arm section rodata = "M0_SLAVE_IMAGE"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* fromelf.exe always generates an unsigned char LR0[] type of array */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;const/* DO NOT REMOVE THIS CONST QUALIFIER, IS USED TO PLACE THE IMAGE IN M4 ROM */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* specify the filename used for the slave image */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define SLAVE_IMAGE_FILE "CM0_image.c"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#include SLAVE_IMAGE_FILE&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#pragma arm section rodata&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* return to default scheme */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And&amp;nbsp; calling lpc43xx_m0_boot function from main.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lpc43xx_m0_boot function as follows &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void lpc43xx_m0_boot(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Make sure the M0 core is being held in reset via the RGU */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_RGU-&amp;gt;RESET_CTRL1 = (1 &amp;lt;&amp;lt; 24);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Enable system clocking for the M0 core via the CGU. The CPU is&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; clocked at the M4 clock rate. (Wow!) */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;* (uint32_t *) 0x40051490 = 0x1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Keep in mind the M0 image must be aligned on a 4K boundary */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; LPC_CREG-&amp;gt;M0APPMEMMAP = (uint32_t)&amp;amp;LR0 + LPC_CREG-&amp;gt;M4MEMMAP;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//LPC_CREG-&amp;gt;M0APPMEMMAP = (uint32_t)&amp;amp;LR0; // Tried this stmt also &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Boot the M0 core by clearing the reset status */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_RGU-&amp;gt;RESET_CTRL1 = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; /* Enable M0-&amp;gt;M4 interrupt and set priority/preemption */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;NVIC_SetPriority(M0CORE_IRQn, ((0x01 &amp;lt;&amp;lt; 3) | 0x01));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NVIC_EnableIRQ(M0CORE_IRQn);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;After doing all these changes also M0 core is not booting. only M4 core is booting. can u guide me how to get out of this problem. Thanks in advance ….&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:58:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574451#M19025</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:58:50Z</dc:date>
    </item>
    <item>
      <title>Re: How to over come M4 64k  image limit  when dual core is using in LPC4350</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574452#M19026</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by gregd on Thu Oct 18 07:07:57 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you are running code directly from the external EMC CS0 (0x1C...) memory bank from both the M4 and M0?&amp;nbsp; Are you not copying the M0 code to internal ram before running?&amp;nbsp; How bad is the performance hit doing this?&amp;nbsp; &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:58:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574452#M19026</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:58:51Z</dc:date>
    </item>
    <item>
      <title>Re: How to over come M4 64k  image limit  when dual core is using in LPC4350</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574453#M19027</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by PhilYoung on Sat Oct 20 15:54:08 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;it's difficult to picture the layout, a map file would be more useful, but I noticed a comment that you align the m0 image on a 4K boundary, this requires the M0 image to be less than 4K otherwise it will fail.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the image remap is an exor function so the alignment determines the maximum size of image that can be addressed without the address becoming scrambled.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This is an undocumented feature!!.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:58:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574453#M19027</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:58:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to over come M4 64k  image limit  when dual core is using in LPC4350</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574454#M19028</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by khfreiberg on Fri Oct 26 12:43:54 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I do not care about performance at this point (16bit, 10wait, must be poor). I am targeting the 4337 and want to stay close to my final design during I'm waiting for my hardware. Debugging is a little easier.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:58:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574454#M19028</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:58:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to over come M4 64k  image limit  when dual core is using in LPC4350</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574455#M19029</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by srinu282 on Mon Nov 26 07:27:48 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi gregd,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Thanks for u r reply.Using IPC am downloading M0 image in to 0x10080000.Code as follows&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* specify the filename used for the slave image */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define SLAVE_IMAGE_FILE "CM0_image.c"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* used to place the CM0_IMAGE array within the "SLAVE IMAGE" section */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#pragma arm section rodata = "M0_SLAVE_IMAGE"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* fromelf.exe always generates an unsigned char LR0[] type of array */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;const/* DO NOT REMOVE THIS CONST QUALIFIER, IS USED TO PLACE THE IMAGE IN M4 ROM */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include SLAVE_IMAGE_FILE&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#pragma arm section rodata&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* return to default scheme */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;M0 core is build for&amp;nbsp; RAM not for Flash target.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In Main()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IPC_haltSlave();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* setup the queue system */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IPC_masterInitQueue(&amp;amp;_hostCmdBufferData[0], MASTER_CMDBUF_SIZE, &amp;amp;_hostMsgBufferData[0], SLAVE_MSGBUF_SIZE);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* download the cpu image */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IPC_downloadSlaveImage(SLAVE_ROM_START, &amp;amp;LR0[0], sizeof(LR0));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* start the remote processor */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IPC_startSlave();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1.Image downloaded in to flash.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2.Started debugging using ULINK2 on HITEX – A4 board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3.M4 is working fine with FreeRTOS functionality.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4.M0 core is booting but TaskCreation is failing. Task creation function as follows&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define configMINIMAL_STACK_SIZE( ( unsigned short ) 256 )&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;xTaskCreate( vM0_Task, ( signed char * ) "M0_Task",&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(configMINIMAL_STACK_SIZE*5), NULL, (tskIDLE_PRIORITY + 1UL),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;( xTaskHandle * ) NULL );&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;5.Linkerscript&amp;nbsp; and startup file as follows&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;M0 Linker script&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; M0 image uses local addresses&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; absolute addresses are used only for shared buffers&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LR_IROM1 0x0&amp;nbsp; 0x8000&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp; ; load region size_region&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ; physical address 0x10080000 - 0x10088000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; 32K code space&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ER_IROM1 0x0 0x8000&amp;nbsp; {&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; *.o (RESET, +First)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; *(InRoot$$Sections)&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; .ANY (+RO)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ; physical address 0x10088000 - 0x1008A000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; 8 K data space&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ER_IRAM1 0x8000 0x2000 { &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; .ANY (+RW +ZI)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; setup a heap using default region name for arm lib "ARM_LIB_HEAP"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ARM_LIB_HEAP +0 EMPTY 0x400 {&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;; setup the stack using default region name for arm lib "ARM_LIB_STACK" &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;; is growing backwards so will overlap is no space is available&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ARM_LIB_STACK 0xA000 EMPTY -0x800 { &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; ; these are specified with the physical address since are system level shared memory&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ER_IRAM_BUFFERS 0x20004000 0x4000 {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*.o(lowerCaseString_sec)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*.o(directString_sec)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ER_IRAM_MBX 0x2000A000 0x2000 {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; *.o(Slave_mbxTable) ; hold the mailbox system&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Startup file&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/*****************************************************************************/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* M0 Core */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/*****************************************************************************/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#if defined(CORE_M0)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* External functions */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;extern int __main (void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Default interrupt service routines.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * Defined as weak symbols. Can be redefined in the application.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define ALIAS(def) __attribute__((weak,alias(#def)))&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void Default_IRQHandler (void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void Reset_Handler (void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void NMI_Handler (void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void HardFault_Handler (void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void BusFault_Handler (void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void UsageFault_Handler (void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void Sign_Value (void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void DebugMon_Handler (void);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void SVC_Handler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void PendSV_Handler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void SysTick_Handler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* freeRTOS versions of the OS calls */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void vPortSVCHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void xPortPendSVHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void xPortSysTickHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* hook for the IPC interrupt routine */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void IPC_Master2Slave_IRQHandler(void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;extern void Image$$ARM_LIB_STACK$$ZI$$Limit;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void DAC_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void M4_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void DMA_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void FLASH_EEPROM_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void ETH_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void SDIO_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void LCD_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void USB0_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void USB1_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void SCT_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void M0_RIT_OR_WWDT_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void TIMER0_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void TIMER1_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void TIMER2_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void TIMER3_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void MCPWM_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void ADC0_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void I2C0_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void I2C1_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void SPI_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void ADC1_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void SSP0_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void SSP1_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void UART0_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void UART1_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void UART2_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void UART3_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void I2S0_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void I2S1_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void SPIFI_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void SGPIO_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void GPIO0_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void GPIO1_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void GPIO2_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void GPIO3_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void GPIO4_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void GPIO5_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void GPIO6_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void GPIO7_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void GINT0_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void GINT1_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void EVRT_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void CAN1_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void VADC_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void ATIMER_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void RTC_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void WDT_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void CAN0_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void QEI_IRQHandler (void) ALIAS(Default_IRQHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define SIGN_VALUE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x5A5A5A5A&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/** Vector table. Placed in section called RESET&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void (* const vector_table[])(void) __attribute__ ((section("RESET"), used)) =&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (void(*)(void)) &amp;amp;Image$$ARM_LIB_STACK$$ZI$$Limit,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Reset_Handler,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NMI_Handler,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HardFault_Handler,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SVC_Handler,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DebugMon_Handler,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PendSV_Handler,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SysTick_Handler,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTC_IRQHandler,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPC_Master2Slave_IRQHandler,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_IRQHandler,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ETH_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 21 Ethernet */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SDIO_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 22 SD/MMC */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 23 LCD */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; USB0_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 24 USB0 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; USB1_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 25 USB1 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCT_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 26 State Configurable Timer */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; M0_RIT_OR_WWDT_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 27 Repetitive Interrupt Timer - WWDT timer */ &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TIMER0_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 28 Timer0 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GINT1_IRQHandler,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TIMER3_IRQHandler,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCPWM_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 32 Motor Control PWM */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADC0_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 33 A/D Converter 0 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2C0_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 34 I2C0 */ //TODO Optional I2C1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SGPIO_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 47 SGPIO */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 36 SPI */ //optional DAC&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ADC1_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 37 A/D Converter 1 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SSP0_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 38 SSP0 */ //TODO optional SSP1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EVRT_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 58 Event Router */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART0_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 40 UART0 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART2_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 42 UART2 */ //TODO optinbal CAN1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART3_IRQHandler,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S0_IRQHandler,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 44 I2S0 */ //TODO optional I2S1 or QEI&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN0_IRQHandler,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;};&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void Reset_Handler (void) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Jump to the library entry point __main() */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __main();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Loop here forever, in case main() ever returns. */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (1) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Please help me to get out of TaskCreation problem&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:58:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/How-to-over-come-M4-64k-image-limit-when-dual-core-is-using-in/m-p/574455#M19029</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:58:53Z</dc:date>
    </item>
  </channel>
</rss>

