In the process of trying to get a driver (object form only, no source)
running on my ARMV4-based platform, I get a "First Chance Exception
0xC000001C, Invalid System Service" window pop-up. When I click "ok"
on the pop-up, the debugger stops at a DEBUGCHK(0) on line 1167 of the
objdisp.c file, in the ObjectCall function. The stack at this point
is full of PreFetchAbort entries. When I posted about this a month
ago, Andrew Pearson said I might have a cache clearing problem, but
our platform is simply using the pbuilder-supplied version (presumably
in public\common\oak\csp\arm\sa11x0\cfw.c), as opposed to providing
our own. The rest of our application and drivers and code which run
on this same platform never run into this error, so I'm hesitant to
think it is a cacheFlush issue. Any suggestions on what to try to
figure this out?
Not quite sure how to explain the PreFetchAborts in the stack, but
another possibility is that the driver is trying to call a method in
coredll.dll which isn't there. I have looked in the coredll.def to
try to determine if the methods the driver dll needs (determined with
the use of dumpbin) are there, but am having trouble sorting through
all the conditionals there to determine if each item is actually in
the final dll. Is there some easy way to look at the coredll.dll in
the release directory to determine exactly which methods are really
included there, since a dumpbin /exports on it seems to indicate that
everything is included, which I think is incorrect?
Arthur McNair