Dear all,
Here are a few comments following on from Noboru's.
William
------------------------------------------------------------------------
>We uses Force PowerCore 603 for development of KEKB control system.
>In a few weeks, we will get Force PowerCore6750, which uses PPC-750
>as a CPU. EPICS R3.13beta11 runs on PCore603.
Note that Beta12 has built-in support for PPC, including CONFIG files
for the Motorola MVME-1604. This certainly builds EPICS OK for that
board but has not been tested extensively with hardware (in fact it's
been tested hardly at all with hardware).
Beta12 addresses some but not all of the problems listed by Noboru. I'll
try to indicate which ones below.
>1) Compiler differences.
> 1-1) signed or unsigned integral variables.
> According to our study, the compiler for MC68K and the compiler for PPC
>in VxWorks have different default types for integral variables.
>
> char | short | int | long
>68k | signed | signed | unsigned | unsigned
>PPC | unsigned | unsigned | signed | signed
>
>In some cases, this difference causes different behaviour between
>two platforms. You must use "signed" or "unsigned" keywords explicitly.
I would have hoped that it was only char that might be signed or
unsigned and that all the others should be signed unless explicitly
unsigned.
K&RII (p211) says "the signed specifier is useful for forcing char
objects to carry a sign; it is permissible but redundant with other
integral types".
>For "char" type, compiler option "-fsigned-char" can be used.
That's a good idea. Perhaps it should be specified for _all_ boards?
Currenly in the standard release it seems to be specified only for
the Heurikon Baja board.
> 1-2) "_" in the global name.
> EPICS uses global symbol table(i.e. it uses symFindByName() function)
> to find device/record support routines.
>68K compiler adds "_" in a front of the global symbol name, however,
>PPC compiler DOES NOT.
This has been addressed in Beta12 by replacing all calls to symFindByName()
and its friends with symFindByNameEPICS(), which, if a lookup for a symbol
that starts with an underscore fails, tries ignoring the underscore.
> 1-3) -mnobitfield option
> A compiler option "-mnobitfield" does not exists for PPC compiler.
> 1-4) va_list in errPrintfVX.c.
This has been, by chance, addressed in Beta12 because errPrintf() has
been completely re-written by Marty.
> 2-1) vxMemProbe() does not work on Force PPC board.
> 2-2) slave A24 access to a main memory.
> 2-3) Word bundary.
- Navigate by Date:
- Prev:
Re: Power PC and EPICS Noboru Yamamoto
- Next:
Histogram Record support Mark J. Ryan
- Index:
1994
1995
1996
1997
<1998>
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Power PC and EPICS Noboru Yamamoto
- Next:
XVME 566 driver problem Miroslaw Dach
- Index:
1994
1995
1996
1997
<1998>
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|