<?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: Memory mapping MC9S12NE64 in S12 / MagniV Microcontrollers</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131915#M1636</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hi Wind&lt;BR /&gt;I wish you had asked me a year ago because I would probably have been able to give you&amp;nbsp;the exact answer.&lt;BR /&gt;I remember experimenting with the debugger to see what worked best and went for the 0x3d page. Whether the 0x3c or 0x3d page is selected probably doesn't make any real difference because in both cases the 16k which I wanted to access outside of the linear 48k can be addressed between 0x8000..0xbfff.&lt;/DIV&gt;&lt;DIV&gt;At the end of the day I have some user routines which can be called to maniputale data in this address range, whereby the user doesn't actually have to know where it is.&lt;/DIV&gt;&lt;DIV&gt;The file system calls do work with a pointer to the physical address (when the page is switch in), which is actually in the range 0x8400..0xbfff since I reserve 1k at the beginning for parameters such as MAC address, etc.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The uTasker supports the following file system calls, which are also used by FTP, HTTP etc.:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;extern unsigned char *uOpenFile(signed char *ptrfileName);&lt;/FONT&gt;&lt;/DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;/FONT&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;FONT face="Courier New" size="2"&gt;extern MAX_FILE_LENGTH uGetFileLength(signed char *ptrfileName);&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;FONT face="Courier New" size="2"&gt;extern MAX_FILE_LENGTH uGetFileData(signed char *ptrFile, MAX_FILE_LENGTH FileOffset, unsigned char *ucData, MAX_FILE_LENGTH DataLength);&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;FONT face="Courier New" size="2"&gt;extern MAX_FILE_LENGTH uFileWrite(signed char *ptrFile, unsigned char *ptrData, MAX_FILE_LENGTH DataLength);&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;FONT face="Courier New" size="2"&gt;extern int uFileClose(signed char *ptrFile);&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;I can't comment with detail on the other points since I never tried moving RAM and registers around, simply for the reason that&amp;nbsp;I don't see the point when using the NE64 in single chip mode - especially as you point out, which may well be the case - that you loose FLASH access when doing so. I see no advantage in loosing FLASH and so am happy with the simple set up&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;Regs. 0..0x7ff&lt;BR /&gt;SRAM 0x2000..0x3fff 8k&lt;BR /&gt;FLASH 0x4000..0xffff 48k&lt;BR /&gt;"paged" File system 0x8000..0xbfff 16k&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;Regards&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;Mark Butcher&lt;BR /&gt;&lt;A href="http://www.mjbc.ch/" rel="nofollow" target="_blank"&gt;www.mjbc.ch&lt;/A&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 14 Apr 2006 22:24:53 GMT</pubDate>
    <dc:creator>mjbcswitzerland</dc:creator>
    <dc:date>2006-04-14T22:24:53Z</dc:date>
    <item>
      <title>Memory mapping MC9S12NE64</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131910#M1631</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;hi,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I am using MC9S12NE64.&lt;/DIV&gt;&lt;DIV&gt;I am quite confuse with the flash EEPROM mapping. In the MCU address range, the flash is from $4000 - $FFFF whic is only 48K. shouldn't it be 64K flash?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;MCU address range&lt;/DIV&gt;&lt;DIV&gt;$4000-$7FFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; unpage $3E&lt;/DIV&gt;&lt;DIV&gt;$8000-$BFFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $3C, $3D, $3E, $3F&lt;/DIV&gt;&lt;DIV&gt;$C000-$FFFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; unpage $3F&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;what does it mean by unpage (or non bank), and it seems like the unpage $3E and unpage $3F&amp;nbsp;are sharing the memory location with $3E and $3F&amp;nbsp;of memory$8000 - $BFFF&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;what is the block relative address?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;For the block relative address from $0000-$FFFF (&amp;nbsp;$3C, $3D, $3E, $3F) = 64K.&lt;/DIV&gt;&lt;DIV&gt;but this 64K block relative address is within the MCU address range of 16K ($8000-$BFFF&amp;nbsp;). I am really confuse.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;regards&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Apr 2006 09:57:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131910#M1631</guid>
      <dc:creator>Wind</dc:creator>
      <dc:date>2006-04-10T09:57:01Z</dc:date>
    </item>
    <item>
      <title>Re: Memory mapping MC9S12NE64</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131911#M1632</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;K, you might not like this, but the memory banks are what makes it 64K, and they are not contiguous.&lt;BR /&gt;&lt;BR /&gt;To think about it, if all 64K of the 16-bit memory space were Flash, there would be no space for RAM and hardware registers (let alone any possible expanded i/o). The 16-bit address is an architectural limit, meaning no instructions could address a single address space other than the 64K bytes that I will call "near".&lt;BR /&gt;&lt;BR /&gt;Seeing why they are called PPAGE is real simple. The space $8000-$BFFF is a "page window" or bank window intened to turn through all the pages of Flash memory. A hardware register called PPAGE chooses which program page is visible in that window. There are actually a few newer instructions aware of PPAGE so when you want it to jump to a subroutine in the far address 3D:8010, it will automatically write $3D to PPAGE, then JSR $8010.&lt;BR /&gt;&lt;BR /&gt;Looking at&lt;BR /&gt;&lt;BR /&gt;MCU address range&lt;BR /&gt;$4000-$7FFF unpage $3E&lt;BR /&gt;$8000-$BFFF $3C, $3D, $3E, $3F&lt;BR /&gt;$C000-$FFFF unpage $3F&lt;BR /&gt;&lt;BR /&gt;Notice that you can access "fixed" pages faster because you don't have to change PPAGE (always near). In the NE64, `LDA $C000` would get the same memory location as `MOVB $3F,PPAGE` `LDA $8000`.&lt;BR /&gt;&lt;BR /&gt;So a fixed (or unpaged) window is another near address space that always sees one Flash bank and ignores PPAGE.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;This has actually been an ongoing saga for many people to work out how to use memory banks efficiently. You might find some more help at&lt;BR /&gt;&lt;A href="http://groups.yahoo.com/group/68HC12" target="test_blank"&gt;http://groups.yahoo.com/group/68HC12&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Apr 2006 21:38:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131911#M1632</guid>
      <dc:creator>imajeff</dc:creator>
      <dc:date>2006-04-10T21:38:10Z</dc:date>
    </item>
    <item>
      <title>Re: Memory mapping MC9S12NE64</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131912#M1633</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;Hi Wind&lt;/P&gt;&lt;P&gt;I use the NE64&amp;nbsp;with 100M LAN, where external memory is not possible. When I started with the NE64 it was using the GNU compiler which is not very efficient when paging is involved and so I decided to avoid it - this is how:&lt;BR /&gt;1. If you leave the PPAGE as it is after reset, you can address 0x4000...0xffff continuously (48k) which gives maximum efficiency.&lt;BR /&gt;2. The 16k 0x3d page (0x3d-8000..bfff) is then used as a file system. I down load web sides via FTP to this block with interface read and write routines which get and put data to the page.&lt;/P&gt;&lt;P&gt;I find this works well because when doing embedded IP applications a file system is really needed and 16k is a suitable size for about 5 controle web pages or for saving some recorded data and such. The code remains optimally efficient because there are no 'trampoline' functions.&lt;/P&gt;&lt;P&gt;Of course this limits the code size to 48k and there is 16k less than would otherwise be available (assuming no file system, if this makes sense). However the overhead for the trampoline stuff improves the figure somewhat. Then the compiler is also not to be ignored. If&amp;nbsp;I take a 64k sized code compiled with the GNU compiler and compile it with IAR (I believe Codewarrior figures are similar) the code becomes about 40k in size and so fits after all.&lt;/P&gt;&lt;P&gt;If you have code which is larger that 48k then of course this will not work. Then paging will help - in which case I have a solution to access the file system in SPI EEPROM. If the code is larger that 64k then external memory will be necessary - which I avoid (first I don't want to&amp;nbsp;sacrifice 100M LAN and secondly I use the 80 pin device with no ext. bus since it is rather smaller).&lt;/P&gt;&lt;P&gt;When bigger codes are involved I move to other devices like the Coldfire MCF5223x (although it is not yet really available - but it is a Freescale forum and&amp;nbsp;I don't like to mention AxxxL). Interestingly, these Coldfire devices are more or less pin-out compatible to the NE64 and will not be much more expensive if the first indications are correct. Then there&amp;nbsp;are also no paging difficulties to be faced...&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Mark Butcher&lt;BR /&gt;&lt;A href="http://www.mjbc.ch" rel="nofollow" target="_blank"&gt;www.mjbc.ch&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Apr 2006 22:32:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131912#M1633</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2006-04-10T22:32:41Z</dc:date>
    </item>
    <item>
      <title>Re: Memory mapping MC9S12NE64</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131913#M1634</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;Mark is correct. The newly introduced ColdFire MCF5223x Family creates an upgrade patch from the MC9S12NE64 which is pin similar (BDM interface is different, plus you have full UARTs accessible).&lt;BR /&gt;&lt;BR /&gt;Plus, you have a linear addressing space (no paging necessary) and up to 256K internal flash. See thread below for more information:&lt;/P&gt;&lt;P&gt;&lt;A href="http://forums.freescale.com/freescale/board/message?board.id=CFCOMM&amp;amp;message.id=55" target="_blank"&gt;http://forums.freescale.com/freescale/board/message?board.id=CFCOMM&amp;amp;message.id=55&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Apr 2006 00:13:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131913#M1634</guid>
      <dc:creator>EMontanez</dc:creator>
      <dc:date>2006-04-11T00:13:53Z</dc:date>
    </item>
    <item>
      <title>Re: Memory mapping MC9S12NE64</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131914#M1635</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;hi,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier" size="1"&gt;&lt;/FONT&gt;&lt;P align="left"&gt;&lt;FONT face="Courier" size="1"&gt;if&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Courier" size="1"&gt;initrg = 0x30;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Courier" size="1"&gt;initrm = 0x00;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Courier" size="1"&gt;initee = 0x39;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Courier" size="1"&gt;register&amp;nbsp; address will be $3000 to $33ff (if 1 K register)&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Courier" size="1"&gt;RAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; address will be $0000 to $1FFF ( consider 8 K RAM)&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Courier" size="1"&gt;EEPROM&amp;nbsp;&amp;nbsp;&amp;nbsp; address will be $3800 to $3FFF ( consider&amp;nbsp;2K EEPROM)&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Courier" size="1"&gt;the register,RAM and EEPROM&amp;nbsp; are mapping to the&amp;nbsp;MCU memory address&amp;nbsp;: $0000 to $ 3FFF.&amp;nbsp;This address range ($0000 to $3FFF) is&amp;nbsp;different with&amp;nbsp;page 3C ( block relative address $0000 to $3FFF). Thus I still have 64K flash.&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Courier" size="1"&gt;Mark,&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Courier" size="1"&gt;why didn't you put your ftp files in page 3C? any reason? or you just happen to choose page 3D to store your&amp;nbsp;ftp file.&amp;nbsp;?&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Courier" size="1"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Courier" size="1"&gt;if now&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Courier" size="1"&gt;initrg = $0x00&amp;nbsp; (&amp;nbsp;&amp;nbsp;2 K, REG_SW0=1)&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Courier" size="1"&gt;initrm = $0x18&amp;nbsp;&amp;nbsp;(16K, ram_sw2=1&amp;nbsp; ram_sw1=1&amp;nbsp; ram_sw0=1)&lt;/FONT&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;FONT face="Courier" size="1"&gt;intee&amp;nbsp; = $0x09&amp;nbsp; (4k, eep_sw1= 1 eep_sw0=0)&lt;/FONT&gt;&lt;/P&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;register&amp;nbsp; address&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : $0000 to $ 07FF&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;EEPROM address&amp;nbsp;&amp;nbsp;&amp;nbsp; :&amp;nbsp;$0800 to $ 17FF&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;RAM address&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&amp;nbsp;$1800 to&amp;nbsp;$ 57FF (16K)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Now&amp;nbsp;I am mapping RAM to 'MCU address of $57FF and this&amp;nbsp;is part of the&amp;nbsp;unpage 3E. If memory blocks are mapped to the same address,The priority is&amp;nbsp;Register, RAM, EEPROM and Flash ROM. and thus I am loosing some flash memory of $3E.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;please correct me if I am wrong.&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;MCU Address&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT face="Times New Roman"&gt;&lt;B&gt;&lt;SPAN&gt;Range&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt; &lt;FONT face="Times New Roman"&gt;&lt;B&gt;&lt;SPAN&gt;PPAGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;&lt;B&gt;&lt;SPAN&gt;Block Relative Address&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;B&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;$4000-$7FFF&lt;SPAN&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; &lt;SPAN&gt;Unpaged&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $8000-$BFFF&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;(16K)&lt;SPAN&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $3E&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;HR /&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;$8000-$BFFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $3C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $0000-$3FFF&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;(16K)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $3D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $4000-$7FFF&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$3E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$8000-$BFFF&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$3F&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$C000-$FFFF&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;HR /&gt;&lt;P&gt;&lt;SPAN&gt;$C000-$FFFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN&gt;Unpaged&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN&gt;$C000-$FFFF&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;P align="left"&gt;&lt;SPAN&gt;(16K)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ($3F)&lt;/SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P align="left"&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;my reference: &amp;nbsp;EB386.pdf&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Apr 2006 17:24:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131914#M1635</guid>
      <dc:creator>Wind</dc:creator>
      <dc:date>2006-04-14T17:24:00Z</dc:date>
    </item>
    <item>
      <title>Re: Memory mapping MC9S12NE64</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131915#M1636</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hi Wind&lt;BR /&gt;I wish you had asked me a year ago because I would probably have been able to give you&amp;nbsp;the exact answer.&lt;BR /&gt;I remember experimenting with the debugger to see what worked best and went for the 0x3d page. Whether the 0x3c or 0x3d page is selected probably doesn't make any real difference because in both cases the 16k which I wanted to access outside of the linear 48k can be addressed between 0x8000..0xbfff.&lt;/DIV&gt;&lt;DIV&gt;At the end of the day I have some user routines which can be called to maniputale data in this address range, whereby the user doesn't actually have to know where it is.&lt;/DIV&gt;&lt;DIV&gt;The file system calls do work with a pointer to the physical address (when the page is switch in), which is actually in the range 0x8400..0xbfff since I reserve 1k at the beginning for parameters such as MAC address, etc.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The uTasker supports the following file system calls, which are also used by FTP, HTTP etc.:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Courier New" size="2"&gt;extern unsigned char *uOpenFile(signed char *ptrfileName);&lt;/FONT&gt;&lt;/DIV&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;/FONT&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;FONT face="Courier New" size="2"&gt;extern MAX_FILE_LENGTH uGetFileLength(signed char *ptrfileName);&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;FONT face="Courier New" size="2"&gt;extern MAX_FILE_LENGTH uGetFileData(signed char *ptrFile, MAX_FILE_LENGTH FileOffset, unsigned char *ucData, MAX_FILE_LENGTH DataLength);&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;FONT face="Courier New" size="2"&gt;extern MAX_FILE_LENGTH uFileWrite(signed char *ptrFile, unsigned char *ptrData, MAX_FILE_LENGTH DataLength);&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;FONT face="Courier New" size="2"&gt;extern int uFileClose(signed char *ptrFile);&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;I can't comment with detail on the other points since I never tried moving RAM and registers around, simply for the reason that&amp;nbsp;I don't see the point when using the NE64 in single chip mode - especially as you point out, which may well be the case - that you loose FLASH access when doing so. I see no advantage in loosing FLASH and so am happy with the simple set up&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;Regs. 0..0x7ff&lt;BR /&gt;SRAM 0x2000..0x3fff 8k&lt;BR /&gt;FLASH 0x4000..0xffff 48k&lt;BR /&gt;"paged" File system 0x8000..0xbfff 16k&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;Regards&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;Mark Butcher&lt;BR /&gt;&lt;A href="http://www.mjbc.ch/" rel="nofollow" target="_blank"&gt;www.mjbc.ch&lt;/A&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="Arial" size="3"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Apr 2006 22:24:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131915#M1636</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2006-04-14T22:24:53Z</dc:date>
    </item>
    <item>
      <title>Re: Memory mapping MC9S12NE64</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131916#M1637</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;hi,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;In the MC9S12NE64 spec&amp;nbsp;it is written&amp;nbsp;8K onchip RAM available but in the registers MEMSIZ0 (ram_sw0, ram_sw1,ram_sw2)&amp;nbsp;I can choose my RAM&amp;nbsp;for 2k ,4K 6K,10K, 12k ,14K or 16K.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;does this means that I can have my onchip RAM&amp;nbsp;up to 16K and this is done so by replacing some of the flash ROM memory? &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;or&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I can only use up to 8K RAM, the rest is just reserve?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;regards&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 14:01:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131916#M1637</guid>
      <dc:creator>Wind</dc:creator>
      <dc:date>2006-04-21T14:01:08Z</dc:date>
    </item>
    <item>
      <title>Re: Memory mapping MC9S12NE64</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131917#M1638</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hi Wind&lt;/DIV&gt;&lt;DIV&gt;The register which you refer to reflects the chip´s configuration. Its contents are predefined for the specific part and can not be written to.&lt;/DIV&gt;&lt;DIV&gt;Of course the NE64 has predefined amounts of memory types which can not be swapped around.&lt;/DIV&gt;&lt;DIV&gt;These registers are probably only of use if you have a software version which can run on seveal different types iof HC12 and must check to see what resources are available when starting. Otherwise they have no other real function.&lt;/DIV&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;Mark Butcher&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://www.mjbc.ch" rel="nofollow" target="_blank"&gt;www.mjbc.ch&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 17:54:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131917#M1638</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2006-04-21T17:54:39Z</dc:date>
    </item>
    <item>
      <title>Re: Memory mapping MC9S12NE64</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131918#M1639</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;hi mark,&lt;/P&gt;&lt;P&gt;thanks. I understand now.&lt;/P&gt;&lt;P&gt;my mistake, the MEMSIZ0 is a read only&amp;nbsp;register.&lt;/P&gt;&lt;P&gt;regards&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, 25 Apr 2006 10:37:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Memory-mapping-MC9S12NE64/m-p/131918#M1639</guid>
      <dc:creator>Wind</dc:creator>
      <dc:date>2006-04-25T10:37:40Z</dc:date>
    </item>
  </channel>
</rss>

