<?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>S12 / MagniV MicrocontrollersのトピックRe: MC9S12Q128 - Flash unable to programm page 3C</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12Q128-Flash-unable-to-programm-page-3C/m-p/169160#M5600</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;I think you are wrong. Relative address is something new.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;3c8000 to 3cbfff&amp;nbsp; are &lt;STRONG&gt;banked&lt;/STRONG&gt; addresses. Corresponding &lt;STRONG&gt;linear&lt;/STRONG&gt; addresses are F0000-F3FFF. Banked to linear conversion for S12 family is&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;PPAGE*pageSize+pageOffset&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;For example bottom of page 3C is $3C*$4000 = $F0000. The top of page 3C is $3C*$4000+$3FFF=$F3FFF&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Banked address like 3C8000 can't have lower 16bits lower than 8000 or higher than BFFF (PPAGE window bounds).&amp;nbsp;0x10000-0x13FFF is definitely not&amp;nbsp;banked address. Linear 0x10000-0x13FFF could specify some external memory, but S12Q I think doesn't have external memory bus.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 30 Jun 2008 21:02:43 GMT</pubDate>
    <dc:creator>kef</dc:creator>
    <dc:date>2008-06-30T21:02:43Z</dc:date>
    <item>
      <title>MC9S12Q128 - Flash unable to programm page 3C</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12Q128-Flash-unable-to-programm-page-3C/m-p/169157#M5597</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 writing a Flash driver for MC9S12Q128 ( and testing on MC9S12C128 board), I am unable to programm page 0x3C (&lt;SPAN style="font-family: Arial; font-size: 1;"&gt;&amp;nbsp;0x10000–0x13FFF ).&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Code is downloaded on page 3D. Other pages are programmed without any issues.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Please let me know if&amp;nbsp; there are any issues with accessing page 3C .&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;Ajay&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jun 2008 18:38:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12Q128-Flash-unable-to-programm-page-3C/m-p/169157#M5597</guid>
      <dc:creator>JadhavAj</dc:creator>
      <dc:date>2008-06-30T18:38:58Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12Q128 - Flash unable to programm page 3C</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12Q128-Flash-unable-to-programm-page-3C/m-p/169158#M5598</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;What's 0x10000-0x13FFF ? Page 0x3C corresponds to linear addresses 0xF0000-0xF3FFF.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jun 2008 18:48:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12Q128-Flash-unable-to-programm-page-3C/m-p/169158#M5598</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2008-06-30T18:48:36Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12Q128 - Flash unable to programm page 3C</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12Q128-Flash-unable-to-programm-page-3C/m-p/169159#M5599</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;0x10000-0x13FFF is a relative address for page 3C in S12Q.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Same as page : 0x3C8000 to 0x3CBFFF&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jun 2008 18:52:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12Q128-Flash-unable-to-programm-page-3C/m-p/169159#M5599</guid>
      <dc:creator>JadhavAj</dc:creator>
      <dc:date>2008-06-30T18:52:46Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12Q128 - Flash unable to programm page 3C</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12Q128-Flash-unable-to-programm-page-3C/m-p/169160#M5600</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;I think you are wrong. Relative address is something new.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;3c8000 to 3cbfff&amp;nbsp; are &lt;STRONG&gt;banked&lt;/STRONG&gt; addresses. Corresponding &lt;STRONG&gt;linear&lt;/STRONG&gt; addresses are F0000-F3FFF. Banked to linear conversion for S12 family is&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;PPAGE*pageSize+pageOffset&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;For example bottom of page 3C is $3C*$4000 = $F0000. The top of page 3C is $3C*$4000+$3FFF=$F3FFF&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Banked address like 3C8000 can't have lower 16bits lower than 8000 or higher than BFFF (PPAGE window bounds).&amp;nbsp;0x10000-0x13FFF is definitely not&amp;nbsp;banked address. Linear 0x10000-0x13FFF could specify some external memory, but S12Q I think doesn't have external memory bus.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jun 2008 21:02:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12Q128-Flash-unable-to-programm-page-3C/m-p/169160#M5600</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2008-06-30T21:02:43Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12Q128 - Flash unable to programm page 3C</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12Q128-Flash-unable-to-programm-page-3C/m-p/169161#M5601</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Kef is correct.&lt;BR /&gt;&lt;BR /&gt;Though there is one circumstance where page 3C can't be programmed: when you are writing your own flash programming algorithm and running it from flash. If that's not what you are doing, you can disregard the rest of this post.&lt;BR /&gt;&lt;BR /&gt;On most S12 devices with 128k, the flash is devided in two banks of 64k each. Code that writes to the flash cannot be located in the same bank as the flash it tries to access, or strange things will happen.&lt;BR /&gt;&lt;BR /&gt;Pages 38, 39, 3A and 3B are located in bank 1.&lt;BR /&gt;Pages 3C, 3D, 3E and 3F are located in bank 0.&lt;BR /&gt;&lt;BR /&gt;Now lets say you are writing a typical app and store your program in non-banked flash. The non-banked flash on 0x4000 and 0xC000 equals pages 3E and 3F. So such apps will work excellent on all pages 38-3B until it reaches 3C, where it switches bank.&lt;BR /&gt;&lt;BR /&gt;This is all pretty well hidden in the manual, almost close to undocumented... everyone writing flash algorithms for S12xx128 run into this problem.&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jun 2008 21:23:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12Q128-Flash-unable-to-programm-page-3C/m-p/169161#M5601</guid>
      <dc:creator>Lundin</dc:creator>
      <dc:date>2008-06-30T21:23:36Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12Q128 - Flash unable to programm page 3C</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12Q128-Flash-unable-to-programm-page-3C/m-p/169162#M5602</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;P&gt;&lt;FONT color="navy" face="Arial" size="2"&gt;&lt;SPAN&gt;The mentioned technique was tried on the board. But still&amp;nbsp;we faced the same problem.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="navy" face="Arial" size="2"&gt;&lt;SPAN&gt;In our&amp;nbsp;tests code was downloaded into pages 3A. Then that code was loaded to RAM from 3A page, before&amp;nbsp;write/read/erase operation. After this&amp;nbsp;write/erase&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT color="navy" face="Arial" size="2"&gt;&lt;SPAN&gt;performed on 3D and 3C pages. But with that even we faced the same problem in page 3C.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="navy" face="Arial" size="2"&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="navy" face="Arial" size="2"&gt;&lt;SPAN&gt;But the observable point during those tests was, all the write/read/erase operations were successful in 3D page whereas in 3C page all those operations failed.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="navy" face="Arial" size="2"&gt;&lt;SPAN&gt;In the datasheet MC9S12C128_V1.pdf (Rev 1.15&amp;nbsp; 7/2005) it is mentioned that for the page 3C the "Arrary relative address" will be 0x10000 to 0x13FFF ( page no. 295). So are "Arrary relative address" and Global address different?&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jul 2008 11:45:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12Q128-Flash-unable-to-programm-page-3C/m-p/169162#M5602</guid>
      <dc:creator>deka</dc:creator>
      <dc:date>2008-07-03T11:45:06Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12Q128 - Flash unable to programm page 3C</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12Q128-Flash-unable-to-programm-page-3C/m-p/169163#M5603</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;&lt;DIV&gt;Now I understand what you meant by "relative address". I understand what array relative address is, but then I wonder how you are using it? I think&amp;nbsp;no compiler in the marked is aware of these "array relative addresses". You have to convert these array relative addresses to banked, to linear, or to PPAGE plus "near" 16bit CPU address.&lt;/DIV&gt;&lt;P&gt;BTW, according to the docs, C128/Q128 have single 128k flash array, not two 64k flash arrays.&amp;nbsp;So probably&amp;nbsp;all flash routines should run from RAM, no option to program flash array from another flash array.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Message Edited by kef on &lt;SPAN class="date_text"&gt;2008-07-03&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;09:20 AM&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by kef on &lt;SPAN class="date_text"&gt;2008-07-03&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;09:25 AM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jul 2008 13:20:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12Q128-Flash-unable-to-programm-page-3C/m-p/169163#M5603</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2008-07-03T13:20:05Z</dc:date>
    </item>
  </channel>
</rss>

