<?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: Accessing Banked constants from other Paged memory in S12 / MagniV Microcontrollers</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125723#M416</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Please check the TN's for all the details. For string literals use&lt;BR /&gt;#pragma STRING_SEG __GPAGE_SEG MY_GPAGE_STRING_SECTION&lt;BR /&gt;instead of the CONST_SEG as in the TN's,&lt;BR /&gt;and place MY_GPAGE_STRING_SECTION into the paged area.&lt;BR /&gt;Make sure all accesses to those strings are using __far pointers.&lt;BR /&gt;I would keep on allocating the STRINGS section into a non paged area, it will be empty if the pragma above was visible for all string literals.&lt;BR /&gt;&lt;BR /&gt;Daniel&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 07 Feb 2008 07:22:58 GMT</pubDate>
    <dc:creator>CompilerGuru</dc:creator>
    <dc:date>2008-02-07T07:22:58Z</dc:date>
    <item>
      <title>Accessing Banked constants from other Paged memory</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125713#M406</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: 'Comic Sans MS';"&gt;Hi,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: 'Comic Sans MS';"&gt;I am using Code warrior HC12 V2.0. I have placed constant in banked memory and wanted to access the same constant from the code which is residing in another page memory. I am not able to access it, please let me know what could be the problem and let me know the steps also.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: 'Comic Sans MS';"&gt;Thanks in advance.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: 'Comic Sans MS';"&gt;Regards,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: 'Comic Sans MS';"&gt;Vignesh&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Feb 2006 18:40:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125713#M406</guid>
      <dc:creator>Vicky</dc:creator>
      <dc:date>2006-02-01T18:40:29Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing Banked constants from other Paged memory</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125714#M407</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;Hi Vicki,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;&lt;EM&gt;May you please indicate which device you are using ?&lt;/EM&gt;&lt;BR /&gt;On newer devices you have a Global page (&lt;STRONG&gt;GPAGE&lt;/STRONG&gt;) which could be used to point to your constant page and retrieve data easily.&lt;BR /&gt;Also, you should be able to access it using the &lt;STRONG&gt;Full address&lt;/STRONG&gt;... 0x4FC1000 for instance (&lt;STRONG&gt;far pointers&lt;/STRONG&gt;).&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;Cheers,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Comic Sans MS"&gt;Alvin.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Feb 2006 19:21:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125714#M407</guid>
      <dc:creator>Nabla69</dc:creator>
      <dc:date>2006-02-02T19:21:18Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing Banked constants from other Paged memory</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125715#M408</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi Alvin,&lt;/DIV&gt;&lt;DIV&gt;I am using MC9S12DP256B and Code warrior CW2.0 version.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;Issue is:&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;1. Constant is in Page 0x35, and I am using Ansi Library. But none of the functions like memcpy, strncpy are none working as expected i.e., value is not copied from source to destination.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;Few solutions I tried:&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;1. modified libdefs.h file to support far pointer&lt;/DIV&gt;&lt;DIV&gt;2. modified datapage.c to enable PPAGE&lt;/DIV&gt;&lt;DIV&gt;3. Enable -CpPPAGE=RUNTIME in compiler option.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Even then also, its not working.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Please let me know, if I have missed any thing else...&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks,&lt;/DIV&gt;&lt;DIV&gt;Vicy&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Feb 2006 17:41:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125715#M408</guid>
      <dc:creator>Vicky</dc:creator>
      <dc:date>2006-02-03T17:41:35Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing Banked constants from other Paged memory</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125716#M409</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;Hi Vicky,&lt;/P&gt;&lt;P&gt;This reply may be a little late - but perhaps is useful to others?&lt;/P&gt;&lt;P&gt;Datapage.c contains an error - PPAGE on the MC9S12 256 and 512 variants (at least) resides at 0x30 and not 0x35 as Datapage.c defines it.&lt;/P&gt;&lt;P&gt;I had the same issue, and had to manually modify datapage.c to get this to work!&lt;/P&gt;&lt;P&gt;Hopefully&amp;nbsp;this will be fixed in a later version of Codewarrior?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Apr 2006 20:00:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125716#M409</guid>
      <dc:creator>EmbeddedCoder</dc:creator>
      <dc:date>2006-04-10T20:00:18Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing Banked constants from other Paged memory</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125717#M410</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;If you want to access banked constant on a HCS12 MCU on CodeWarrior HC12 V2.0, you have to:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1- Add file datapage.c to your project&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2- Make sure it appears before ansi.lib in the link order (you can use drag and&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;drop to change&amp;nbsp;the sequence&amp;nbsp;in&amp;nbsp;the Link order view.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3- Build with option -CpPPAGE=RUNTIME -DHCS12.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Note that switching to V3.1 or V4.5 will make it much simpler to access banked constants.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I hope it helps.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;CrasyCat&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Apr 2006 20:24:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125717#M410</guid>
      <dc:creator>CrasyCat</dc:creator>
      <dc:date>2006-04-10T20:24:59Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing Banked constants from other Paged memory</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125718#M411</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;Hello Vicky&lt;/P&gt;&lt;P&gt;I would first suggest you to upgrade to CodeWarrior for HC12 V3.1 or V4.5. Management of banked constants is much simpler with the newer releases.&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you want to stick with V2.0, basically if you want to use banked constants in ANSI library functions you have to perform the following:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT size="3"&gt;·&lt;/FONT&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;Define your string constants or constants in a user defined string segment or constant segment with attribute PPAGE. As you want to allocate string constants in ROM, you have to use PPAGE to access them.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT size="3"&gt;·&lt;/FONT&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;Make sure to use far pointers rather than pointer to define any variable pointing to such a string.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Example:&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;#pragma STRING_SEG PPAGE myStrConst&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;char *far myStr = "This is a constant String";&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT size="2"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;#pragma STRING_SEG&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt; DEFAULT&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT size="3"&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;P&gt;&lt;FONT size="3"&gt;&lt;FONT size="2"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;#pragma CONST_SEG PPAGE myConst&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&lt;/SPAN&gt; char Tab[]= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xA};&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT size="2"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;#pragma STRING_SEG&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt; DEFAULT&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;·&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;Place your segment in banked memory in your PRM file.&lt;/FONT&gt;&lt;/FONT&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT size="3"&gt;·&lt;/FONT&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;Use option -CpPPAGE=RUNTIME, to tell the compiler you want to access the string using a runtime function. You cannot directly modify the PPAGE register, because the code accessing the string may be located in another banks.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT size="3"&gt;·&lt;/FONT&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;Add the file datapage.c (located in the LIB\HCI12C\SRC installation directory) to your project. Make sure it comes before ansib.lib in the "Link Order" View.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT size="3"&gt;·&lt;/FONT&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;Make sure the code in the runtime function is correct. Depending on the MCU you are using, you may have to use a compiler option to activate bank switching for HC12DG128 or HCS12 to select the appropriate page register.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT size="3"&gt;·&lt;/FONT&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;To activate page switching for HC12DG128, compile with option -DDG128.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT size="3"&gt;·&lt;/FONT&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;To activate page switching for HCS12, compile with option –DHCS12&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT size="3"&gt;·&lt;/FONT&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;If you intend to use some library functions to manipulate the strings you have to regenerate the library for far string pointer. In this purpose:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT size="3"&gt;·&lt;/FONT&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;Edit the file libdefs.h located in the installation directory "LIB\HCI\include". In this file modify lines 74 and 78 as follows:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;#define LIBDEF_FAR_CONST_STRINGS&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt; 1&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT size="2"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;#define LIBDEF_FAR_STRINGS&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt; 1&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT size="3"&gt;·&lt;/FONT&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;Generate the library again. This can be done using the project hc12 lib.mcp located in the installation LIB\HCI directory. Technical note TN105 provide you information how to generate a new library.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If this does not help, submit a service request through the web interface and attach a zip file containing the whole project.&lt;/P&gt;&lt;P&gt;CrasyCat&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Apr 2006 20:34:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125718#M411</guid>
      <dc:creator>CrasyCat</dc:creator>
      <dc:date>2006-04-10T20:34:26Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing Banked constants from other Paged memory</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125719#M412</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Alternatively, you can arrange for the constants, and any functions that use them, to be in the same page (by reserving some space in the linker file, and using pragmas in your code to place functions and constants in that area), and then you don't need to worry about PPAGE and compiler options.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Note that if you do this, you can't easily use library functions on the constants, as these functions reside in non-banked flash, and so PPAGE handling can get complicated.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Steve M.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Apr 2006 15:19:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125719#M412</guid>
      <dc:creator>sjmelnikoff</dc:creator>
      <dc:date>2006-04-11T15:19:11Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing Banked constants from other Paged memory</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125720#M413</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I am using the HCS12XDP512 with CodeWarrior V4.5. I am compiling with the BANKED memory model.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;You mentioned we could use the GPAGE to move constants to paged FLASH, but I am not having success with this. Can you give more details?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Basically I want to use paged FLASH for everything except my ISR's.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Here is a snippet of my PRM file...&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;SEGMENTS&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ........&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPAGE_F0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = READ_ONLY&amp;nbsp;&amp;nbsp; 0x7C0000 TO 0x7C3FFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPAGE_F1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = READ_ONLY&amp;nbsp;&amp;nbsp; 0x7C4000 TO 0x7C7FFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPAGE_F2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = READ_ONLY&amp;nbsp;&amp;nbsp; 0x7C8000 TO 0x7CBFFF;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .......&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;END&lt;/DIV&gt;&lt;DIV&gt;PLACEMENT /* here all predefined and user segments are placed into the SEGMENTS defined above. */&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _PRESTART,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Used in HIWARE format: jump to _Startup at the code start */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STARTUP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* startup data structures */&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO&amp;nbsp; ROM_4000;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROM_VAR,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* constant variables */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VIRTUAL_TABLE_SEGMENT,&amp;nbsp; /* C++ virtual table segment */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STRINGS,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COPY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* copy down information: how to initialize variables */&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO&amp;nbsp; GPAGE_F0, GPAGE_F1, GPAGE_F2;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NON_BANKED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO&amp;nbsp; ROM_4000;&amp;nbsp;&amp;nbsp; /* runtime routines which must not be banked */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEFAULT_ROM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO&amp;nbsp;PAGE_FE,&amp;nbsp;PAGE_FC, PAGE_FB, PAGE_FA, PAGE_F9, PAGE_F8;&amp;nbsp;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SSTACK,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* allocate stack first to avoid overwriting variables on overflow */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEFAULT_RAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* all variables, the default RAM location */&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO&amp;nbsp; RAM;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGED_RAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO&amp;nbsp; /* when using banked addressing for variable data, make sure to specify&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the option -D__FAR_DATA on the compiler command line */&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RAM_F8, RAM_F9, RAM_FA, RAM_FB, RAM_FC, RAM_FD;&lt;/DIV&gt;&lt;DIV&gt;END&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;With this setup, I get the following linker warning...&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;L1128: Cutting value toCopyDownBeg startup data member from 0x7C260F to 0x260F&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks,&lt;/DIV&gt;&lt;DIV&gt;Mike&lt;BR /&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Feb 2008 23:27:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125720#M413</guid>
      <dc:creator>EmbeddedDude</dc:creator>
      <dc:date>2008-02-06T23:27:17Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing Banked constants from other Paged memory</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125721#M414</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;A few topics.&lt;BR /&gt;- You can place constants into paged memory but this does require to place them in a non default section in the flash. There are two technical notes about this topic, TN238 and TN240.&lt;BR /&gt;- In the prm file, use logical addersses, not global ones (not 0x7C0000'G but 0xF08000). Basically use the same addresses just as they already exist in a wizard generated prm file.&lt;BR /&gt;E.g.:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPAGE_F0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = READ_ONLY&amp;nbsp;&amp;nbsp; 0xF08000 TO 0xF0BFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPAGE_F1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = READ_ONLY&amp;nbsp;&amp;nbsp; 0xF08000 TO 0xF0BFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPAGE_F2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = READ_ONLY&amp;nbsp;&amp;nbsp; 0xF08000 TO 0xF0BFFF;&lt;BR /&gt;- Don't place the predefined constant sections into banked memory. In the banked memory model, only place constant sections into that area which are prepared for this. E.g. your own custom sections.&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROM_VAR,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* constant variables */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VIRTUAL_TABLE_SEGMENT,&amp;nbsp; /* C++ virtual table segment */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STRINGS,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COPY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* copy down information: how to initialize variables */&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO&amp;nbsp; ROM_4000;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGED_CONSTANTS INTO GPAGE_F0, GPAGE_F1, GPAGE_F2;&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;BR /&gt;Daniel&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Feb 2008 01:18:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125721#M414</guid>
      <dc:creator>CompilerGuru</dc:creator>
      <dc:date>2008-02-07T01:18:39Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing Banked constants from other Paged memory</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125722#M415</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Daniel,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks for the quick reply.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I see from your example that you put ROM_VAR,&amp;nbsp; VIRTUAL_TABLE_SEGMENT, and STRINGS into ROM_4000. I do not have room for this - which is why I wanted to put them into a higher page.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;When you say "only place constant sections into that area which are prepared for this" what are my options for preparing the sections for this? I definitely need to put &lt;STRONG&gt;all&lt;/STRONG&gt; STRINGS into banked memory. It seems like there should be a simple way to define all STRINGS to automatically address a banked page.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Feb 2008 04:03:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125722#M415</guid>
      <dc:creator>EmbeddedDude</dc:creator>
      <dc:date>2008-02-07T04:03:39Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing Banked constants from other Paged memory</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125723#M416</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Please check the TN's for all the details. For string literals use&lt;BR /&gt;#pragma STRING_SEG __GPAGE_SEG MY_GPAGE_STRING_SECTION&lt;BR /&gt;instead of the CONST_SEG as in the TN's,&lt;BR /&gt;and place MY_GPAGE_STRING_SECTION into the paged area.&lt;BR /&gt;Make sure all accesses to those strings are using __far pointers.&lt;BR /&gt;I would keep on allocating the STRINGS section into a non paged area, it will be empty if the pragma above was visible for all string literals.&lt;BR /&gt;&lt;BR /&gt;Daniel&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Feb 2008 07:22:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Accessing-Banked-constants-from-other-Paged-memory/m-p/125723#M416</guid>
      <dc:creator>CompilerGuru</dc:creator>
      <dc:date>2008-02-07T07:22:58Z</dc:date>
    </item>
  </channel>
</rss>

