Rework of Initialization Chapter in BSP Howto

Chris Johns chrisj at rtems.org
Wed Feb 5 06:58:13 UTC 2020



On 5/2/20 5:31 pm, Sebastian Huber wrote:
> On 05/02/2020 03:09, Chris Johns wrote:
> 
>> On 4/2/20 8:20 pm, Sebastian Huber wrote:
>>> Hello,
>>>
>>> I reworked the heavily out dated system initialization chapter in the RTEMS
>>> BSP and Driver Guide:
>>>
>>> https://docs.rtems.org/branches/master/bsp-howto/initilization_code.html
>>>
>>> I would be happy if some want to review it.
>> Looks good. I couple of comments ...
>>
>> 1. There is no discuss about boot loaders and the various role they play ...
>>
>>   Do all BSPs need a boot loader?
>>   Can some BSP run directly from reset?
>>   What set up is needed by a bootloader?
>>
>> Should there be some context here to guide a user in the area of boot loaders?
> 
> I am not sure, this guide is for BSP writers. They should know if there is a
> boot loader or not and what it does. I just mentioned a boot loader in one
> sentence:
> 
> "The low-level system initialization may depend on a platform initialization
> carried out by a boot loader."
> 
> How a particular BSP boots should be documented in the user manual.

Yes and is once the BSP writer has it working. The RTEMS's start entry point
cannot accept any state. The state of the MMU, cache, hypervisor mode need to be
considered and accounted for. I am not asking the detail is listed and resolved
just a note the BSP start up and the bootloader need to agree on a suitable
state and hand over.

> 
>>
>> 2. Minor edit?
>>
>>   and change into normal system mode with multi-threading enabled.
>>
>> to
>>
>>   and change into the normal system mode with multi-threading enabled.
> I changed it.
>>
>> 3. 5.4 Should we highlight the handling of init errors are a system issue. I
>> think it is important explain RTEMS does not manage system level issues for you
>> and handling init errors is part of the system design. How does a user override
>> a BSP default?
> 
> I think these questions should be answered by the Classic API Guide. A BSP
> writer just needs to know that initialization errors are fatal and the BSP
> should provide a fatal extension and a reset function.
> 
> The Classic API Guide could be improved to give an answer to "How does a user
> override a BSP default?":
> 
> https://docs.rtems.org/branches/master/c-user/fatal_error.html#announcing-a-fatal-error
> 

OK. Maybe I am looking this section the wrong way.

Chris


More information about the devel mailing list