[U-Boot] bootcounter implementation for OMAP3

Detlev Zundel dzu at denx.de
Tue Mar 9 09:33:59 CET 2010


Hi Nitin,

> I am trying to implement the bootcount_store and bootcount_load
> methods for the OMAP3503 processor based board which I am using.
>
> For this I decided to use the location at the end of scratchpad RAM,
> that is I am trying to write at location 0x480029BF. The code looks like 
> this, but the boot loader hags when it encounters bootcount_load.
>
>
> #ifdef CONFIG_BOOTCOUNT_LIMIT
> void bootcount_store(ulong a)
> {
> 	volatile ulong *save_addr = 
> 		(volatile ulong *)(0x480029BF);
> 	*save_addr = (BOOTCOUNT_MAGIC & 0xffff0000) | (a & 0x0000ffff);

You are writing a 32 bit entity to an non 32-bit aligned address.
Although I do not know the omap too well, this can be a problem on any
architecture.

Can you write 32-bot to that exact address from within the U-Boot
commandline with e.g. "mm"?

Cheers
  Detlev

-- 
Q: What do you get when you cross an elephant and a banana?
A: |elephant| * |banana| * sin(theta)
--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de


More information about the U-Boot mailing list