<div dir="ltr">Hey Alan,<div><br></div><div>Thanks for your detailed reply. MMU</div><div> and Caches are working correctly on Raspberry Pi BSP now. </div><div>You may review my latest patches and apply them. I appreciate your feedback.</div>
<div><br></div><div>Regards,</div><div>Hesham</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Aug 23, 2013 at 4:19 AM, Alan Cudmore <span dir="ltr"><<a href="mailto:alan.cudmore@gmail.com" target="_blank">alan.cudmore@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <div>Hi Hesham,<br>
      I don't have an answer for you, but you may be able to find some
      help or example code on the <a href="http://raspberrypi.org" target="_blank">raspberrypi.org</a> forums. <br>
      A couple of examples:<br>
      <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?t=40183&p=336705" target="_blank">http://www.raspberrypi.org/phpBB3/viewtopic.php?t=40183&p=336705</a><br>
      <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?t=40665&p=332205" target="_blank">http://www.raspberrypi.org/phpBB3/viewtopic.php?t=40665&p=332205</a><br>
      <br>
      I avoided the MMU setup on the raspberry pi BSP, because I knew
      that the GPU based bootloader set up the memory for the ARM CPU.
      More info on the whole boot process here:<br>
      <a href="http://elinux.org/RPi_Software" target="_blank">http://elinux.org/RPi_Software</a><br>
      <br>
      Another nice thing to have for work like this is a JTAG debugger
      setup. I hope I can get an inexpensive setup for mine before I try
      to add any more drivers. <br>
      The readme at the repository below has some good info on setting
      up JTAG on the raspberry pi:<br>
      <a href="https://github.com/dwelch67/raspberrypi/tree/master/armjtag" target="_blank">https://github.com/dwelch67/raspberrypi/tree/master/armjtag</a><br>
      <br>
      Alan<div><div class="h5"><br>
      <br>
      <br>
      On 8/22/2013 6:48 PM, Hesham Moustafa wrote:<br>
    </div></div></div>
    <blockquote type="cite"><div><div class="h5">
      <div dir="ltr">Hey all,
        <div><br>
        </div>
        <div>I am working on Raspberry Pi BSP which has ARM1176JZF-S
          (ARMv6) processor on it. Here is what I am doing that causes
          the processor to halt:</div>
        <div><br>
        </div>
        <div>At BSP startup, specifically in bsp_start_hook_0 function,
          I call another function that :</div>
        <div>1- Initialize first level page tables (sections) with
          READ/WRITE permissions.</div>
        <div>2- Invalidate TLB.</div>
        <div>3- Enable MMU, Cache, Protection bits in control register.</div>
        <div><br>
        </div>
        <div>Initialization is done correctly and the program reaches my
          application (test case), which tries to update first level
          page table entries to force another protection attributes for
          a memory region. At this part, after, or before, modifying the
          page table entry, I try to invalidate TLB but the program
          halts there. I disable MMU and Caches during updating page
          tables and invalidating TLB. </div>
        <div><br>
        </div>
        <div>When removing the function call that invalidates the TLB,
          the program proceed to the end successfully.</div>
        <div><br>
        </div>
        <div>Not sure why the processor halts when trying to invalidate
          the TLB "at the second time". I hope someone can tell me the
          reason.</div>
        <div><br>
        </div>
        <div>Regards,</div>
        <div>Hesham</div>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      </div></div><pre>_______________________________________________
rtems-devel mailing list
<a href="mailto:rtems-devel@rtems.org" target="_blank">rtems-devel@rtems.org</a>
<a href="http://www.rtems.org/mailman/listinfo/rtems-devel" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-devel</a>
</pre>
    </blockquote>
    <br>
  </div>

<br>_______________________________________________<br>
rtems-devel mailing list<br>
<a href="mailto:rtems-devel@rtems.org">rtems-devel@rtems.org</a><br>
<a href="http://www.rtems.org/mailman/listinfo/rtems-devel" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-devel</a><br>
<br></blockquote></div><br></div>