<?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>8-bit MicrocontrollersのトピックRe: Flash Erasing + High Page Register. (HCS08AW60)</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Flash-Erasing-High-Page-Register-HCS08AW60/m-p/200849#M16446</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Thanks bigmac, that is it...&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I was using the address 0x1800 to erase the first page. I changed it to 0x1860 and it worked.&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>Sat, 08 Mar 2008 11:20:22 GMT</pubDate>
    <dc:creator>ssinfod</dc:creator>
    <dc:date>2008-03-08T11:20:22Z</dc:date>
    <item>
      <title>Flash Erasing + High Page Register. (HCS08AW60)</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Flash-Erasing-High-Page-Register-HCS08AW60/m-p/200847#M16444</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 currently working on a bootloader which is programming a S19 into the Flash memory. My bootloader is based on the AN2295.&amp;nbsp;In addition, I am using an HCS08AW60.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Here is my question :&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I am using the Flash Erase&amp;nbsp;routing from the "HCS08 Family Reference Manual (p.60)" which is working fine for all the pages except of the Page at the address 0x1800 to 0x2000. After looking at the memory map, I have noticed that the High Page Registers are at this location. (High page = 0x1800 to 0x185F)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;SPAN&gt;;*********************************************************************&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;* FlashErase1 - erases one page of FLASH (512 bytes)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;*&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;* On entry... H:X - points at a location in the page to be erased&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;*&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;* Calling convention:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;* jsr FlashErase1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;*&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;* Uses: DoOnStack which uses SpSub&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;* Returns: H:X unchanged and A = FSTAT shifted left by 2 bits&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;* Z=1 if OK, Z=0 if protect violation or access error&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;* uses 32 bytes of stack space + 2 bytes for BSR/JSR used to call it&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;*********************************************************************&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;FlashErase1: psha ;adjust sp for DoOnStack entry&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lda #(mFPVIOL+mFACCERR) ;mask&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sta FSTAT ;abort any command and clear errors&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lda #mPageErase ;mask pattern for page erase command&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;bsr DoOnStack ;finish command from stack-based sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ais #1 ;deallocate data location from stack&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;rts ;Z = 0 means there was an error&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;;********************&lt;/SPAN&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Is there any reason that I can't erase the Flash&amp;nbsp;data ranging from 0x1860 to 0x2000 ?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;For example, I inserted some data at the addresses 0x1900, 0x1B00, 0x1D00&amp;nbsp;with the command :&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; org&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $1900&lt;BR /&gt;FL1_Data&amp;nbsp; FCB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "1234567",NUL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Dummy data.&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; org&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $1B00&lt;BR /&gt;FL2_Data&amp;nbsp; FCB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "1234567",NUL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Dummy data&lt;BR /&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; org&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $1D00&lt;BR /&gt;FL3_Data&amp;nbsp; FCB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "1234567",NUL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Dummy data&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;After I run the erase routine for&amp;nbsp;all the&amp;nbsp;pages, the data are still present only at the 0x1900 location ?&lt;/DIV&gt;&lt;DIV&gt;Is that normal ? How should I proceed to erase the data ?&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;&amp;nbsp;&lt;/DIV&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;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Mar 2008 11:40:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Flash-Erasing-High-Page-Register-HCS08AW60/m-p/200847#M16444</guid>
      <dc:creator>ssinfod</dc:creator>
      <dc:date>2008-03-07T11:40:35Z</dc:date>
    </item>
    <item>
      <title>Re: Flash Erasing + High Page Register. (HCS08AW60)</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Flash-Erasing-High-Page-Register-HCS08AW60/m-p/200848#M16445</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;What address location is latched prior to commencing the erase command?&amp;nbsp; If it happened to be the nominal start of the 512 byte&amp;nbsp;block at 0x1800, this would not be a flash address in this instance.&amp;nbsp; I wonder if this has been overlooked.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Mac&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Mar 2008 17:43:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Flash-Erasing-High-Page-Register-HCS08AW60/m-p/200848#M16445</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2008-03-07T17:43:45Z</dc:date>
    </item>
    <item>
      <title>Re: Flash Erasing + High Page Register. (HCS08AW60)</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Flash-Erasing-High-Page-Register-HCS08AW60/m-p/200849#M16446</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Thanks bigmac, that is it...&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I was using the address 0x1800 to erase the first page. I changed it to 0x1860 and it worked.&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>Sat, 08 Mar 2008 11:20:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Flash-Erasing-High-Page-Register-HCS08AW60/m-p/200849#M16446</guid>
      <dc:creator>ssinfod</dc:creator>
      <dc:date>2008-03-08T11:20:22Z</dc:date>
    </item>
  </channel>
</rss>

