zoukankan      html  css  js  c++  java
  • 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有关的所有数值,并改成相应大小。

  • 相关阅读:
    在ASP.NET开始执行HTTP请求的处理程序之前
    要在一般处理程序中获取其他页面的session值
    asp.net中session的原理及应用
    INTRAWEB说明书
    ASP.NET万能JSON解析器
    使用 IntraWeb (30)
    IntraWeb例子练习
    【整理】Asp.net HttpWebRequest和HttpWebResponse发送和接受任何类型数据
    Delphi 接口机制真相
    http://www.doc88.com/p-203939126010.html
  • 原文地址:https://www.cnblogs.com/eastgeneral/p/10715327.html
Copyright © 2011-2022 走看看