Re: Possible Problem with x86 after installing ARMV4I QFE by K
K
Thu Jan 15 08:59:14 CST 2004
TRy to add the following code in your wdm.h for a temporaily solution before
you get the official update from intel
#if x86
int __cdecl _inp(unsigned short);
unsigned short __cdecl _inpw(unsigned short);
unsigned long __cdecl _inpd(unsigned short);
int __cdecl _outp(unsigned short, int);
unsigned short __cdecl _outpw(unsigned short, unsigned short);
unsigned long __cdecl _outpd(unsigned short, unsigned long);
ULONG __inline READ_PORT_ULONG(PULONG port)
{
return _inpd((USHORT)port);
}
VOID __inline WRITE_PORT_ULONG(PULONG port, ULONG value)
{
_outpd((USHORT)port, (value));
}
USHORT __inline READ_PORT_USHORT(PUSHORT port)
{
return _inpw((USHORT)port);
}
VOID __inline WRITE_PORT_USHORT(PUSHORT port, USHORT value)
{
_outpw((USHORT)port, (value));
}
UCHAR __inline READ_PORT_UCHAR(PUCHAR port)
{
return _inp((USHORT)port);
}
VOID __inline WRITE_PORT_UCHAR(PUCHAR port, UCHAR value)
{
_outp((USHORT)port, (value));
}
#define READ_REGISTER_ULONG(reg) \
(*(volatile unsigned long * const)(reg))
#define WRITE_REGISTER_ULONG(reg, val) \
(*(volatile unsigned long * const)(reg)) = (val)
#define READ_REGISTER_USHORT(reg) \
(*(volatile unsigned short * const)(reg))
#define WRITE_REGISTER_USHORT(reg, val) \
(*(volatile unsigned short * const)(reg)) = (val)
#define READ_REGISTER_UCHAR(reg) \
(*(volatile unsigned char * const)(reg))
#define WRITE_REGISTER_UCHAR(reg, val) \
(*(volatile unsigned char * const)(reg)) = (val)
// end of x86
#elif defined(MIPS) || defined(ARM)
#if 0 // re-direct macro version io routines to ceddk.
ULONG __inline READ_PORT_ULONG(PULONG port)
{
return *(volatile unsigned long * const)port;
}
VOID __inline WRITE_PORT_ULONG(PULONG port, ULONG value)
{
*(volatile unsigned long * const)port = value;
}
USHORT __inline READ_PORT_USHORT(PUSHORT port)
{
return *(volatile unsigned short * const)port;
}
VOID __inline WRITE_PORT_USHORT(PUSHORT port, USHORT value)
{
*(volatile unsigned short * const)port = value;
}
UCHAR __inline READ_PORT_UCHAR(PUCHAR port)
{
return *(volatile unsigned char * const)port;
}
VOID __inline WRITE_PORT_UCHAR(PUCHAR port, UCHAR value)
{
*(volatile unsigned char * const)port = value;
}
#define READ_REGISTER_ULONG(reg) \
(*(volatile unsigned long * const)(reg))
#define WRITE_REGISTER_ULONG(reg, val) \
(*(volatile unsigned long * const)(reg)) = (val)
#define READ_REGISTER_USHORT(reg) \
(*(volatile unsigned short * const)(reg))
#define WRITE_REGISTER_USHORT(reg, val) \
(*(volatile unsigned short * const)(reg)) = (val)
#define READ_REGISTER_UCHAR(reg) \
(*(volatile unsigned char * const)(reg))
#define WRITE_REGISTER_UCHAR(reg, val) \
(*(volatile unsigned char * const)(reg)) = (val)
#endif // re-direct macro version io routines to ceddk.
#elif SHx
ULONG READ_PORT_ULONG(PULONG port);
VOID WRITE_PORT_ULONG(PULONG port, ULONG value);
USHORT READ_PORT_USHORT(PUSHORT port);
VOID WRITE_PORT_USHORT(PUSHORT port, USHORT value);
UCHAR READ_PORT_UCHAR(PUCHAR port);
VOID WRITE_PORT_UCHAR(PUCHAR port, UCHAR value);
#define READ_REGISTER_ULONG(reg) \
(*(volatile unsigned long * const)(reg))
#define WRITE_REGISTER_ULONG(reg, val) \
(*(volatile unsigned long * const)(reg)) = (val)
#define READ_REGISTER_USHORT(reg) \
(*(volatile unsigned short * const)(reg))
#define WRITE_REGISTER_USHORT(reg, val) \
(*(volatile unsigned short * const)(reg)) = (val)
#define READ_REGISTER_UCHAR(reg) \
(*(volatile unsigned char * const)(reg))
#define WRITE_REGISTER_UCHAR(reg, val) \
(*(volatile unsigned char * const)(reg)) = (val)
#endif // MIPS
"Wally" <anonymous@discussions.microsoft.com>
???????:0cb001c3db6f$fce143a0$a101280a@phx.gbl...
> Thanks for looking into this for me.
>
> I've sent this thread to my Intel Apps Engineer. I don't
> know how long it'll take to actually get to an Intel sw
> guy. When I get a response from them, I'll post their
> recommended solution.
>
> What's the best way for me to temporarily restore my wdm.h
> so I can get my CEPC running again?
>
> >-----Original Message-----
> >We investigated this issue.
> >
> >It looks like Intel may have provided one file that was
> customized (
> >wdm.h ).
> >This is a common file and it was overwritten once you
> installed ARM
> >packages.
> >You may want to contact Intel for support.
> >
> >Vika
> >
> >"Wally" <anonymous@discussions.microsoft.com> wrote in
> message
> >news:01cf01c3dad6$80d95890$a401280a@phx.gbl...
> >> I'll give a little more background...
> >>
> >> While I was waiting for the release of the BSP for the
> >> Intel IXDP425 evaluation board, I cut my WinCE teeth by
> >> working with the CEPC. Everything was working great for
> >> me.
> >>
> >> On Monday, I found out the stuff for the Intel BSP was
> >> posted on the Intel sight so I downloaded it. In order
> to
> >> use it I needed to get install the latest QFE. I
> >> installed WinCEPB42-030630-2003Q2-ARMV4I.EXE and
> WinCEPB42-
> >> 030930-2003Q3-ARMV4I.EXE. I was able to compile
> >> everything for this micro but now I am waiting for the
> >> WinCE personality kit (a specific Eth card, USB card,
> >> display driver card, boot, docs) for our eval boards.
> >>
> >> I decided to go back to working with the CEPC. When I
> >> tried to rebuild a release version of the platform, it
> >> didn't work. I tried to do a clean and then build but
> >> that didn't work either. I also tried a debug build
> with
> >> the same outcome. Next I tried installing the QFE's for
> >> the x86 so I installed WinCEPB42-030630-2003Q2-X86.EXE
> and
> >> WinCEPB42-030930-2003Q3-X86.EXE. That didn't work
> either.
> >>
> >> I just attempted the fix given by K.S. Huang which did
> >> solve that problem but now I have some more similar ones
> >> so I'm guessing I should undo that fix because there is
> >> probably a bigger issue. Here the new errors are:
> >>
> >> z:\wince420\public\common\oak\csp\i486
> >> \biosloader\loader\debug.obj() : error LNK2019:
> unresolved
> >> external symbol _WRITE_PORT_UCHAR referenced in function
> >> _OEMInitDebugSerial
> >> z:\wince420\public\common\oak\csp\i486
> >> \biosloader\loader\debug.obj() : error LNK2019:
> unresolved
> >> external symbol _READ_PORT_UCHAR referenced in function
> >> _OEMWriteDebugString
> >> z:\wince420\public\common\oak\csp\i486
> >> \biosloader\loader\main.obj() : error LNK2019:
> unresolved
> >> external symbol _strcpy referenced in function _blMain
> >> z:\wince420\public\common\oak\csp\i486
> >> \biosloader\loader\main.obj() : error LNK2019:
> unresolved
> >> external symbol _memset referenced in function
> >> _InitBootArgs
> >> z:\wince420\public\common\oak\csp\i486
> >> \biosloader\loader\fat.obj() : error LNK2001: unresolved
> >> external symbol _memset
> >> z:\wince420\public\common\oak\csp\i486
> >> \biosloader\loader\main.obj() : error LNK2019:
> unresolved
> >> external symbol _memcpy referenced in function
> >> _CopyDataSections
> >> z:\wince420\public\common\oak\csp\i486
> >> \biosloader\loader\fat.obj() : error LNK2001: unresolved
> >> external symbol _memcpy
> >> z:\wince420\public\common\oak\csp\i486
> >> \biosloader\loader\fat.obj() : error LNK2019: unresolved
> >> external symbol _memcmp referenced in function _InitFAT
> >> z:\wince420\public\mycepc~1\wince420\cepc\oak\target\x86
> >> \debug\bldr.exe() : error LNK1120: 6 unresolved
> externals
> >>
> >> If I can provide any more info about anything, please
> let
> >> me know.
> >>
> >> Thanks
> >> Wally
> >> >-----Original Message-----
> >> >What QFEs you have installed that cause the problem?
> >> >You said you installed ARMV4I QFEs, but the project you
> >> build is CEPC.
> >> >What CEPC configuration you try to build?
> >> >
> >> >Victoria
> >> >
> >> >"Wally" <anonymous@discussions.microsoft.com> wrote in
> >> message
> >> >news:017301c3da15$2bebfc00$a601280a@phx.gbl...
> >> >> I am working with the Intel IXDP425 BSP so I
> installed
> >> the
> >> >> ARMV4I QFE's for 4.2 (there were 2 of them). After
> >> doing
> >> >> so when I go back to my CEPC project, I am getting
> the
> >> >> following linker errors:
> >> >>
> >> >> z:\wince420\platform\cepc\sboot\main.obj() : error
> >> >> LNK2019: unresolved external symbol _READ_PORT_UCHAR
> >> >> referenced in function _OEMPlatformInit
> >> >> z:\wince420\platform\cepc\sboot\debug.obj() : error
> >> >> LNK2001: unresolved external symbol _READ_PORT_UCHAR
> >> >> z:\wince420\platform\cepc\sboot\main.obj() : error
> >> >> LNK2019: unresolved external symbol _WRITE_PORT_UCHAR
> >> >> referenced in function _OEMPlatformInit
> >> >> z:\wince420\platform\cepc\sboot\debug.obj() : error
> >> >> LNK2001: unresolved external symbol _WRITE_PORT_UCHAR
> >> >> z:\wince420\platform\cepc\target\x86\debug\sboot.exe
> () :
> >> >> error LNK1120: 2 unresolved externals
> >> >>
> >> >> I attempted to go back and reinstall the QFE's for
> the
> >> x86
> >> >> but that didn't fix my problem.
> >> >>
> >> >> Any guesses on what this problem might actually be?
> >> >>
> >> >> Thanks
> >> >> Wally
> >> >
> >> >
> >> >.
> >> >
> >
> >
> >.
> >