<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Oct 14, 2013 at 6:03 PM, Gedare Bloom <span dir="ltr"><<a href="mailto:gedare@rtems.org" target="_blank">gedare@rtems.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im">On Mon, Oct 14, 2013 at 11:54 AM, Hesham Moustafa<br>

<<a href="mailto:heshamelmatary@gmail.com">heshamelmatary@gmail.com</a>> wrote:<br>
><br>
><br>
><br>
> On Mon, Oct 14, 2013 at 4:02 PM, Sebastian Huber<br>
> <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br>
>><br>
>> On 2013-10-14 15:34, Hesham AL-Matary wrote:<br>
>>><br>
>>> diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/mm_config_table.c<br>
>>> b/c/src/lib/libbsp/arm/raspberrypi/startup/mm_config_table.c<br>
>>> index 5436a76..2b748b2 100644<br>
>>> --- a/c/src/lib/libbsp/arm/raspberrypi/startup/mm_config_table.c<br>
>>> +++ b/c/src/lib/libbsp/arm/raspberrypi/startup/mm_config_table.c<br>
>>> @@ -42,7 +42,7 @@ bsp_mm_config_table[] = {<br>
>>>     }, {<br>
>>>       .begin = (uint32_t) bsp_section_text_begin,<br>
>>>       .end = (uint32_t) bsp_section_text_end,<br>
>>> -    .flags = ARMV7_MMU_CODE_CACHED<br>
>>> +    .flags = ARMV7_MMU_READ_WRITE<br>
>><br>
>><br>
>> What is the problem with the cache?  Did the cache previously work?<br>
><br>
> There is a problem with applying a Read-Only permissions in general to this<br>
> area for RaspberryPi BSP.<br>
</div>Any idea why? Letting the text region be read-write is overly<br>
permissive, as RTEMS does not generally use self-modifying code.<br>
<div class=""><div class="h5"><span style="color:rgb(34,34,34)"> </span><br></div></div></blockquote><div style="font-family:arial,sans-serif;font-size:13px">Not sure about the reason, I had to test (i.e., change attributes) every entry in</div>
<div style="font-family:arial,sans-serif;font-size:13px"> the table and finally found that this section causes the problem. I could not use</div><div style="font-family:arial,sans-serif;font-size:13px">other debugging methods because the BSP is new and lacks a driver to remotely </div>
<div style="font-family:arial,sans-serif;font-size:13px">debug, and I could not also use printf as it's a startup code. Maybe this section</div><div style="font-family:arial,sans-serif;font-size:13px">overlaps other section (as its minimum size is 1 MB and it's aligned) </div>
<div style="font-family:arial,sans-serif;font-size:13px">which is written later (e.g., vector table area). ticker.exe only works with this </div><div><span style="font-family:arial,sans-serif;font-size:13px">modification.</span> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5">
>><br>
>><br>
>><br>
>>>     }, {<br>
>>>       .begin = (uint32_t) bsp_section_rodata_begin,<br>
>>>       .end = (uint32_t) bsp_section_rodata_end,<br>
>>> @@ -63,8 +63,12 @@ bsp_mm_config_table[] = {<br>
>>>       .begin = (uint32_t) bsp_section_stack_begin,<br>
>>>       .end = (uint32_t) bsp_section_stack_end,<br>
>>>       .flags = MMU_DATA_READ_WRITE<br>
>>> +  }, {<br>
>>> +    .begin = 0x20000000,<br>
>>> +    .end = 0x20FFFFFF,<br>
>>> +    .flags = ARMV7_MMU_DATA_READ_WRITE<br>
>><br>
>><br>
>> What is this for an area?<br>
><br>
> It's for Raspberry GPIO pins and other registers (defined at<br>
> raspbberrypi.h).<br>
>><br>
>><br>
>>>     }<br>
>>>   };<br>
>><br>
>><br>
>><br>
>> --<br>
>> Sebastian Huber, embedded brains GmbH<br>
>><br>
>> Address : Dornierstr. 4, D-82178 Puchheim, Germany<br>
>> Phone   : +49 89 189 47 41-16<br>
>> Fax     : +49 89 189 47 41-09<br>
>> E-Mail  : <a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a><br>
>> PGP     : Public key available on request.<br>
>><br>
>> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<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>
><br>
><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>
</div></div></blockquote></div><br></div></div>