1\在调试ok6410 nandflash启动uboot时,需要添加调试信息,导致uboot大于256k

2\需要修改下面几个地方

ok6410 nandflash 启动uboot 超过256k怎么办

ok6410 nandflash 启动uboot 超过256k怎么办

ok6410 nandflash 启动uboot 超过256k怎么办

参考资料

在uboot中可以添加文字菜单,但是不够美观。

利用photoshop制作一张jpg菜单图片,在ubuntu中使用jpeg2bmp.sh将jpg图片转换成bmp格式

uboot/tools/bmp_logo.c编译生成的工具bmp_logo可以根据bmp格式图片生成bmp_logo.h,图片的信息存储在数组当中。当图片的分配率越大,转换成的数组越大,导致最后编译的uboot.bin越大。当uboot.bin超过242K时,下载uboot到flash后不可启动。

 

解决办法:

 

在uboot/cpu/s3c64xx/start.S中,有这样一段话,可以知道以下代码是将uboot拷贝到ram中执行,并且只拷贝了2个block

 

 copy_from_nand:

         mov r10, lr                

 

         mov r9, r0

        

         ldr    sp, _TEXT_PHY_BASE     

         sub   sp, sp, #12

         mov fp, #0                          

         mov r9, #0x1000

         bl      copy_uboot_to_ram  //开始调用C函数

        

1、copy_uboot_to_ram函数在uboot/cpu/s3c64xx/Nand_cp.c中,定义如下

int copy_uboot_to_ram (void)

{

         ..............

         ..............

         ..............

   

    return nandll_read_blocks(CFG_PHY_UBOOT_BASE, 0x3c000, large_block);

}

注意0x3c000(240K)就是实际拷贝的大小,修改此数值即可。

2、修改uboot/cpu/s3c64xx/Nand_cp.c中nandll_read_blocks()函数与0x3c000有关的所有数值,并改成相应大小。

相关文章:

  • 2021-11-28
  • 2022-03-04
  • 2022-12-23
  • 2022-12-23
  • 2021-07-09
  • 2022-01-07
  • 2021-12-11
  • 2022-02-04
猜你喜欢
  • 2021-10-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-04
  • 2021-10-29
  • 2021-07-21
相关资源
相似解决方案