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.

Boot loader flashing in NAND

Other Parts Discussed in Thread: AM1808, OMAP-L138

Hi,

 

I would like to use NAND flash in my AM1808. Before I have worked and loaded the boot loader in SPI flash, Now I want to change

 

and run my Boot loader from NAND flash. Any new version utility to port the boot images (arm-nand-ais.bin & u-boot.bin) in to NAND.

 

I used my existing serial utility and struck at the below mentioned image:

 

Please need your suggestions how to boot my board from NAND. Any separate serial flashing utility for NAND??

 

Thanks,

Lofna

  • Hi Lofna, 

    Are you using an evaluation module or is this on a custom board? You also mentioned that you have used SPI flash for your design and had it working, did you use this serial flash utility to flash those images? 

    One comment about how you are currently running the utility is that you do not have the AM1808 specificed as the 'targetType', please add this option when you invoke the serial flash utility.

    >sfh_OMAP-L138.exe -erase -flashType NAND -targetType AM1808

    If you are using a custom board, you will also want to check if the NAND device you are using is supported by the ROM bootloader (RBL). You can find this information at the following link. 

    List of NAND devices supported by TI RBL: 

    http://processors.wiki.ti.com/index.php/List_of_NANDs_devices_supported_by_TI_RBLs#OMAPL138.2FC6748.2FC6746.2FC6742.2FAM18xx 

    Let us know if this resolves your issue or if you have any further questions.

    Thanks,

    Clinton

  • Hi Clinton,

     

    I am not using EVM, it is customized board and we have followed the schematics from logicPD which have given across EVM.

     

    I used the command what you have suggested and got the below response with the same serial utility which I used the same to SPI before.

     

    I am using NAND flash is from Micron which is MT29F2G08ABAEA is 128MB. Please find attached snapshots and let us know.

     

    When the attached messages comes immediately my power ic got powered off and struck at the below messages.

     

     

     

     

     

     Please let us any suggestions.

     

    Thanks,

    Lofna

  • Hi,

     

    Now our NAND flash it seems working after run CCS tests under JATG.

     

    Now I want to flash and run my Kernel uImage & rootfs from my NAND flash using AM1808.

     

    It seems in my u-boot there is no nand related commands to flash the images to NAND flash.

     

    Any uboot modification or any updated supported NAND uboot available in AM1808.

     

    Booting with TI UBL
    Device OPP (300MHz, 1.2V)

    U-Boot 2010.12 (Jul 13 2013 - 13:26:32)

    I2C: ready
    DRAM: 128 MiB
    MMC: davinci: 0
    SF: Detected M25P64 with page size 256, total 8 MiB
    *** Warning - bad CRC, using default environment

    In: serial
    Out: serial
    Err: serial
    ARM Clock : 300000000 Hz
    DDR Clock : 132000000 Hz
    SF: Detected M25P64 with page size 256, total 8 MiB
    Invalid MAC address read.
    Net: No ETH PHY detected!!!
    Error: Ethernet init failed!
    Board Net Initialization Failed
    DaVinci-EMAC
    Hit any key to stop autoboot: 0
    U-Boot >
    U-Boot > help
    ? - alias for 'help'
    askenv - get environment variables from stdin
    base - print or set address offset
    bdinfo - print Board Info structure
    boot - boot default, i.e., run 'bootcmd'
    bootd - boot default, i.e., run 'bootcmd'
    bootm - boot application image from memory
    bootp - boot image via network using BOOTP/TFTP protocol
    cmp - memory compare
    coninfo - print console devices and information
    cp - memory copy
    crc32 - checksum calculation
    dhcp - boot image via network using DHCP/TFTP protocol
    echo - echo args to console
    editenv - edit environment variable
    env - environment handling commands
    exit - exit script
    ext2load- load binary file from a Ext2 filesystem
    ext2ls - list files in a directory (default /)
    false - do nothing, unsuccessfully
    fatinfo - print information about filesystem
    fatload - load binary file from a dos filesystem
    fatls - list files in a directory (default /)
    go - start application at address 'addr'
    help - print command description/usage
    iminfo - print header information for application image
    imxtract- extract a part of a multi-image
    itest - return true/false on integer compare
    loadb - load binary file over serial line (kermit mode)
    loads - load S-Record file over serial line
    loady - load binary file over serial line (ymodem mode)
    loop - infinite loop on address range
    md - memory display
    mdc - memory display cyclic
    mii - MII utility commands
    mm - memory modify (auto-incrementing address)
    mmc - MMC sub system
    mmcinfo - display MMC info
    mtest - simple RAM read/write test
    mw - memory write (fill)
    mwc - memory write cyclic
    nfs - boot image via network using NFS protocol
    nm - memory modify (constant address)
    ping - send ICMP ECHO_REQUEST to network host
    printenv- print environment variables
    reset - Perform RESET of the CPU
    run - run commands in an environment variable
    saveenv - save environment variables to persistent storage
    saves - save S-Record file over serial line
    setenv - set environment variables
    sf - SPI flash sub-system
    showvar - print local hushshell variables
    sleep - delay execution for some time
    source - run script from memory
    sspi - SPI utility command
    test - minimal test like /bin/sh
    tftpboot- boot image via network using TFTP protocol
    true - do nothing, successfully
    version - print monitor version
    U-Boot >

    There is a way to load another process which you can burn your kernel  image via serial tera term using kermit with the below command:

    U-Boot> loadb 0xc0700000 uImage

    U-Boot> nand erase 0x200000 0x200000

    U-Boot> nand write.e 0xc0700000 0x200000 0x20000

    The above NAND commands are not supported in my boot-loader.

    Please need your suggestions...


    Thanks,

    Lofna

  • Hi lofna, 

    including the commands in u-boot is possible by including the flags in Make file in top directory of u-boot. 

    make sure the first stage u-boot doesn't exceed the size of IRAM specified in architecture documents. It seems , from the commands that are shown, the u-boot is built for sd, not for nand. so, one need to make sure to get the min.nand or u-boot.bin for nand support, which can be done from Make file of PSP's Top Directory. 

    Murali Krishna Dama, 

    dama.murali@gmail.com

    murali.krishna@gmail.com