From mboxrd@z Thu Jan 1 00:00:00 1970 From: Detlev Zundel Date: Tue, 09 Mar 2010 09:33:59 +0100 Subject: [U-Boot] bootcounter implementation for OMAP3 In-Reply-To: <251177.91741.qm@web50106.mail.re2.yahoo.com> (Nitin Mahajan's message of "Mon, 8 Mar 2010 19:46:12 -0800 (PST)") References: <251177.91741.qm@web50106.mail.re2.yahoo.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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