Fwd: RTEMS 5 on mcp750 fails

Chris Johns chrisj at rtems.org
Wed May 18 07:53:51 UTC 2022


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


More information about the users mailing list