<?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>invalid address (LPC3250)</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/40161/invalid-address-lpc3250</link><description> 
Hi 
I work with an LPC3250 and I realized that I can read or write into
memory address which supposed to be invalid without any problem (for
example 0x04000000, the user manual mentions that writing into this
address has no effect). 
can you give me</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: invalid address (LPC3250)</title><link>https://community.arm.com/thread/81141?ContentTypeID=1</link><pubDate>Thu, 11 Apr 2013 09:12:37 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:88ebaf63-f5b3-4f6f-bda4-05d03efe36fa</guid><dc:creator>Ahmed Ahmed</dc:creator><description>&lt;p&gt;&lt;p&gt;
thank you for the explanation.&lt;br /&gt;
the problem is that when I do a DMA transfer with undefined addresses
it works correctly (I did it by accident, I used the address
0x00800000 instead of 0x08000000 and the address 0x00803000 instead
of 0x08003000) but the transfer fails with defined addresses
(0x08000000 and 0x08003000). thank you for the help&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: invalid address (LPC3250)</title><link>https://community.arm.com/thread/68212?ContentTypeID=1</link><pubDate>Thu, 11 Apr 2013 08:05:54 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:62b41665-8f1a-4eac-a30c-d469a6a6d249</guid><dc:creator>ImPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
Without spending time with the documentation for that specific
microcontroller, I just want to make some notes.&lt;/p&gt;

&lt;p&gt;
1) Some memory controllers throws exceptions if you try to access
specific memory regions. Some doesn&amp;#39;t. Some does for just some memory
regions.&lt;/p&gt;

&lt;p&gt;
2) Some memory controllers don&amp;#39;t perform a full address decode,
resulting in aliasing. I.e. multiple spaces in the address range will
map into the same memory region. So you could have 32kB of RAM, but
potentiall have a full MB of address range where you can have a
pointer pointing to a variable. And the pointer + 32kB will point to
the same variable. And the pointer + 64k and +96k and +128k...&lt;/p&gt;

&lt;p&gt;
3) Normally, you have to settle for it being &amp;quot;undefined&amp;quot; when
accessing addresses outside what the manual mentions as valid
addresses. Getting exceptions is just a lucky bonus, since it is a
quicker way to spot errors in the code.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>