[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RTEMS, Bootloaders and HW parameters
- Date: Sun, 08 Nov 2009 18:57:54 +0100
- From: Thomas.Doerfler at embedded-brains.de (Thomas Dörfler)
- Subject: RTEMS, Bootloaders and HW parameters
Hi,
some days ago I onve again added support to pass parameters from a
specific boot loader (Freescale DBug) to an RTEMS BSP. While I was
modifying the ethernet driver and the console driver and the bsp startup
to get bts and pieces from the boot loader, I got the impression that
this is all wrong :-(
The parameters I am talking about are:
- console baud rate
- UART port to be used for console
- actual memory start/end address (or addresses...)
- CPU clock speed
- BUS clock speed
- base clock speed for peripherals (like UART, timers...)
- ethernet MAC addresses
- primary ethernet port to be used
- initial IP addesses for client, server, DNS, gateway....
Wouldn't it make sense to establish a different structure to collect and
then spread this information? What I have in mind is sort of a database,
(in fact this can be an extended BSP configuration structure or
something similar), that allows to:
- write a routine like "bsp_params_init_from_boot()", that fetches as
much info as possible from the boot loader and stores it in this
bsp_params database
- have a mechanism to override these parameters from bspopts.h, of set there
- have a function that can be used by all drivers to get the relevant
values.
This would allow us to make many drivers generic again, even the
questions "where do I get the initial baudrate", "which port should be
/dev/console", "what is the system bus frequency" etc. would get generic
answers.
What do you all think about this?
Should I make a proposal for such a database?
wkr,
Thomas.
--
--------------------------------------------
Embedded Brains GmbH
Thomas Doerfler Obere Lagerstrasse 30
D-82178 Puchheim Germany
email: Thomas.Doerfler at embedded-brains.de
Phone: +49-89-18908079-2
Fax: +49-89-18908079-9