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
_______________________________________________
users mailing list
users@rtems.org
http://lists.rtems.org/mailman/listinfo/users

Reply via email to