Re: POST(Power On Self Test)



It's pretty hardware-dependent, as I said, generally. You might need to
know how much RAM there is or actually change RAM control registers to find
out. Whipping up something to step through a given size range of addresses
and write a pattern to all the locations, then read back through and make
sure they're all correct shouldn't take more than five minutes to write.
You could do that right after entry to your bootloader.

unsigned char *p = 0x00000000;
unsigned long i;
for ( i = 0; i < 0x10000000; i++ )
{
*(p+i) = <pattern>;
if ( *(p+i) != <pattern> )
{
// You have a RAM failure. Indicate somehow (flash an LED or
something).
halt;
}
}

Paul T.

"vish" <vish@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:DB2BA2BA-2578-4E31-B637-6E4F4FB942D5@xxxxxxxxxxxxxxxx
Hi Paul,

Thanks.
If you know any reference source code available for RAM and ROM checks,
please let me know.

regards
Vish

"Paul G. Tobey [eMVP]" wrote:

RAM and ROM check belongs in the bootloader, in my opinion, very early in
the bootloader. That's a platform-dependent piece and may very well
require
knowledge about how the registers in the DRAM controller, etc. are set
for
your particular RAM, in order to work right. You can't wait till the OS
is
running to check the RAM! Nothing would work well enough to run the OS,
if
you had a RAM bank bad.

It's quite possible that the bootloader has no such POST checks; that's
up
to the bootloader guy. Our old CE3 bootloader did a huge amount of POST
checking for basically everything, but nothing ever failed those tests,
except things that we didn't want to have fail it, requiring an update of
the bootloader and retesting (it checked chip version codes, for example,
which had to be updated every year). We assume now that production
burn-in
testing will detect RAM/Flash failures, so we don't do extensive POST
testing on every boot.

Paul T.

"vish" <vish@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:9A478D59-98D4-4582-81A3-4A6A989A9E1B@xxxxxxxxxxxxxxxx
Hi Paul,

Thanks for the reply.
I am using WinCE 6.0 and the platform is a custom platform derived from
ARMV4I and having PXA270 processor.

What I want to do is write some code to perform the memory checks(RAM
and
ROM check) as part of the POST operation. I feel Bootloader is the
place
to
do it.
So, I wanted to check whether OS takes care of this POST operations.

I checked the bootlaoder code and I did not see any memory check code.

regards
Vish

"Paul G. Tobey [eMVP]" wrote:

No, it doesn't. A given BSP may perform some power-on self-test, but
the
OS
itself doesn't generally do something that you'd modify. Look at the
code
for the bootloader for your platform and the OEMInit() for your
platform
and
see what they do. Also,

http://guruce.com/blogpost/howtoaskquestionsonnewsgroups

You haven't told us: what version of CE, what hardware, what BSP, etc.

Paul T.

"vish" <vish@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:019E32BE-940C-48F4-85DB-B9D360C08F88@xxxxxxxxxxxxxxxx
Hi,

I know that WinCE performs some Power On Self Test during boot up.
I would like to know what are the steps it performs and how I can
change
that.

Thanks and Regards
Vish








.