<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>how to operate the 128byte page divided memory up to 1K in c51 like Hynix HMS9xc8032?</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/16726/how-to-operate-the-128byte-page-divided-memory-up-to-1k-in-c51-like-hynix-hms9xc8032</link><description> how to operate the 128byte page divided memory up to 1K in c51 like Hynix HMS9xc8032? 
In HMS9xc8032,the data memory is divided into 8 page(2 SFR page),SFR is also have a little different with standard 8051,but in this web,support a reg52.h header file</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: how to operate the 128byte page divided memory up to 1K in c51 like Hynix HMS9xc8032?</title><link>https://community.arm.com/thread/72463?ContentTypeID=1</link><pubDate>Mon, 03 May 2004 00:37:29 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:27b1475f-fed3-440e-9f3d-0bf411024a50</guid><dc:creator>haif1 z</dc:creator><description>&lt;p&gt;Thank you for your reply!&lt;br /&gt;
Should be my qustion is which data type can assign the data in keil c51 for this case?&lt;br /&gt;
If write it in asm,there is OK according the data sheet.&lt;br /&gt;
So,my question is how to assign the data type?Can you give us an example,please!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how to operate the 128byte page divided memory up to 1K in c51 like Hynix HMS9xc8032?</title><link>https://community.arm.com/thread/72461?ContentTypeID=1</link><pubDate>Sun, 02 May 2004 18:24:21 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:45a3f879-dc0d-4254-a5b9-35efe715bf21</guid><dc:creator>Mark H</dc:creator><description>&lt;p&gt;Hi Haif1,&lt;br /&gt;
&lt;br /&gt;
It seems possible by having different values in RDPG[2:0}(FCH) and WRPG[2:0}(FDH) to read/write data to different banks of data memory and that these banks are mapped into data space 0x00:0x7F but never having used DATA banking (hopefully the compiler will support this as I only thought Keil supported CODE/XRAM banking) I am not sure how you are going to be able to use this facility.&lt;br /&gt;
&lt;br /&gt;
A start may be to define some sfr&amp;#39;s for these registers:-&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;
sfr RDPG = 0xFC;
sfr WRPG = 0xFD;
&lt;/pre&gt;
&lt;br /&gt;
then maybe you can use something along the lines of:-&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;
RDPG = (RDPG &amp;amp; ~0x07) &amp;amp; NEW_BANK; /* mask off bank select bits then select required bank */
&lt;/pre&gt;
&lt;br /&gt;
and obviously something similar for the write bank, BUT assuming I have read the data sheet correctly any varaible(s) that you use to keep track of which read/write bank you are in need to be stored in IDATA/XDATA otherwise they will be inaccessible once the bank switch occurs.&lt;br /&gt;
&lt;br /&gt;
Mark.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: how to operate the 128byte page divided memory up to 1K in c51 like Hynix HMS9xc8032?</title><link>https://community.arm.com/thread/42139?ContentTypeID=1</link><pubDate>Sun, 02 May 2004 08:50:10 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:e22b4281-fbe1-4c89-9986-d2d1f3c9e35d</guid><dc:creator>Jon Ward</dc:creator><description>&lt;p&gt;I think your best bet is to look at the XBANKING memory support.  I couldn&amp;#39;t figure out from the data sheet if the additional DATA memory is indirectly addressable or not.  If it isn&amp;#39;t, then you can&amp;#39;t use XBANKING--you&amp;#39;ll have to figure something out on your own.&lt;br /&gt;
&lt;br /&gt;
The data sheet was pretty clear on how to switch data pages.  Re-read the data sheet and it will be obvious.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Jon&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>