<?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 Re: Banked memory model in CodeWarrior for MCU</title>
    <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186191#M6463</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Daniel,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your suggestion worked as magic.&amp;nbsp; &lt;IMG alt=":smileyvery-happy:" class="emoticon emoticon-smileyvery-happy" id="smileyvery-happy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-very-happy.gif" title="Smiley Very Happy" /&gt; Thank you very much for the help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Have a great day!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Softa&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 03 Jun 2009 03:26:33 GMT</pubDate>
    <dc:creator>SofTA</dc:creator>
    <dc:date>2009-06-03T03:26:33Z</dc:date>
    <item>
      <title>Banked memory model</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186187#M6459</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Expert,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I use CW and PE to build my project. My current project uses small memory model. It seems I run out of the memory because I got en error message as "Out of allocation space in seqment ROM at address 0X7EE8". So, I re-started a project with banked memory model and imported all of the code to the new project. But it seems the new project with banked memory model can not hold even my origianl code. It gave me the same error message on the code that works on the small memory model. If I remove some code, then it can pass. What is my problem? Is there any trick to set up the banked memory model with PE?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks a lot.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Softa&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 30 May 2009 07:23:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186187#M6459</guid>
      <dc:creator>SofTA</dc:creator>
      <dc:date>2009-05-30T07:23:16Z</dc:date>
    </item>
    <item>
      <title>Re: Banked memory model</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186188#M6460</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please provide more details.&lt;/P&gt;&lt;P&gt;Especially which derivative and architecture you are using (S08, HC12, S12, S12X)?&lt;/P&gt;&lt;P&gt;Check the map file to see which memory area are, and which are not used.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Jun 2009 05:34:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186188#M6460</guid>
      <dc:creator>CompilerGuru</dc:creator>
      <dc:date>2009-06-01T05:34:59Z</dc:date>
    </item>
    <item>
      <title>Re: Banked memory model</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186189#M6461</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi CompilerGuru,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much for offering help. I am not a professional programmer but an electrical engineer knowing enough C programming to get my job done. So, I may miss something that is rudimentary to a professional.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The chip I am using is MC9S08QE128CLK. Besides setting the memory model as banked (and I checked Build option in CPU bean that all of the memory areas are enabled), I did have tried to put _far modifier in front of some functions (e.g. void __far DSP(void)) which has no effect. Following is part of the Project.map file. I am not sure if it can give you some hint?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Look forward hearing from you and many many thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Softa&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Project.map file:&lt;/P&gt;&lt;P&gt;*********************************************************************************************&lt;BR /&gt;LINKING FAILED&lt;BR /&gt;The linking process failed in some stage.&lt;BR /&gt;Depending on the phase the linker failed, part of the information contained in this map file may be inaccurate or wrong.&lt;BR /&gt;If the linking failed before the allocation phase finished, then the addresses might be inaccurate.&lt;BR /&gt;Also summary information like the code size is likely to be misleading.&lt;BR /&gt;---------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;*********************************************************************************************&lt;BR /&gt;TARGET SECTION&lt;BR /&gt;---------------------------------------------------------------------------------------------&lt;BR /&gt;Processor&amp;nbsp;&amp;nbsp; : Freescale HC08&lt;BR /&gt;Memory Model: BANKED&lt;BR /&gt;File Format : ELF (no debug info)&lt;BR /&gt;Linker&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : SmartLinker V-5.0.37 Build 9092, Apr&amp;nbsp; 3 2009&lt;/P&gt;&lt;P&gt;*********************************************************************************************&lt;BR /&gt;FILE SECTION&lt;BR /&gt;---------------------------------------------------------------------------------------------&lt;BR /&gt;RTSHC08.C.o (ansibim.lib)&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; Model: BANKED,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lang: ANSI-C&lt;BR /&gt;STDLIB.C.o (ansibim.lib)&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; Model: BANKED,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lang: ANSI-C&lt;BR /&gt;Start08.c.o&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Model: BANKED,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lang: ANSI-C&lt;BR /&gt;Cpu.c.o&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Model: BANKED,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lang: ANSI-C&lt;BR /&gt;IO_Map.c.o&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Model: BANKED,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lang: ANSI-C&lt;BR /&gt;Vectors.c.o&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Model: BANKED,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lang: ANSI-C&lt;BR /&gt;…&lt;BR /&gt;…&lt;BR /&gt;…&lt;BR /&gt;*********************************************************************************************&lt;BR /&gt;STARTUP SECTION&lt;BR /&gt;---------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;*********************************************************************************************&lt;BR /&gt;SECTION-ALLOCATION SECTION&lt;BR /&gt;Section Name&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; Size&amp;nbsp; Type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; From&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; To&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Segment&lt;BR /&gt;---------------------------------------------------------------------------------------------&lt;BR /&gt;NON_BANKED&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; 1865&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x20F1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x2839&amp;nbsp;&amp;nbsp; ROM&lt;BR /&gt;.text&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;&amp;nbsp; 19375&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x283A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x73E8&amp;nbsp;&amp;nbsp; ROM&lt;BR /&gt;.rodata&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;&amp;nbsp;&amp;nbsp; 44&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x73E9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x7414&amp;nbsp;&amp;nbsp; ROM&lt;BR /&gt;.rodata1&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; 1358&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x7415&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x7962&amp;nbsp;&amp;nbsp; ROM&lt;BR /&gt;.abs_section_ffbd&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; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFBD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFBD&amp;nbsp;&amp;nbsp; .absSeg0&lt;BR /&gt;.abs_section_ffbf&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; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFBF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFBF&amp;nbsp;&amp;nbsp; .absSeg1&lt;BR /&gt;.abs_section_0&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; 1&amp;nbsp;&amp;nbsp; N/I&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0&amp;nbsp;&amp;nbsp; .absSeg2&lt;BR /&gt;.abs_section_1&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; 1&amp;nbsp;&amp;nbsp; N/I&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x1&amp;nbsp;&amp;nbsp; .absSeg3&lt;BR /&gt;….&lt;BR /&gt;…&lt;BR /&gt;…&lt;BR /&gt;&amp;nbsp;abs_section_1870&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; 2&amp;nbsp;&amp;nbsp; N/I&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x1870&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x1871&amp;nbsp;&amp;nbsp; .absSeg181&lt;BR /&gt;.abs_section_ffc0&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; 64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFC0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFF&amp;nbsp;&amp;nbsp; .absSeg182&lt;BR /&gt;.abs_section_8000&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; 512&amp;nbsp;&amp;nbsp; N/I&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x81FF&amp;nbsp;&amp;nbsp; .absSeg183&lt;BR /&gt;.bss&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 839&amp;nbsp;&amp;nbsp; R/W&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xA0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x3E6&amp;nbsp;&amp;nbsp; RAM&lt;BR /&gt;.startData&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; 18&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x20DF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x20F0&amp;nbsp;&amp;nbsp; ROM&lt;BR /&gt;.init&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 95&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x2080&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x20DE&amp;nbsp;&amp;nbsp; ROM&lt;BR /&gt;.common&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; 1384&amp;nbsp;&amp;nbsp; R/W&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x3E7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x94E&amp;nbsp;&amp;nbsp; RAM&lt;BR /&gt;AS1_CODE&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; 271&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x7963&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x7A71&amp;nbsp;&amp;nbsp; ROM&lt;BR /&gt;AS2_CODE&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; 283&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x7A72&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x7B8C&amp;nbsp;&amp;nbsp; ROM&lt;BR /&gt;SM1_CODE&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;&amp;nbsp; 84&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x7B8D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x7BE0&amp;nbsp;&amp;nbsp; ROM&lt;BR /&gt;SM2_CODE&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;&amp;nbsp; 26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x7BE1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x7BFA&amp;nbsp;&amp;nbsp; ROM&lt;BR /&gt;…&lt;BR /&gt;…&lt;BR /&gt;…&lt;BR /&gt;.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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128&amp;nbsp;&amp;nbsp; R/W&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x94F&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x9CE&amp;nbsp;&amp;nbsp; RAM&lt;/P&gt;&lt;P&gt;Summary of section sizes per section type:&lt;BR /&gt;READ_ONLY (R):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5EAA (dec:&amp;nbsp;&amp;nbsp;&amp;nbsp; 24234)&lt;BR /&gt;READ_WRITE (R/W):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 92F (dec:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2351)&lt;BR /&gt;NO_INIT (N/I):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2CF (dec:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 719)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Jun 2009 23:33:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186189#M6461</guid>
      <dc:creator>SofTA</dc:creator>
      <dc:date>2009-06-01T23:33:32Z</dc:date>
    </item>
    <item>
      <title>Re: Banked memory model</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186190#M6462</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Not sure how complete PE supports the banked memory model. It looks like processor expert is generating the map file for the banked memory model just as for the small memory model. And more importantly, it does not allocate its interrupt handlers explicitly non banked as it is necessary to place DEFAULT_ROM into banks.&lt;/P&gt;&lt;P&gt;So I would suggest to stick with the small memory model and to place the own custom functions into the banked areas. See below how this can be done. Note that the code below will place the sample functions into the banked memory regardless of the memory model.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Maybe some PE expert can guide us how to setup the banked memory model with PE so that by default the code ends up paged.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Adding a __far qualifier does change the calling convention of the function. As the functions have to be allocated differently as well, using a pragma as below is necessary anyway. By using the __FAR_SEG section qualifier, the __far is not necessary at all. In all but advanced special cases, declaring individual functions with __far is not necessary.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;sample.h:&lt;/P&gt;&lt;PRE&gt;
#ifndef SAMPLE_H_
#define SAMPLE_H_

#pragma push
#pragma CODE_SEG __FAR_SEG PAGED_ROM

extern void SampleFunction0(void);
extern void SampleFunction1(void);
extern void SampleFunction2(void);

#pragma pop

#endif // SAMPLE_H_&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&amp;nbsp;sample.c:&lt;/P&gt;&lt;PRE&gt;
#include "sample.h"#pragma push#pragma CODE_SEG __FAR_SEG PAGED_ROMvoid SampleFunction0() {}  void SampleFunction1() {  SampleFunction0(); }void SampleFunction2() {  SampleFunction1(); }#pragma pop&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:37:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186190#M6462</guid>
      <dc:creator>CompilerGuru</dc:creator>
      <dc:date>2020-10-29T09:37:06Z</dc:date>
    </item>
    <item>
      <title>Re: Banked memory model</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186191#M6463</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Daniel,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your suggestion worked as magic.&amp;nbsp; &lt;IMG alt=":smileyvery-happy:" class="emoticon emoticon-smileyvery-happy" id="smileyvery-happy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-very-happy.gif" title="Smiley Very Happy" /&gt; Thank you very much for the help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Have a great day!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Softa&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Jun 2009 03:26:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186191#M6463</guid>
      <dc:creator>SofTA</dc:creator>
      <dc:date>2009-06-03T03:26:33Z</dc:date>
    </item>
    <item>
      <title>Re: Banked memory model</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186192#M6464</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi guys&lt;/P&gt;&lt;P&gt;I have some doubts about it ( I´m using a QE128):&lt;/P&gt;&lt;P&gt;1- If I have a 70Kb code, shoud I use small memory model and just tell the compiler to put some extra code in paged memory bu using CODE_SEG pragmas?or shoul I remake the whole project as banked..?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2- Allocatoing a code&amp;nbsp;using CODE_SEG pragma, I don´t need to add the far word in each function of this segment, is it? ( I preffer just use simp,e prgma to entirte file instead of each new funcion must remember to add far word..probably I will forget it sometimes...)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;3- is there some complete (inerruption use,different segments code area,prm file,etc) source code I could take a look to help me to implement my application?&lt;/P&gt;&lt;P&gt;Thanks !!&lt;/P&gt;&lt;P&gt;Ricardo Raupp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Sep 2009 18:37:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186192#M6464</guid>
      <dc:creator>Ricardo_RauppV</dc:creator>
      <dc:date>2009-09-09T18:37:06Z</dc:date>
    </item>
    <item>
      <title>Re: Banked memory model</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186193#M6465</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The banked memory model sounds appropriate, the overhead of the banking call exists but is not as significant as for data paging. However placing some of your code explicitely into a is also simple and a bit more efficient than using the banked memory model.&lt;/P&gt;&lt;P&gt;Use a&lt;/P&gt;&lt;P&gt;#pragma CODE_SEG __FAR_SEG YOUR_BANKED_SECTION_NAME&lt;/P&gt;&lt;P&gt;to specify that functions in this section should use the __far calling convention, also note that functions have to be declared and defined in this section, say the header file should contain the same #pragma (and a #pragma DEFAULT at the end).&lt;/P&gt;&lt;P&gt;Using the __far for functions is rarely necessary, it makes sence for singular cases only where the location a function gets placed does not match the calling convention to be used.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sorry, no simple sample from me. Clicking a sample application together with Processor Expert is an alternative to see one way things can be done.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Sep 2009 00:20:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186193#M6465</guid>
      <dc:creator>CompilerGuru</dc:creator>
      <dc:date>2009-09-10T00:20:11Z</dc:date>
    </item>
    <item>
      <title>Re: Banked memory model</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186194#M6466</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi CmpilerGuru,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&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; I use CW6.2 &amp;amp; PE. The chip is MC9S08QE128. I used banked memory model putting the interrupts to non-banked like this. Because my code size is 90kb.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#ifndef __SMALL__&lt;BR /&gt;#pragma CODE_SEG __NEAR_SEG NON_BANKED&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Interrupt void()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#ifndef __SMALL__&lt;BR /&gt;#pragma CODE_SEG DEFAULT&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm ok with this one. But after all, I found timing is a bit slow.. Because I&amp;nbsp;need the faster&amp;nbsp; timing,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;then I created&amp;nbsp;a new project with the small memory model by putting all the function calls to banked area as suggested in this post like this (for example).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt;&amp;nbsp;* File:&amp;nbsp;&amp;nbsp;mdrv_eeprom.h&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&lt;BR /&gt;&amp;nbsp;*/&lt;/P&gt;&lt;P&gt;/*** BeginHeader */&lt;BR /&gt;#ifndef __MDRV_EEPROM_H__&lt;BR /&gt;#define __MDRV_EEPROM_H__&lt;BR /&gt;/*** EndHeader */&lt;/P&gt;&lt;P&gt;#pragma push&lt;BR /&gt;#pragma CODE_SEG __FAR_SEG PAGED_ROM&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;//***** Functions *****&lt;BR /&gt;extern void eeprom_read(unsigned char * dest, unsigned long addr, unsigned short len);&lt;BR /&gt;extern void eeprom_write(unsigned long addr, unsigned char * src, unsigned short len);&lt;/P&gt;&lt;P&gt;#pragma pop&lt;BR /&gt;/*** BeginHeader */&lt;BR /&gt;#endif __MDRV_EEPROM_H__&lt;BR /&gt;/*** EndHeader */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*** BeginHeader */&lt;BR /&gt;#ifndef __MDRV_EEPROM_C__&lt;BR /&gt;#define __MDRV_EEPROM_C__&lt;BR /&gt;/*** EndHeader */&lt;/P&gt;&lt;P&gt;#include "mdrv_acu205.h"&lt;/P&gt;&lt;P&gt;/////////////////////////////////////&lt;BR /&gt;// Begin of Functions&lt;BR /&gt;/////////////////////////////////////&lt;BR /&gt;#pragma push&lt;BR /&gt;#pragma CODE_SEG __FAR_SEG PAGED_ROM&lt;/P&gt;&lt;P&gt;void eeprom_read(unsigned char * dest, unsigned long addr, unsigned short len)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;void eeprom_write(unsigned long addr, unsigned char * src, unsigned short len)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;#pragma pop&lt;/P&gt;&lt;P&gt;/*** BeginHeader */&lt;BR /&gt;#endif __MDRV_EEPROM_C__&lt;BR /&gt;/*** EndHeader */&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But now I found that in P&amp;amp;E debugging,&amp;nbsp;mcu frequencies changed to different frequencies. What am I wrong? Pls suggest me something. I do appreciate your suggestion.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Looking forwards to your reply.&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Oct 2009 10:27:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/Banked-memory-model/m-p/186194#M6466</guid>
      <dc:creator>cartoon</dc:creator>
      <dc:date>2009-10-20T10:27:09Z</dc:date>
    </item>
  </channel>
</rss>

