This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

在u-boot烧写u-boot.ais到nand flash,无法从nand flash启动

用创龙的OMAPL138-EVM开发板,想在u-boot烧写u-boot.ais到nand flash,无法从nand flash启动。用创龙提供的nand-write.out通过ccs烧写u-boot.ais后就能启动。但是查看hawkboard写着可以通过u-boot烧写u-boot.ais到nand flash,请问要怎么修改才能在u-boot烧写u-boot.ais到nand flash,然后能从nand flash启动?

hawkboard 在网上的烧写步骤是:

Procedure to flash u-boot on NAND

After booting the u-boot over UART as mentioned above,

  • On the u-boot prompt in the terminal window
  • Configure the Ethernet server and Client IP addresses, For e.g.
  hawkboard.org > setenv serverip 172.24.156.199
  hawkboard.org > setenv ipaddr 172.24.190.58
  • Download the u-boot generated for NAND
  hawkboard.org > tftpboot 0xc0700000 u-boot_nand_ais.bin
  
  TFTP from server 172.24.156.199; our IP address is 172.24.190.58
  Filename 'u-boot_nand_ais.bin'.
  Load address: 0xc0700000
  Loading: #################################################################
           #################
  done
  Bytes transferred = 414988 (6550c hex)  
  • Erase NAND Flash
  hawkboard.org > nand erase

  NAND erase: device 0 whole chip
  OK
  • Flash the NAND with u-boot
  hawkboard.org > nand write.e 0xc0700000 0x20000 0x70000
  NAND write: device 0 offset 0x20000, size 0x70000
  458752 bytes written: OK
  hawkboard.org >
  • Switch off the board
  • Change the DIP Switches for NAND boot 1-ON 2-OFF 3-OFF 4-OFF
  • 您烧写的时候有什么错误提示没有呢

  • 烧写是成功的,用u-boot 重新读回来,比较数据是正确写入了。

  • 如果你是通过AISGEN工具产生的AIS格式的UBOOT文件,从芯片内部的RBL启动时,RBL默认的NAND的OOB区域的ECC LAYOUT和UBOOT中的ECC LAYOUT是不通的

    这个具体的不同在TI的网站上是可以搜到的,我记得大概是RBL认为每16个字节的前6个字节是可以任意使用,后面的10个字节需要放ECC,以此循环4次使用共64字节

    而UBOOT和LINUX是按照OOB区域前24个字节随意使用,后面40字节放ECC来使用的,所以两者对不上,所以RBL读NAND的ECC校验不过,导致UBOOT烧写UBOOT自身失败

    以上关于ECC LAYOUT的描述不保证准确,我不记得具体的位置,总之你上TI的WIKI搜下,有具体的说明

    我当时调这个的时候很费事,因为你改了UBOOT的ECC LAYOUT,就导致UBOOT烧写LINUX和文件系统不对了,所以还要改LINUX的ECC LAYOUT

    改完还会遇到UBOOT和LINUX的NAND坏块表位置和当前ECC LAYOUT冲突,改法也差不多

x 出现错误。请重试或与管理员联系。