Re: [U-Boot] bootcounter implementation for OMAP3
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 0x) | (a 0x); 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: d...@denx.de ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] bootcounter implementation for OMAP3
Hello, --- On Tue, 9/3/10, Detlev Zundel d...@denx.de wrote: From: Detlev Zundel d...@denx.de Subject: Re: [U-Boot] bootcounter implementation for OMAP3 To: nitin...@yahoo.com Cc: u-boot@lists.denx.de Date: Tuesday, 9 March, 2010, 2:03 PM 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 0x) | (a 0x); 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? That was the basic mistake I think. I was trying to write to a non 32 bit aligned address. This got solved, but I have some new errors saying this ## Error: environment overflow, stdin deleted ## Error: environment overflow, stdout deleted ## Error: environment overflow, stderr deleted ## Error: environment overflow, bootcount deleted Does that mean the size allocated for env is smaller compared to the actual contents in env file. I am new to u-boot. Can you give some pointers on this? regards -Nitin 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: d...@denx.de New Email addresses available on Yahoo! Get the Email name you#39;ve always wanted on the new @ymail and @rocketmail. Hurry before someone else does! http://mail.promotions.yahoo.com/newdomains/aa/ ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] bootcounter implementation for OMAP3
Hello, --- On Tue, 9/3/10, Detlev Zundel d...@denx.de wrote: From: Detlev Zundel d...@denx.de Subject: Re: [U-Boot] bootcounter implementation for OMAP3 To: nitin...@yahoo.com Cc: u-boot@lists.denx.de Date: Tuesday, 9 March, 2010, 10:52 PM Hi Nitin, 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? That was the basic mistake I think. I was trying to write to a non 32 bit aligned address. This got solved, but I have some new errors saying this Ok, thanks for the confirmation. ## Error: environment overflow, stdin deleted ## Error: environment overflow, stdout deleted ## Error: environment overflow, stderr deleted ## Error: environment overflow, bootcount deleted [...@pollux u-boot-testing (master)]$ git grep environment overflow common/cmd_nvedit.c: printf (## Error: environment overflow, \%s\ deleted\n, name); tools/env/fw_env.c: Error: environment overflow, \%s\ deleted\n, Does that mean the size allocated for env is smaller compared to the actual contents in env file. I am new to u-boot. Can you give some pointers on this? I just increased the size in my board specific configuration file. Now this feature of bootlimit and altbootcmd works for me on OMAP3. Thanks for your time. I was just wondering how to recover from errors such as bad CRC on uImage, where boot loader is not able to start booting the kernel for any reason. In such case how to fallback to a different kernel. -Nitin Only you can answer what you have defined for your configuration. Cheers Detlev -- He who can properly define and divide is to be considered a god. -- Plato -- 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: d...@denx.de New Email names for you! Get the Email name you#39;ve always wanted on the new @ymail and @rocketmail. Hurry before someone else does! http://mail.promotions.yahoo.com/newdomains/aa/ ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] bootcounter implementation for OMAP3
Dear Nitin Mahajan, In message 806215.16680...@web50105.mail.re2.yahoo.com you wrote: I was just wondering how to recover from errors such as bad CRC on uImage, = where boot loader is not able to start booting the kernel for any reason. In such case how to fallback to a different kernel. Please RTFM. This is documented there. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Why is an average signature file longer than an average Perl script?? ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] bootcounter implementation for OMAP3
Hello, 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 0x) | (a 0x); } ulong bootcount_load(void) { volatile ulong *save_addr = (volatile ulong *)(0x480029BF); if ((*save_addr 0x) != (BOOTCOUNT_MAGIC 0x)) return 0; else return (*save_addr 0x); } #endif /* CONFIG_BOOTCOUNT_LIMIT */ Am I doing some thing wring fundamentally? Can I get some pointers towrads this? Also this code I have put in cpu/arm_cortexa8/cpu.c. Is there a way I can put these functions in OMAP3 specific code and still have them called? regards -Nitin New Email names for you! Get the Email name you#39;ve always wanted on the new @ymail and @rocketmail. Hurry before someone else does! http://mail.promotions.yahoo.com/newdomains/aa/ ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot