[U-Boot-Users] AT91SAM9260-EK: Trying to load U-Boot env from NAND

Destrukto simon.bielmann at gmx.ch
Fri Jan 25 14:03:47 CET 2008


Well now I had time to solve the problem once and for all. If I look back the
solution was so simple. Because we use a .bat and .tcl file to copy all on
the NAND-Flash we haven't set the active ENV-Block (one redundant and one in
use). Now I simply ad the flag set in the .tcl file and it works:

################################################################################
#  proc uboot_env: Convert u-boot variables in a string ready to be flashed
#                  in the region reserved for environment variables
################################################################################
proc set_uboot_env {nameOfLstOfVar} {
    upvar $nameOfLstOfVar lstOfVar
    
    # sector size is the size defined in u-boot CFG_ENV_SIZE
    set sectorSize [expr 0x20000 - 5]
    set flag 1                                                                    
<- I added this

    set strEnv [join $lstOfVar "\0"]
    while {[string length $strEnv] < $sectorSize} {
        append strEnv "\0"
    }
    set strCrc [binary format i [::vfs::crc $strEnv]]
    return "$strCrc$flag$strEnv"                                           
<- and the $flag
}


Dharmosoth Seetharam wrote:
> 
> 
> I agree with your comment. !!!!
> 
> cool..
> 
> Thanks,
> Seetharam
> 
> 
> Destrukto <simon.bielmann at gmx.ch> wrote: 
> Yes! I get it work, the problem was, that it had a problem to accept the
> crc32-Checksum. So I just erased the sequence where this happens. Here the
> patchfile:
> 
> --- env_nand.c 2007-11-30 14:15:03.000000000 +0100
> +++ env_nand.c 2007-11-30 14:16:17.000000000 +0100
> @@ -247,13 +247,7 @@ void env_relocate_spec (void)
>    crc2_ok = (crc32(0, tmp_env2->data, ENV_SIZE) == tmp_env2->crc);
>   }
>  
> - if(!crc1_ok && !crc2_ok)
> -  return use_default();
> - else if(crc1_ok && !crc2_ok)
> -  gd->env_valid = 1;
> - else if(!crc1_ok && crc2_ok)
> -  gd->env_valid = 2;
> - else {
> + 
>    /* both ok - check serial */
>    if(tmp_env1->flags == 255 && tmp_env2->flags == 0)
>     gd->env_valid = 2;
> @@ -266,8 +260,6 @@ void env_relocate_spec (void)
>    else /* flags are equal - almost impossible */
>     gd->env_valid = 1;
>  
> - }
> -
>   free(env_ptr);
>   if(gd->env_valid == 1) {
>    env_ptr = tmp_env1;
> 
> Maybe it isn't the best solution but it works ;)
> Thanks for you help!!
> 
> 
> 
> Destrukto
> 
> 
> Dharmosoth Seetharam wrote:
>> 
>> please Debug the function which i mention earlier.
>> If you don't get any clue, please copy the code of your
>> Dataflash_Select()
>> here
>> 
>> 
>> Thanks,
>> Seetharam
>> 
>> Destrukto  wrote: 
>> At first thanks for your reply, but could you explain that in detail
>> please.
>> 
>> Thanks Destrukto 
>> 
>> 
>> Hi,
>> 
>> If I remember correctly, i got the same issue on
>> AT91SAM9263ek.
>> 
>> you please debug the Dataflash_Select() ... 
>> there u many need to go into the if condition and
>> do valid=1;
>> 
>> 
>> so, please check it once and modify the condition...
>> 
>> u may get the solution ..
>> 
>> Thanks,
>> Seetharam
>> -- 
>> View this message in context:
>> http://www.nabble.com/AT91SAM9260-EK%3A-Trying-to-load-U-Boot-env-from-NAND-tf4896117.html#a14028021
>> Sent from the Uboot - Users mailing list archive at Nabble.com.
>> 
>> 
>> -------------------------------------------------------------------------
>> SF.Net email is sponsored by: The Future of Linux Business White Paper
>> from Novell.  From the desktop to the data center, Linux is going
>> mainstream.  Let it simplify your IT future.
>> http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
>> _______________________________________________
>> U-Boot-Users mailing list
>> U-Boot-Users at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/u-boot-users
>> 
>> 
>>        
>> ---------------------------------
>>  5, 50, 500, 5000 - Store N number of mails in your inbox. Click here.
>> -------------------------------------------------------------------------
>> SF.Net email is sponsored by: The Future of Linux Business White Paper
>> from Novell.  From the desktop to the data center, Linux is going
>> mainstream.  Let it simplify your IT future.
>> http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
>> _______________________________________________
>> U-Boot-Users mailing list
>> U-Boot-Users at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/u-boot-users
>> 
>> 
> 
> -- 
> View this message in context:
> http://www.nabble.com/AT91SAM9260-EK%3A-Trying-to-load-U-Boot-env-from-NAND-tf4896117.html#a14124814
> Sent from the Uboot - Users mailing list archive at Nabble.com.
> 
> 
> -------------------------------------------------------------------------
> SF.Net email is sponsored by: The Future of Linux Business White Paper
> from Novell.  From the desktop to the data center, Linux is going
> mainstream.  Let it simplify your IT future.
> http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
> _______________________________________________
> U-Boot-Users mailing list
> U-Boot-Users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/u-boot-users
> 
> 
>        
> ---------------------------------
>  Unlimited freedom, unlimited storage. Get it now
> -------------------------------------------------------------------------
> SF.Net email is sponsored by: The Future of Linux Business White Paper
> from Novell.  From the desktop to the data center, Linux is going
> mainstream.  Let it simplify your IT future.
> http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
> _______________________________________________
> U-Boot-Users mailing list
> U-Boot-Users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/u-boot-users
> 
> 

-- 
View this message in context: http://www.nabble.com/AT91SAM9260-EK%3A-Trying-to-load-U-Boot-env-from-NAND-tp14022552p15087191.html
Sent from the Uboot - Users mailing list archive at Nabble.com.





More information about the U-Boot mailing list