Can I create an RTEMS BSP outside the RTEMS tree?

Mike Looijmans mike.looijmans at
Wed Jun 14 09:34:51 UTC 2017

On 14-06-17 11:01, Sebastian Huber wrote:
> Hello Mike,
> On 14/06/17 10:38, Mike Looijmans wrote:
>> Since our "board" (FGPA with LEON2 softcore and lots of custom logic) needs 
>> different memory addresses and needs to call "rtems_cache_coherent_add_area" 
>> before starting drivers, I've copied the "leon2" bsp and based our own on 
>> that. After figuring out how to make it compile (the trick being adding a 
>> magic file to "make/custom") it now works okay.
> since RTEMS 4.12 you can use the <rtems/sysinit.h> facility to customize the 
> startup sequence. You can use your own linker command file, use "-qnolinkcmds 
> -T yourlinkcmds" for the linker invocation. I don't think there is a need to 
> use a custom BSP.

We're stuck with 4.11 for the foreseeable future. Can I inject something 
before the drivers load?

We've been using the linkcmds-in-application workaround for now, and we're 
moving away from it, because it hardcodes hardware knowledge like device 
addresses, cache configuration and memory layout into the application.

Apart from memory layout, we currently also have two different FPGA boards 
(with 3 different memory configurations), there are three applications (more 
if you count the unit testing as well) and a custom driver. One key 
development area is a driver for FPGA logic that is being developed to run on 
any architecture (not just ours). To me, that sounds like "bsp" is a good 
abstraction layer for the board configuration, but I'd like to be proven 
wrong, since that would save me work.

Kind regards,

Mike Looijmans
System Expert

TOPIC Products
Materiaalweg 4, NL-5681 RJ Best
Postbus 440, NL-5680 AK Best
Telefoon: +31 (0) 499 33 69 79
E-mail: mike.looijmans at

Please consider the environment before printing this e-mail

More information about the users mailing list