how patching

Gedare Bloom gedare at rtems.org
Sat Feb 14 15:56:28 UTC 2015


The most general way to solve this problem is to use a form of dynamic
loading. I am aware of two such user-based approaches in RTEMS, cexp
has it and I believe NASA also had the capability. Their approach was
to reserve sections of the binary for known parts of the application,
and then you can update that section with a "patch" isolated from the
rest of the system. Whether it was "hot fixing" or not I don't know.
Nowadays, with Chris Johns work with RTL, it should be possible with
the current RTEMS. Again, I'm not sure what guarantees can be made
about hot patching though.

Gedare

On Sat, Feb 14, 2015 at 4:29 AM, Олег Мороз <oleg.moroz at mcc.vniiem.ru> wrote:
> I've tried to do that on a flying spacecraft. Spacecraft on board computer's
> RTOS was a vxworks but in my case it does not matters. I've did it in most
> easiest way. I've got an original binary file (with which SC was launched)
> and a modified (with some bugfixes). Then i'm just compare it byte by byte
> and collects diffs like:
>
> 0x01234 0A 12 13 14 15
> 0x03456 FF FA FB FC FE
>
> and i know that my binary file is located in OBC RAM started from 0x2010000
> then i'm just add this start address to diff file address and load to
> spacecraft. Works like a magic, but your could fix some very simple bugs
> because original and "fixed" file should have the same sizes.
> 13.02.2015 19:41, Daniel Gutson пишет:
>>
>> Just to clarify: the ability to provide a new piece of binary
>> corresponding to a driver and replace the existing one.
>> Have anybody tried this before?
>>
>> Thanks!
>>
>>     Daniel.
>>
>> On Fri, Feb 13, 2015 at 12:27 PM, Daniel Gutson
>> <daniel.gutson at tallertechnologies.com> wrote:
>>>
>>> Hi,
>>>
>>>     is there any current experience / support with hot patching? E.g.
>>> patching a driver while the whole system is running.
>>>
>>> Thanks,
>>>
>>>     Daniel.
>>>
>>> --
>>>
>>> Daniel F. Gutson
>>> Chief Engineering Officer, SPD
>>>
>>> San Lorenzo 47, 3rd Floor, Office 5
>>> Córdoba, Argentina
>>>
>>> Phone:   +54 351 4217888 / +54 351 4218211
>>> Skype:    dgutson
>>> LinkedIn: http://ar.linkedin.com/in/danielgutson
>>
>>
>>
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel



More information about the devel mailing list