<?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>MPC5xxx中的主题 Re: space allocation</title>
    <link>https://community.nxp.com/t5/MPC5xxx/space-allocation/m-p/561836#M4002</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;When "Generate ROM image" is checked then linker generates ROM (flash) block for global variables/objects that needs to be initialized during start-up. If not checked e.g. RAM target this initialization is done by debugger.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now "ROM Image Address" determines where this block should be placed.&lt;/P&gt;&lt;P&gt;The address should match with start address of the&amp;nbsp; main flash block - which is usually internal_flash (0x00042000).&lt;/P&gt;&lt;P&gt;So the ROM image block is physically placed at the first free address available in this memory segment (so after all sections that are placed into internal_flash).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The memory map you posted probably refers to the previous case -Rom Image Address set&amp;nbsp; 0x00041000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note:&lt;/P&gt;&lt;P&gt;Regarding RAM Buffer Address - It's recommended to keep the address the same as ROM Image Address.&lt;/P&gt;&lt;P&gt;It specifies the address in RAM that is to be used as a buffer for the flash image programmer. But this feature is not used by current run control devices.&lt;/P&gt;&lt;P&gt;RAM buffer is not created/used when the RAM address equals to the ROM address.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Stan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 13 Jul 2016 12:59:45 GMT</pubDate>
    <dc:creator>stanish</dc:creator>
    <dc:date>2016-07-13T12:59:45Z</dc:date>
    <item>
      <title>space allocation</title>
      <link>https://community.nxp.com/t5/MPC5xxx/space-allocation/m-p/561835#M4001</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;&lt;EM&gt;&lt;STRONG&gt;Tools&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Micro: MPC5604B&lt;/P&gt;&lt;P&gt;IDE: codeworrior IDE version 5.9.0&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Question:&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;I have a question about using .lcf. I want to allocate my code into two flash blocks.&lt;/P&gt;&lt;P&gt;one is in Code Flash Sector 0(start addrees:0x00000000&amp;nbsp; end address:0x00007FFF), the other is in Code Flash Sector 6(start addrees:0x00040000&amp;nbsp; end address:0x0005FFFF). The first one is placed in text section, the second one is placed in internal_flash.&lt;/P&gt;&lt;P&gt;The updated .lcf file is shown below:&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;MEMORY&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;{&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; resetvector:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; org = 0x00000000,&amp;nbsp;&amp;nbsp; len = 0x00000008&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; init:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; org = 0x00000020,&amp;nbsp;&amp;nbsp; len = 0x00000FE0&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; interrupts_flash:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; org = 0x00041000,&amp;nbsp;&amp;nbsp; len = 0x00001000&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal_flash:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; org = 0x00042000,&amp;nbsp;&amp;nbsp; len = 0x0003E000&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal_ram:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; org = 0x40000000,&amp;nbsp;&amp;nbsp; len = 0x00006600&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; heap&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; org = 0x40006600,&amp;nbsp;&amp;nbsp; len = 0x00000900 &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; stack :&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; org = 0x40007000,&amp;nbsp;&amp;nbsp; len = 0x00001000&amp;nbsp; &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;/* This will ensure the rchw and reset vector are not stripped by the linker */&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;FORCEACTIVE { "bam_rchw" "bam_resetvector"}&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;SECTIONS&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;{&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp; .__bam_bootarea LOAD (0x00000000): {} &amp;gt; resetvector&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP : {&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .init LOAD (&lt;STRONG style="color: #e23d39;"&gt;0x00000020&lt;/STRONG&gt;) : {}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .init_vle (VLECODE) LOAD (_e_init) : {&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.init)&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.init_vle)&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;gt; init&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp; GROUP : {&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; /* Note: _e_ prefix enables load after END of that specified section */&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ivor_branch_table (VLECODE) LOAD (ADDR(interrupts_flash)) : {}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .intc_hw_branch_table (VLECODE) LOAD (_e_ivor_branch_table) ALIGN (0x800) : {}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ivor_handlers (VLECODE) LOAD (_e_intc_hw_branch_table) : {} /* Each MPC555x handler require 16B alignmt */&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp; } &amp;gt; interrupts_flash&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp; GROUP&amp;nbsp; : {&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp; .intc_sw_isr_vector_table ALIGN (2048) : {} /* For INTC in SW Vector Mode */&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt; .text : {} &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;.text_vle (VLECODE) ALIGN(0x08): {&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp; *(.text)&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;*(.text_vle)&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;.rodata (CONST) : {&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.rdata)&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.rodata)&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt; .ctors : {}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;.dtors : {}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; extab : {}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; extabindex : {}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;gt; internal_flash&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;GROUP : {&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp; .__uninitialized_intc_handlertable ALIGN(0x08) : {}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .data&amp;nbsp;&amp;nbsp; : {}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .sdata&amp;nbsp; : {}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .sbss&amp;nbsp;&amp;nbsp; : {}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .sdata2 : {}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .sbss2&amp;nbsp; : {}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .bss&amp;nbsp;&amp;nbsp;&amp;nbsp; : {}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;gt; internal_ram&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;/* Freescale CodeWarrior compiler address designations */&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;_stack_addr = ADDR(stack)+SIZEOF(stack);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;_stack_end&amp;nbsp; = ADDR(stack);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;_heap_addr&amp;nbsp; = ADDR(heap);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;_heap_end&amp;nbsp;&amp;nbsp; = ADDR(heap)+SIZEOF(heap);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;__IVPR_VALUE = ADDR(interrupts_flash);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;/* L2 SRAM Location (used for L2 SRAM initialization) */&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;L2SRAM_LOCATION = 0x40000000;&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then modify the rom image address as below:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/121969i8C4C38FC0422B1A3/image-size/large?v=v2&amp;amp;px=999" title="155550_155550.png" alt="155550_155550.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/36460iC390BB2C30C80BCD/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_13.png" alt="pastedImage_13.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When I compile and link the code , warning message will be shown:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/121970iA674E8221F0DB56A/image-size/large?v=v2&amp;amp;px=999" title="155551_155551.png" alt="155551_155551.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/36505iADA574A2BD5B916D/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_14.png" alt="pastedImage_14.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;If I change the&amp;nbsp; ROM image address to 0x00042000 (equal to &lt;EM style="font-size: 8pt; font-family: arial, helvetica, sans-serif;"&gt;internal_flash address&lt;/EM&gt;). There are no warning message.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In my understanding, the objects stored in flash should be code or constant data, so their virtual address should be equal to ROM address. They needn't copy operation. but actually the address are not the same.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/121971i97621A46087EA312/image-size/large?v=v2&amp;amp;px=999" title="155556_155556.png" alt="155556_155556.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/36506i308D29CDC00E612A/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_16.png" alt="pastedImage_16.png" /&gt;&lt;/span&gt;&amp;nbsp; &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Why? what's the relationship between ROM image address and memory allocation?&lt;/P&gt;&lt;P&gt;Thanks for your reply.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best Regards&lt;/P&gt;&lt;P&gt;Bryce&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jul 2016 02:43:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/space-allocation/m-p/561835#M4001</guid>
      <dc:creator>朱先生</dc:creator>
      <dc:date>2016-07-13T02:43:49Z</dc:date>
    </item>
    <item>
      <title>Re: space allocation</title>
      <link>https://community.nxp.com/t5/MPC5xxx/space-allocation/m-p/561836#M4002</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;When "Generate ROM image" is checked then linker generates ROM (flash) block for global variables/objects that needs to be initialized during start-up. If not checked e.g. RAM target this initialization is done by debugger.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now "ROM Image Address" determines where this block should be placed.&lt;/P&gt;&lt;P&gt;The address should match with start address of the&amp;nbsp; main flash block - which is usually internal_flash (0x00042000).&lt;/P&gt;&lt;P&gt;So the ROM image block is physically placed at the first free address available in this memory segment (so after all sections that are placed into internal_flash).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The memory map you posted probably refers to the previous case -Rom Image Address set&amp;nbsp; 0x00041000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note:&lt;/P&gt;&lt;P&gt;Regarding RAM Buffer Address - It's recommended to keep the address the same as ROM Image Address.&lt;/P&gt;&lt;P&gt;It specifies the address in RAM that is to be used as a buffer for the flash image programmer. But this feature is not used by current run control devices.&lt;/P&gt;&lt;P&gt;RAM buffer is not created/used when the RAM address equals to the ROM address.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Stan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jul 2016 12:59:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/space-allocation/m-p/561836#M4002</guid>
      <dc:creator>stanish</dc:creator>
      <dc:date>2016-07-13T12:59:45Z</dc:date>
    </item>
  </channel>
</rss>

