<?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>topic MCF5225 TWR-MECH with TWR-MEM (locating code on external memory) in ColdFire/68K Microcontrollers and Processors</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5225-TWR-MECH-with-TWR-MEM-locating-code-on-external-memory/m-p/621389#M13055</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'v been running into a problem to debug my project on CW10.7.&amp;nbsp;I have TWR-MECH (MCF5225) where my application require the extension of memory due to the size of the code. I have sat the miniflex bus (&lt;SPAN&gt;0X80000000)&amp;nbsp;&lt;/SPAN&gt;to access the MRAM memory on TWR-MEM and I changed the build file settings to load the code to the extMRAM at the address 0X80000000.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My debug session can't start the main code and it seems to have the trouble locating some of the memory elements pointed by the startcf.c where I get the error No source available where the interrupts are saved&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="176025_176025.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/122837i129314665F623BA0/image-size/large?v=v2&amp;amp;px=999" role="button" title="176025_176025.png" alt="176025_176025.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/13816iAEFB21637B34C9AB/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="176027_176027.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/122838i2C28193B4E7F53B1/image-size/large?v=v2&amp;amp;px=999" role="button" title="176027_176027.png" alt="176027_176027.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_4.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/13920i7FDB7E3D23BFADBE/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_4.png" alt="pastedImage_4.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I would like to point that I'm a total beginner so all the build options and the components settings are generated automatically with CW (including the link file) which shown below with the memory segment:&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;KEEP_SECTION { .vectortable }&lt;/P&gt;&lt;P&gt;MEMORY {&lt;BR /&gt; interrupts (RX) : ORIGIN = 0x20000000, LENGTH = 0x00000600&lt;BR /&gt; code (RWX) : ORIGIN = 0x80000600, LENGTH = 0x0007A800&lt;BR /&gt; data (RW) : ORIGIN = 0x2000AC00, LENGTH = 0x00005400&lt;BR /&gt; ipsbar (RW) : ORIGIN = 0x40000000, LENGTH = 0x0&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;SECTIONS {&lt;BR /&gt; # Heap and Stack sizes definition&lt;BR /&gt; ___heap_size = 0x0400;&lt;BR /&gt; ___stack_size = 0x0400;&lt;/P&gt;&lt;P&gt;.ipsbar : {} &amp;gt; ipsbar&lt;/P&gt;&lt;P&gt;.interrupts :&lt;BR /&gt; {&lt;BR /&gt; ___VECTOR_RAM = .;&lt;BR /&gt; * (.vectortable)&lt;BR /&gt; . = ALIGN (0x4);&lt;BR /&gt; } &amp;gt; interrupts&lt;/P&gt;&lt;P&gt;.text :&lt;BR /&gt; {&lt;BR /&gt; * (.text)&lt;BR /&gt; . = ALIGN(0x4);&lt;BR /&gt; * (.rodata)&lt;BR /&gt; . = ALIGN(0x4);&lt;BR /&gt; ___ROM_AT = .;&lt;BR /&gt; ___DATA_ROM = .;&lt;BR /&gt; } &amp;gt; code&lt;/P&gt;&lt;P&gt;.data : AT(___ROM_AT)&lt;BR /&gt; {&lt;BR /&gt; ___DATA_RAM = .;&lt;BR /&gt; * (.exception)&lt;BR /&gt; . = ALIGN(0x4);&lt;BR /&gt; __exception_table_start__ = .;&lt;BR /&gt; EXCEPTION&lt;BR /&gt; __exception_table_end__ = .;&lt;/P&gt;&lt;P&gt;___sinit__ = .;&lt;BR /&gt; STATICINIT&lt;/P&gt;&lt;P&gt;___DATA_START =.;&lt;BR /&gt; * (.data)&lt;BR /&gt; . = ALIGN (0x4);&lt;BR /&gt; ___DATA_END =.;&lt;/P&gt;&lt;P&gt;__SDATA_START =.;&lt;BR /&gt; * (.sdata)&lt;BR /&gt; . = ALIGN (0x4);&lt;BR /&gt; __SDATA_END = .;&lt;/P&gt;&lt;P&gt;__SDA_BASE = .;&lt;BR /&gt; . = ALIGN(0x4);&lt;BR /&gt; } &amp;gt; data&lt;/P&gt;&lt;P&gt;.bss :&lt;BR /&gt; {&lt;BR /&gt; __START_SBSS = .;&lt;BR /&gt; * (.sbss)&lt;BR /&gt; *(SCOMMON)&lt;BR /&gt; __END_SBSS = .;&lt;/P&gt;&lt;P&gt;__START_BSS = .;&lt;BR /&gt; * (.bss)&lt;BR /&gt; * (COMMON)&lt;BR /&gt; __END_BSS = .;&lt;BR /&gt; . = ALIGN(0x4);&lt;BR /&gt; } &amp;gt;&amp;gt; data&lt;/P&gt;&lt;P&gt;# 64 Kbytes Internal SRAM&lt;BR /&gt; ___RAMBAR = 0x20000000;&lt;BR /&gt; ___RAMBAR_SIZE = 0x00010000;&lt;/P&gt;&lt;P&gt;# 512 KByte Internal Flash Memory&lt;BR /&gt; ___FLASH_ADDRESS = 0x00000000;&lt;BR /&gt; ___FLASH_SIZE = 0x00080000;&lt;/P&gt;&lt;P&gt;___IPSBAR = ADDR(.ipsbar);&lt;/P&gt;&lt;P&gt;___SP_AFTER_RESET = ___RAMBAR + ___RAMBAR_SIZE - 4;&lt;BR /&gt; ___HEAP_START = .;&lt;BR /&gt; ___HEAP_END = ___HEAP_START + ___heap_size;&lt;BR /&gt; ___SP_END = ___HEAP_END;&lt;BR /&gt; ___SP_INIT = ___SP_END + ___stack_size;&lt;/P&gt;&lt;P&gt;___mem_limit = ___HEAP_END;&lt;BR /&gt; ___stack_safety = 16;&lt;/P&gt;&lt;P&gt;___heap_addr = ___HEAP_START;&lt;BR /&gt; ___heap_size = ___HEAP_END - ___HEAP_START;&lt;BR /&gt; __SP_INIT = ___SP_INIT;&lt;/P&gt;&lt;P&gt;_romp_at = ___ROM_AT + SIZEOF(.data);&lt;BR /&gt; .romp : AT(_romp_at)&lt;BR /&gt; {&lt;BR /&gt; __S_romp = _romp_at;&lt;BR /&gt; WRITEW(___ROM_AT);&lt;BR /&gt; WRITEW(ADDR(.data));&lt;BR /&gt; WRITEW(SIZEOF(.data));&lt;BR /&gt; WRITEW(0);&lt;BR /&gt; WRITEW(0);&lt;BR /&gt; WRITEW(0);&lt;BR /&gt; }&lt;BR /&gt;}&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm not sure if I have to do more to point the startup to the main or whatever it's not possible to place to code on the external MRAM for initialisation.&lt;/P&gt;&lt;P&gt;I was trying to read the notes in relation to the LCF commands file but it look like the code has to be loaded into the intRAM then copied&amp;nbsp;to the extRAM before the startup. I thought as well that the application can't be initiated from the miniflex.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 09 Feb 2017 17:49:06 GMT</pubDate>
    <dc:creator>abdulaziztakrou</dc:creator>
    <dc:date>2017-02-09T17:49:06Z</dc:date>
    <item>
      <title>MCF5225 TWR-MECH with TWR-MEM (locating code on external memory)</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5225-TWR-MECH-with-TWR-MEM-locating-code-on-external-memory/m-p/621389#M13055</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'v been running into a problem to debug my project on CW10.7.&amp;nbsp;I have TWR-MECH (MCF5225) where my application require the extension of memory due to the size of the code. I have sat the miniflex bus (&lt;SPAN&gt;0X80000000)&amp;nbsp;&lt;/SPAN&gt;to access the MRAM memory on TWR-MEM and I changed the build file settings to load the code to the extMRAM at the address 0X80000000.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My debug session can't start the main code and it seems to have the trouble locating some of the memory elements pointed by the startcf.c where I get the error No source available where the interrupts are saved&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="176025_176025.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/122837i129314665F623BA0/image-size/large?v=v2&amp;amp;px=999" role="button" title="176025_176025.png" alt="176025_176025.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/13816iAEFB21637B34C9AB/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="176027_176027.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/122838i2C28193B4E7F53B1/image-size/large?v=v2&amp;amp;px=999" role="button" title="176027_176027.png" alt="176027_176027.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_4.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/13920i7FDB7E3D23BFADBE/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_4.png" alt="pastedImage_4.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I would like to point that I'm a total beginner so all the build options and the components settings are generated automatically with CW (including the link file) which shown below with the memory segment:&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;KEEP_SECTION { .vectortable }&lt;/P&gt;&lt;P&gt;MEMORY {&lt;BR /&gt; interrupts (RX) : ORIGIN = 0x20000000, LENGTH = 0x00000600&lt;BR /&gt; code (RWX) : ORIGIN = 0x80000600, LENGTH = 0x0007A800&lt;BR /&gt; data (RW) : ORIGIN = 0x2000AC00, LENGTH = 0x00005400&lt;BR /&gt; ipsbar (RW) : ORIGIN = 0x40000000, LENGTH = 0x0&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;SECTIONS {&lt;BR /&gt; # Heap and Stack sizes definition&lt;BR /&gt; ___heap_size = 0x0400;&lt;BR /&gt; ___stack_size = 0x0400;&lt;/P&gt;&lt;P&gt;.ipsbar : {} &amp;gt; ipsbar&lt;/P&gt;&lt;P&gt;.interrupts :&lt;BR /&gt; {&lt;BR /&gt; ___VECTOR_RAM = .;&lt;BR /&gt; * (.vectortable)&lt;BR /&gt; . = ALIGN (0x4);&lt;BR /&gt; } &amp;gt; interrupts&lt;/P&gt;&lt;P&gt;.text :&lt;BR /&gt; {&lt;BR /&gt; * (.text)&lt;BR /&gt; . = ALIGN(0x4);&lt;BR /&gt; * (.rodata)&lt;BR /&gt; . = ALIGN(0x4);&lt;BR /&gt; ___ROM_AT = .;&lt;BR /&gt; ___DATA_ROM = .;&lt;BR /&gt; } &amp;gt; code&lt;/P&gt;&lt;P&gt;.data : AT(___ROM_AT)&lt;BR /&gt; {&lt;BR /&gt; ___DATA_RAM = .;&lt;BR /&gt; * (.exception)&lt;BR /&gt; . = ALIGN(0x4);&lt;BR /&gt; __exception_table_start__ = .;&lt;BR /&gt; EXCEPTION&lt;BR /&gt; __exception_table_end__ = .;&lt;/P&gt;&lt;P&gt;___sinit__ = .;&lt;BR /&gt; STATICINIT&lt;/P&gt;&lt;P&gt;___DATA_START =.;&lt;BR /&gt; * (.data)&lt;BR /&gt; . = ALIGN (0x4);&lt;BR /&gt; ___DATA_END =.;&lt;/P&gt;&lt;P&gt;__SDATA_START =.;&lt;BR /&gt; * (.sdata)&lt;BR /&gt; . = ALIGN (0x4);&lt;BR /&gt; __SDATA_END = .;&lt;/P&gt;&lt;P&gt;__SDA_BASE = .;&lt;BR /&gt; . = ALIGN(0x4);&lt;BR /&gt; } &amp;gt; data&lt;/P&gt;&lt;P&gt;.bss :&lt;BR /&gt; {&lt;BR /&gt; __START_SBSS = .;&lt;BR /&gt; * (.sbss)&lt;BR /&gt; *(SCOMMON)&lt;BR /&gt; __END_SBSS = .;&lt;/P&gt;&lt;P&gt;__START_BSS = .;&lt;BR /&gt; * (.bss)&lt;BR /&gt; * (COMMON)&lt;BR /&gt; __END_BSS = .;&lt;BR /&gt; . = ALIGN(0x4);&lt;BR /&gt; } &amp;gt;&amp;gt; data&lt;/P&gt;&lt;P&gt;# 64 Kbytes Internal SRAM&lt;BR /&gt; ___RAMBAR = 0x20000000;&lt;BR /&gt; ___RAMBAR_SIZE = 0x00010000;&lt;/P&gt;&lt;P&gt;# 512 KByte Internal Flash Memory&lt;BR /&gt; ___FLASH_ADDRESS = 0x00000000;&lt;BR /&gt; ___FLASH_SIZE = 0x00080000;&lt;/P&gt;&lt;P&gt;___IPSBAR = ADDR(.ipsbar);&lt;/P&gt;&lt;P&gt;___SP_AFTER_RESET = ___RAMBAR + ___RAMBAR_SIZE - 4;&lt;BR /&gt; ___HEAP_START = .;&lt;BR /&gt; ___HEAP_END = ___HEAP_START + ___heap_size;&lt;BR /&gt; ___SP_END = ___HEAP_END;&lt;BR /&gt; ___SP_INIT = ___SP_END + ___stack_size;&lt;/P&gt;&lt;P&gt;___mem_limit = ___HEAP_END;&lt;BR /&gt; ___stack_safety = 16;&lt;/P&gt;&lt;P&gt;___heap_addr = ___HEAP_START;&lt;BR /&gt; ___heap_size = ___HEAP_END - ___HEAP_START;&lt;BR /&gt; __SP_INIT = ___SP_INIT;&lt;/P&gt;&lt;P&gt;_romp_at = ___ROM_AT + SIZEOF(.data);&lt;BR /&gt; .romp : AT(_romp_at)&lt;BR /&gt; {&lt;BR /&gt; __S_romp = _romp_at;&lt;BR /&gt; WRITEW(___ROM_AT);&lt;BR /&gt; WRITEW(ADDR(.data));&lt;BR /&gt; WRITEW(SIZEOF(.data));&lt;BR /&gt; WRITEW(0);&lt;BR /&gt; WRITEW(0);&lt;BR /&gt; WRITEW(0);&lt;BR /&gt; }&lt;BR /&gt;}&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm not sure if I have to do more to point the startup to the main or whatever it's not possible to place to code on the external MRAM for initialisation.&lt;/P&gt;&lt;P&gt;I was trying to read the notes in relation to the LCF commands file but it look like the code has to be loaded into the intRAM then copied&amp;nbsp;to the extRAM before the startup. I thought as well that the application can't be initiated from the miniflex.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Feb 2017 17:49:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5225-TWR-MECH-with-TWR-MEM-locating-code-on-external-memory/m-p/621389#M13055</guid>
      <dc:creator>abdulaziztakrou</dc:creator>
      <dc:date>2017-02-09T17:49:06Z</dc:date>
    </item>
    <item>
      <title>Re: MCF5225 TWR-MECH with TWR-MEM (locating code on external memory)</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5225-TWR-MECH-with-TWR-MEM-locating-code-on-external-memory/m-p/621390#M13056</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If you don't get an answer from here, I would suggest searching the Code Warrior forums, and if nothing turns up, post in the appropriate CW forum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Feb 2017 22:17:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5225-TWR-MECH-with-TWR-MEM-locating-code-on-external-memory/m-p/621390#M13056</guid>
      <dc:creator>TomE</dc:creator>
      <dc:date>2017-02-12T22:17:42Z</dc:date>
    </item>
  </channel>
</rss>

