[PATCH] score: Split _Terminate and call _Terminate_CPU_Fatal_halt.

Ben Gras beng at shrike-systems.com
Sun Apr 27 21:06:13 UTC 2014


All,

Hi Sebastian, everyone, I'm Ben, pleased to meet you. beng-nl on #rtems. My
day job is working on Minix (www.minix3.org). To learn more about embedded
systems in general and RTEMS in particular I'm working on a BSP for the
Beagle family of targets with Chris and we're at the stage where we are
running all the tests and diagnosing the failure reasons. Currently on the
BBXM and in the near future I want to do the same for the Beaglebones.

The BSP isn't merged yet, we're still polishing it, hence it not being in
the tree.

More info, including pointers to the WIP code:
http://wiki.rtems.org/wiki/index.php/Beagleboard

A blog I started to document some of my findings with this experience:
http://www.shrike-systems.com/

Sebastian, with respect to your comment on Chris' change: I understand what
this change wants to accomplish, and what you are saying, so I thought I
would weigh in.

The rationale for the change is not that the functionality is required for
something special to happen at shutdown time. As you say, that can be
handled with user extensions.

The reason is that the test system needs breakpoints to be hit to indicate
the test is over. We are using GDB to load & run the executables over JTAG.
Setting _Terminate as the breakpoint causes tests to fail precisely
*because* of work still to be done in user extensions. So we need to be
able to set a breakpoint once everything, including the work done in
_Terminate, is over. Hence the extra call.

Cheers!
Ben




On Sun, Apr 27, 2014 at 2:30 PM, Sebastian Huber <
sebastian.huber at embedded-brains.de> wrote:

> On 04/27/2014 02:13 PM, Chris Johns wrote:
>
>> Splitting the call to _CPU_Fatal_halt out into a separate function
>> allows the rtems-test gdb support the ability to halt once the
>> _Terminate function has completed it's work.
>>
>> This change allows the BeagleBoard xM BSP to pass a number of
>> important tests.
>>
>
> I don't find a BeagleBord BSP in the tree.
>
> In case the BSP has to do fancy things during termination, why don't you
> do this in bsp_reset() or bsp_fatal_extension()?
>
> I guess the bsp.h has no:
>
> #include <bsp/default-initial-extension.h>
>
> The way to control the termination sequence is via user extensions and not
> weak functions.
>
> --
> Sebastian Huber, embedded brains GmbH
>
> Address : Dornierstr. 4, D-82178 Puchheim, Germany
> Phone   : +49 89 189 47 41-16
> Fax     : +49 89 189 47 41-09
> E-Mail  : sebastian.huber at embedded-brains.de
> PGP     : Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>
>
> _______________________________________________
> rtems-devel mailing list
> rtems-devel at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20140427/03d1f331/attachment-0001.html>


More information about the devel mailing list