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


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

    2需要修改下面几个地方

    参考资料

    在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有关的所有数值,并改成相应大小。

  • 相关阅读:
    权限管理
    用户和用户管理
    文本编辑器vim
    对于我的linux常用命令的说明
    linux常用命令6:关机重启命令
    linux常用命令:5网络命令
    linux常用命令:4文件压缩和解压命令
    linux常用命令:3文件搜索命令
    linux常用命令:2权限管理命令
    通过原型继承创建一个新对象
  • 原文地址:https://www.cnblogs.com/eastgeneral/p/10715327.html
Copyright © 2020-2023  润新知