<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>Thanks Joel, that is what I thought, but then we saw some behavior that didn't quite make sense. We were not able to read the values from our code, the shell, or eclipse, unless we put the “NP:” prefix on the address in eclipse.</div>
<div><br>
</div>
<div>It turns out it’s a cache issue. Our application has the FPGA on the SoC writing data to the SDRAM. We ran another test where we made sure the test buffer would create a cache miss and sure enough, the data is read just fine.</div>
<div><br>
</div>
<div>So one last question then, since this data is only written by the FPGA, it seems like I have two options:</div>
<ol>
<li>Create a new section in my linker script and configure the MMU for that section to not use cache (using startup/mmu_config.c in the BSP)</li><li>Or, I can invalidate the cache whenever we want to read this buffer (not too often). Is there an API available to do cache invalidations? We tried the inline routines in arm-cp15.h, but it causes a fatal exception.</li></ol>
<div>Adit</div>
<div><br>
</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Joel Sherrill <<a href="mailto:joel.sherrill@gmail.com">joel.sherrill@gmail.com</a>><br>
<span style="font-weight:bold">Date: </span>Wednesday, November 11, 2015 at 10:01 AM<br>
<span style="font-weight:bold">To: </span>Adit Sahasrabudhe <<a href="mailto:asahasra@fb.com">asahasra@fb.com</a>><br>
<span style="font-weight:bold">Cc: </span>"<a href="mailto:users@rtems.org">users@rtems.org</a>" <<a href="mailto:users@rtems.org">users@rtems.org</a>><br>
<span style="font-weight:bold">Subject: </span>Re: Accessing physical memory on ARM<br>
</div>
<div><br>
</div>
<div>
<div>
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Nov 11, 2015 at 10:46 AM, Adit Sahasrabudhe <span dir="ltr">
<<a href="mailto:asahasra@fb.com" target="_blank">asahasra@fb.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div>Hi all,</div>
<div><br>
</div>
<div>We’re using RTEMS on an ARM Cortex A9 (Altera SoC), and we need to be able to access some physical memory locations in the SDRAM. The BSP has the MMU enabled by default and rather than messing around with trying to disable it, I was hoping there was another
 way to access physical memory locations. It looks like mmap() capability is supported by this BSP, but I believe that requires the /dev/mem I/O device to be present. We are using the IMFS, which does not have that I/O device mapped.</div>
<div><br>
</div>
<div>Any thoughts on this? I’m sure (at least I hope) someone has tried to do this before.</div>
<div><br>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>RTEMS does not have virtual memory. The MMU is used just to access physical memory</div>
<div>in 1:1 fashion. If you can't access a location via a simple pointer, then it isn't mapped and</div>
<div>the MMU initialization needs tweaking to include the addresses it missed.</div>
<div><br>
</div>
<div>--joel</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div></div>
<div>Thanks,</div>
<div>Adit</div>
</div>
<br>
_______________________________________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org">users@rtems.org</a><br>
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.rtems.org_mailman_listinfo_users&d=CwMFaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=NQi5ZDATEqAUQ7YuH-e3LQ&m=HgIW5CVcOkOfJKh7s_GASS9nb-2qbJG5sT2xEmj1Ne0&s=Ecyd8uRJrlr69b_Araok7pTR1j8qoM-4JObJEpRIIB8&e=" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a><br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</span>
</body>
</html>