RTEMS 5 on mcp750 fails

Miroslaw Dach miroslaw.dach at gmail.com
Sat May 21 16:02:14 UTC 2022


Hi Hainz,

Thanks for the indication. I have exactly found this setting and am going
to reduce
CONFIGURE_EXTRA_TASK_STACKS which is currently setup by default in EPICS to
32MB.
The mcp750 has just 32MB so it is no wonder that it does not work.

I will test the new configuration next week.
Have a nice weekend
Best Regards
Mirek


sob., 21 maj 2022 o 05:39 Heinz Junkes <junkes at fhi-berlin.mpg.de>
napisał(a):

> Hi Mirek,
> You can find the configuration of the RTEMS at EPICS here:
>
> epics-base/modules/libcom/RTEMS/posix/rtems_config.c
>
> There for example
> ...
> #define CONFIGURE_EXTRA_TASK_STACKS         (4000 *
> RTEMS_MINIMUM_STACK_SIZE)
>
> #define CONFIGURE_UNLIMITED_ALLOCATION_SIZE 32
> #define CONFIGURE_UNLIMITED_OBJECTS
> #define CONFIGURE_UNIFIED_WORK_AREAS
>>
> best regards,
> Heinz
>
> > On 21. May 2022, at 00:21, Joel Sherrill <joel at rtems.org> wrote:
> >
> > On Fri, May 20, 2022 at 3:55 PM Miroslaw Dach <miroslaw.dach at gmail.com>
> > wrote:
> >
> >> Hi Chris,
> >>
> >> Thank you very much for your expertise and attached links which are very
> >> helpful.
> >> As regards the INTERNAL_ERROR_TOO_LITTLE_WORKSPACE error message:
> >> Is it possible to determine with some debug information what is the
> >> foreseen by RTEMS WORKSPACE size?
> >>
> >
> > This CONFIGURE_MEMORY_OVERHEAD is there as a mechanism to toss
> > extra memory at the workspace in case confdefs.h makes a mistake. I think
> > this
> > is more likely to be something else like a misconfigured system. But
> adding
> > this
> > to your RTEMS configuration with some chunk of memory like 128K might
> > allow this to proceed. But if it is a memory allocation error in the BSP
> > like
> > not assigning memory right to RTEMS, this won't fix it. See:
> >
> >
> https://docs.rtems.org/branches/master/c-user/config/general.html#configure-memory-overhead
> >
> > Chris has touched one of the boards in the motorola_powerpc family
> > more recently than I have. I would think this would work unless something
> > is off in the EPICS configuration of RTEMS. There was a discussion of the
> > EPICS RTEMS configuration with Till recently on tech-talk and I thought
> > it looked ok.
> >
> > --joel
> >
> >>
> >> Best Regards
> >> Mirek
> >>
> >> śr., 18 maj 2022 o 00:53 Chris Johns <chrisj at rtems.org> napisał(a):
> >>
> >>> On 18/5/2022 9:36 am, Miroslaw Dach wrote:
> >>>> Dear RTEMS Users and Developers,
> >>>>
> >>>> I have built RTEMS 5 with EPICS 7 and tried to boot my application on
> >>>> mcp750 cPCI board.
> >>>> The first thing that I have encountered is that the boot file is in
> the
> >>> elf
> >>>> format so I have
> >>>> converted it to the binary one.:
> >>>> powerpc-rtems5-objcopy -I elf32-powerpc -O binary myApp.boot
> >>> myApp.boot.bin
> >>>
> >>> We removed the various post-link hooks.
> >>>
> >>>> So far so good
> >>>> Next, I booted the system with my app and it fails in the *bsp_early*
> >>>> function in
> >>>> bsps/powerpc/motorola_powerpc/start/bspstart.c
> >>>>
> >>>> The boot sequence:
> >>>> Network Boot File load in progress... To abort hit <BREAK>
> >>>>
> >>>> Bytes Received =&1270208, Bytes Loaded =&1270208
> >>>> Bytes/Second =&635104, Elapsed Time =2 Second(s)
> >>>>
> >>>> Residual-Data Located at: $01F88000
> >>>>
> >>>> Model: (e2)
> >>>> Serial: MOT0000000
> >>>> Processor/Bus frequencies (Hz): 366680480/66671508
> >>>> Time Base Divisor: 4000
> >>>> Memory Size: 2000000
> >>>> Residual: 1f88000 (length 27148)
> >>>>
> >>>> PCI: Probing PCI hardware
> >>>>
> >>>> RTEMS 5.0.0/PPC load:
> >>>> Uncompressing the kernel...
> >>>> done
> >>>> Now booting...
> >>>> -----------------------------------------
> >>>> Welcome to rtems-5.0.0 (PowerPC/Generic (classic FPU)/mcp750) on
> >> Mesquite
> >>>> cPCI (MCP750)
> >>>> -----------------------------------------
> >>>> idreg 0 = 0x1208029271
> >>>> OpenPIC found at 0xc1000000.
> >>>> pci : Configuring interrupt routing for 'Mesquite cPCI (MCP750)'
> >>>> pci : No bridge from bus 0 towards root found
> >>>> pci : No bridge from bus 0 towards root found
> >>>> pci : Device 1:0x0b:0 routed to interrupt_line 27
> >>>> pci : Device 1:0x0d:0 routed to interrupt_line 25
> >>>> Cleared PCI errors: pci_stat was 0x2280
> >>>> OpenPIC Version ? (2 CPUs and 16 IRQ sources) at 0x3238002688
> >>>> OpenPIC Vendor 0 (Unknown), Device 0 (Unknown), Stepping 2
> >>>> OpenPIC timer frequency is 8333848 Hz
> >>>
> >>> This all looks OK.
> >>>
> >>>>
> >>>> *** FATAL ***
> >>>> fatal source: 0 (INTERNAL_ERROR_CORE)
> >>>> fatal code: 2 (INTERNAL_ERROR_TOO_LITTLE_WORKSPACE)
> >>>> RTEMS version: 5.0.0.fc89cc76804499eba3f3bc4097b795a84f07571a-modified
> >>>> RTEMS tools: 7.5.0 20191114 (RTEMS 5, RSB 5 (6225eadda1de), Newlib
> >>> 7947581)
> >>>> executing thread is NULL
> >>>>
> >>>> My application in the binary format uncompressed with stripped symbols
> >>> is a
> >>>> 2.3M + 501K bootloader so I do not think that it
> >>>> is an issue with the WORKSPACE? The mcp750 has 32MB of RAM.
> >>>> How to detect what is the real cause of
> >>> INTERNAL_ERROR_TOO_LITTLE_WORKSPACE
> >>>> ?
> >>>> Would it be the problem with the linker script ppcboot.lds?
> >>>
> >>> I do not think so. I suggest you check the Classic API Guide here:
> >>>
> >>>
> >>>
> >>
> https://ftp.rtems.org/pub/rtems/releases/5/5.1/docs/html/c-user/config/intro.html#sizing-the-rtems-workspace
> >>>
> >>> The accounting of memory is better and this means the extra space
> needed
> >>> may
> >>> need to be adjusted. I am not sure where in EPCIS this is controlled
> and
> >>> if it
> >>> can be overridden in your local configuration.
> >>>
> >>> RTEMS 5 has a unified workspace and heap. This means the heap and
> >>> workspace can
> >>> use memory until it is all used. The benefit is not need to manage the
> >>> workspace
> >>> size statically:
> >>>
> >>>
> >>>
> >>
> https://ftp.rtems.org/pub/rtems/releases/5/5.1/docs/html/c-user/config/general.html#configure-unified-work-areas
> >>>
> >>> Chris
> >>>
> >> _______________________________________________
> >> users mailing list
> >> users at rtems.org
> >> http://lists.rtems.org/mailman/listinfo/users
> > _______________________________________________
> > users mailing list
> > users at rtems.org
> > http://lists.rtems.org/mailman/listinfo/users
>
>


More information about the users mailing list