<?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>PDATA in Simulator V7.08</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/16846/pdata-in-simulator-v7-08</link><description> When using PDATA, the memory viewer, watchpoint tabs, and command window contain zeros for the PDATA I&amp;#39;m using. When I step through the disassembled output, the Register window in the Project Workspace gets the correct non-zero values. The PDATA symbol</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: PDATA in Simulator V7.08</title><link>https://community.arm.com/thread/143965?ContentTypeID=1</link><pubDate>Wed, 14 Jul 2004 04:42:36 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:bb4104c0-22ca-44cd-9ce7-6e90dbf1f50f</guid><dc:creator>Keil Software Support Intl.</dc:creator><description>&lt;p&gt;We have got a clearification from Analog Devices:&lt;br /&gt;
&lt;br /&gt;
All ADuC83x and ADuC84x parts operate in the same manner as Philips parts. When on-chip XRAM is enabled the MOVX @Ri always address the first 256 bytes of XDATA space.&lt;br /&gt;
&lt;br /&gt;
For correct simulation of that behaviour you need to set the uVision Debugger VTREG PPAGE to 0 (as described in &lt;a href="http://www.keil.com/support/docs/2394.htm"&gt;http://www.keil.com/support/docs/2394.htm&lt;/a&gt;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: PDATA in Simulator V7.08</title><link>https://community.arm.com/thread/141388?ContentTypeID=1</link><pubDate>Tue, 13 Jul 2004 20:03:52 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:0b69c98d-882e-4da9-9311-63f8092b1668</guid><dc:creator>Jon Ward</dc:creator><description>&lt;p&gt;&lt;i&gt;Is there anyway to set the PPAGE VTREG to default to the base of XRAM?&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Yep.  I meant to include the following link earlier:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.keil.com/support/docs/2394.htm"&gt;http://www.keil.com/support/docs/2394.htm&lt;/a&gt;&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><item><title>RE: PDATA in Simulator V7.08</title><link>https://community.arm.com/thread/137894?ContentTypeID=1</link><pubDate>Tue, 13 Jul 2004 14:31:40 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:a2176544-188a-4b14-afa2-d8228d52064f</guid><dc:creator>Tim Dahlin</dc:creator><description>&lt;p&gt;Is there anyway to set the PPAGE VTREG to default to the base of XRAM?&lt;br /&gt;
&lt;br /&gt;
From support doc 1848.htm&lt;br /&gt;
&lt;pre&gt;
Most devices allow PDATA access (MOVX @Rx)
to only the first 256 bytes of XDATA (0x0000-
0x00FF). On such devices, there is nothing
to configure. You don&amp;#39;t need to enable the
PPAGEENABLE setting in the startup code
since the PPAGE is fixed by the chip to 0.
&lt;/pre&gt;
&lt;br /&gt;
This is how I am using the Analog Devices &amp;#39;831 part works.  I have 5 different &amp;#39;831 boards that run a windowed averaging routine which use R0 and R1 for indirect addressing.  I&amp;#39;m using P2 for non-addressing uses.&lt;br /&gt;
&lt;br /&gt;
From ADI&amp;#39;s ADuC831 datasheet (P2 behavior)&lt;br /&gt;
&lt;pre&gt;
As shown in Figure 38, the output drivers of Ports 2 are switchable
to an internal ADDR and ADDR/DATA bus by an internal
CONTROL signal for use in external memory accesses (as for
Port 0). In external memory addressing mode (CONTROL = 1)
the port pins feature push-pull operation controlled by the internal
address bus (ADDR line). However, unlike the P0 SFR
during external memory accesses, the P2 SFR remains unchanged.
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: PDATA in Simulator V7.08</title><link>https://community.arm.com/thread/134406?ContentTypeID=1</link><pubDate>Tue, 13 Jul 2004 10:58:43 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:58acdd2e-e160-46c7-8cd1-f2c7406fa8be</guid><dc:creator>Keil Software Support Intl.</dc:creator><description>&lt;p&gt;We tried to find out the behaviour of MOVX @Ri on Analog Devices parts with on-chip XRAM, but we had no luck.  We will contact them again.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: PDATA in Simulator V7.08</title><link>https://community.arm.com/thread/122446?ContentTypeID=1</link><pubDate>Tue, 13 Jul 2004 10:57:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:ee7916da-c3b6-43b1-bc0b-1d0b73a9a9cb</guid><dc:creator>Jon Ward</dc:creator><description>&lt;p&gt;&lt;i&gt;Is what behavior specifed? I&amp;#39;ve been referencing old atmel/intel 8051 manuals.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
That&amp;#39;s not good.  If you&amp;#39;re using an Analog Devices part, you should start looking at the manual for that device.&lt;br /&gt;
&lt;br /&gt;
PDATA is accessed using MOVX A,@R0/R1 and MOVX @R0/R1, A.  R0/R1 contains the lower 8-bits of the XDATA address.  The upper 8-bits have to come from somewhere else.  On older devices, this was always Port 2.  However, newer devices have on-chip XDATA which frees up Port 2 for general I/O.  So, P2 is not used (on some devices with on-chip XDATA) for the upper address byte.  The following knoweldgebase article provides more info on that.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.keil.com/support/docs/1848.htm"&gt;http://www.keil.com/support/docs/1848.htm&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
This statement ...&lt;br /&gt;
&lt;br /&gt;
PPAGE=0xFFFFFFF  // Use default behavior for MOVX @Rx&lt;br /&gt;
&lt;br /&gt;
... confuses me. &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
This statement tells the simulator that PDATA is accessed using P2 as the upper address byte and R0/R1 as the lower address byte.  It&amp;#39;s important to set this correctly because your device may not actually work that way.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Jon&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&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><item><title>RE: PDATA in Simulator V7.08</title><link>https://community.arm.com/thread/122462?ContentTypeID=1</link><pubDate>Tue, 13 Jul 2004 10:40:20 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:d085e644-4e18-4ee9-9a79-5d9f9f563060</guid><dc:creator>Tim Dahlin</dc:creator><description>&lt;p&gt;Okay it assumes your using external XRAM.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: PDATA in Simulator V7.08</title><link>https://community.arm.com/thread/110965?ContentTypeID=1</link><pubDate>Tue, 13 Jul 2004 10:38:58 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:a0b18136-7755-4912-bee3-397b0ebf0e82</guid><dc:creator>Tim Dahlin</dc:creator><description>&lt;p&gt;Is what behavior specifed?  I&amp;#39;ve been referencing old atmel/intel 8051 manuals.&lt;br /&gt;
&lt;br /&gt;
Is there a way to have the VTREG PPAGE default to 0x00?  I thought the startup file set the default.&lt;br /&gt;
&lt;br /&gt;
This statement&lt;br /&gt;
&lt;pre&gt;PPAGE=0xFFFFFFF  // Use default behavior for MOVX @Rx&lt;/pre&gt;
from&lt;br /&gt;
&lt;i&gt;&lt;a href="http://www.keil.com/support/docs/2394.htm"&gt;http://www.keil.com/support/docs/2394.htm&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;
confuses me.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: PDATA in Simulator V7.08</title><link>https://community.arm.com/thread/96447?ContentTypeID=1</link><pubDate>Tue, 13 Jul 2004 10:20:09 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:cd4f09b3-680e-47fd-a615-50277bfb56b1</guid><dc:creator>Keil Software Support Intl.</dc:creator><description>&lt;p&gt;Is the behaviour of MOVX @Ri specified for the ADuC83x devices? Where is it documented?&lt;br /&gt;
&lt;br /&gt;
On standard 8051 the P2 value is used to provide the high byte for MOVX @Ri.  In case that the ADuC83x always uses 0 as high-byte you need to initialize the PPAGE VTREG in teh simulator to 0.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: PDATA in Simulator V7.08</title><link>https://community.arm.com/thread/72602?ContentTypeID=1</link><pubDate>Tue, 13 Jul 2004 10:05:23 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:6a6ed063-4310-45b6-9ba2-4d110f46bc9d</guid><dc:creator>Tim Dahlin</dc:creator><description>&lt;p&gt;Thanks but still no luck...&lt;br /&gt;
&lt;br /&gt;
I checked this link too&lt;br /&gt;
&lt;i&gt;&lt;a href="http://www.keil.com/support/docs/1848.htm"&gt;http://www.keil.com/support/docs/1848.htm&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Snippets from my Start_ad.a51 file&lt;/b&gt;&lt;br /&gt;
&lt;pre&gt;
;		; the absolute start-address of IDATA memory is always 0
IDATALEN	EQU	100H	; the length of IDATA memory in bytes. Tim Dahlin Changed from 80
;
XDATASTART	EQU	100H ; the absolute start-address of XDATA memory
XDATALEN	EQU	700H ; the length of XDATA memory in bytes. Tim Dahlin Changed from 0
;
PDATASTART	EQU	0H   ; the absolute start-address of PDATA memory.
PDATALEN	EQU	0ffH ; the length of PDATA memory in bytes.
;+++++
PPAGEENABLE	EQU	0	; set to 1 if pdata object are used.
PPAGE		EQU	0	; define PPAGE number.
&lt;/pre&gt;
&lt;br /&gt;
I should have noted that I&amp;#39;m using the lower 256 byte block of an ADI ADUC831&amp;#39;s XRAM.&lt;br /&gt;
&lt;br /&gt;
The VTREG PPAGE is equal to 0xffffffff&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: PDATA in Simulator V7.08</title><link>https://community.arm.com/thread/42485?ContentTypeID=1</link><pubDate>Tue, 13 Jul 2004 09:11:18 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:d9b35c72-4de5-4cb1-a7e7-a5a240411c38</guid><dc:creator>Keil Software Support Intl.</dc:creator><description>&lt;p&gt;See: &lt;a href="http://www.keil.com/support/docs/2394.htm"&gt;http://www.keil.com/support/docs/2394.htm&lt;/a&gt;. Maybe this answers your question.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>