How does the user interact with rtems and learning about booting
oss at c-mauderer.de
oss at c-mauderer.de
Wed Sep 8 19:13:42 UTC 2021
Hello Zack,
first let me mention: For some reason your text is (in the HTML form)
dark gray on light gray which is hard to read. Maybe you should check
the settings of your mail application.
On 08/09/2021 03:38, zack leung wrote:
> what is the best way to learn about the boot process for rtems how do
> you get from bare metal to kernel?
Regarding the boot process: That is a bit of a difficult question. It
depends a lot on the target. We have targets that boot a RTEMS
application right from the bare metal (like the atsam, the imxrt or the
stm32f4 to name some). Others use U-Boot or a similar bootloader for the
low level initialization (like beagle, imx, raspberry). And I think the
i386 uses more or less a normal PC boot.
As a rough direction: If the board normally can run Linux, we use the
same bootloader that Linux would use on that board. If it is a smaller
target that normally uses bare metal applications, RTEMS is started as a
bare metal application too.
If you are interested in the part that happens before Init in RTEMS: You
might want to take a look at the BSP manual:
https://docs.rtems.org/branches/master/bsp-howto/initilization_code.html
Is there a BSP where you are specially interested in the boot process?
> Also In most os's we've used as an
> end-user there's usually a way to interact with it e.g terminal. Does
> RTEMS have some sort of shell? I've been working on rtems for around 5
> months and I'm always here to learn!
>
For an embedded system it would be unusual for an end-user to interact
with a shell. The normal user interface is most likely more something
like some buttons and a small display, a web interface or even nothing
at all. Most RTEMS use cases are most likely something like industrial,
automotive or aerospace applications.
But despite that: We have a shell. I assume that it is used mostly
during development or for maintenance applications in most use cases.
There is even a manual for it:
https://docs.rtems.org/branches/master/shell/index.html
It is used for example in the fileio test:
https://git.rtems.org/rtems/tree/testsuites/samples/fileio/init.c#n535
Or in a number of libbsd tests like media01:
https://git.rtems.org/rtems-libbsd/tree/testsuite/media01/test_main.c#n164
Best regards
Christian
More information about the users
mailing list