On Mon, Oct 14, 2013 at 6:03 PM, Gedare Bloom <ged...@rtems.org> wrote:
> On Mon, Oct 14, 2013 at 11:54 AM, Hesham Moustafa > <heshamelmat...@gmail.com> wrote: > > > > > > > > On Mon, Oct 14, 2013 at 4:02 PM, Sebastian Huber > > <sebastian.hu...@embedded-brains.de> wrote: > >> > >> On 2013-10-14 15:34, Hesham AL-Matary wrote: > >>> > >>> diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/mm_config_table.c > >>> b/c/src/lib/libbsp/arm/raspberrypi/startup/mm_config_table.c > >>> index 5436a76..2b748b2 100644 > >>> --- a/c/src/lib/libbsp/arm/raspberrypi/startup/mm_config_table.c > >>> +++ b/c/src/lib/libbsp/arm/raspberrypi/startup/mm_config_table.c > >>> @@ -42,7 +42,7 @@ bsp_mm_config_table[] = { > >>> }, { > >>> .begin = (uint32_t) bsp_section_text_begin, > >>> .end = (uint32_t) bsp_section_text_end, > >>> - .flags = ARMV7_MMU_CODE_CACHED > >>> + .flags = ARMV7_MMU_READ_WRITE > >> > >> > >> What is the problem with the cache? Did the cache previously work? > > > > There is a problem with applying a Read-Only permissions in general to > this > > area for RaspberryPi BSP. > Any idea why? Letting the text region be read-write is overly > permissive, as RTEMS does not generally use self-modifying code. > > Not sure about the reason, I had to test (i.e., change attributes) every entry in the table and finally found that this section causes the problem. I could not use other debugging methods because the BSP is new and lacks a driver to remotely debug, and I could not also use printf as it's a startup code. Maybe this section overlaps other section (as its minimum size is 1 MB and it's aligned) which is written later (e.g., vector table area). ticker.exe only works with this modification. > >> > >> > >> > >>> }, { > >>> .begin = (uint32_t) bsp_section_rodata_begin, > >>> .end = (uint32_t) bsp_section_rodata_end, > >>> @@ -63,8 +63,12 @@ bsp_mm_config_table[] = { > >>> .begin = (uint32_t) bsp_section_stack_begin, > >>> .end = (uint32_t) bsp_section_stack_end, > >>> .flags = MMU_DATA_READ_WRITE > >>> + }, { > >>> + .begin = 0x20000000, > >>> + .end = 0x20FFFFFF, > >>> + .flags = ARMV7_MMU_DATA_READ_WRITE > >> > >> > >> What is this for an area? > > > > It's for Raspberry GPIO pins and other registers (defined at > > raspbberrypi.h). > >> > >> > >>> } > >>> }; > >> > >> > >> > >> -- > >> Sebastian Huber, embedded brains GmbH > >> > >> Address : Dornierstr. 4, D-82178 Puchheim, Germany > >> Phone : +49 89 189 47 41-16 > >> Fax : +49 89 189 47 41-09 > >> E-Mail : sebastian.hu...@embedded-brains.de > >> PGP : Public key available on request. > >> > >> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. > >> _______________________________________________ > >> rtems-devel mailing list > >> rtems-devel@rtems.org > >> http://www.rtems.org/mailman/listinfo/rtems-devel > > > > > > > > _______________________________________________ > > rtems-devel mailing list > > rtems-devel@rtems.org > > http://www.rtems.org/mailman/listinfo/rtems-devel > > >
_______________________________________________ rtems-devel mailing list rtems-devel@rtems.org http://www.rtems.org/mailman/listinfo/rtems-devel