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.min.nand大于110kb,导致nandflash启动不了

Other Parts Discussed in Thread: DM385

你好  我用的rdk是ipnc3.8,使用该包u-boot源码编译SD启动的2个文件MLO  u-boot.bin,放在SD卡中是可以正常运行的(MLO 90多kb),但是我用这个源码编译nandflash启动的文件,u-boot.min.nand 和 u-boot.bin时,能正常编译,但是u-boot.min.nand的大小是117kb,大于110kb,导致无法拷贝到内部RAM中运行,最终结果是nandflash启动无反应,请问下,为什么会编译出这么大的u-boot.min.nand????   如下是我的编译命令:

/********************************************************************************************************构建系统固件***************************************************************************************************************\
构建u-boot镜像,第一阶段和第二阶段(以NAND 为准)
第一阶段:
make CROSS_COMPILE=/home/lyj/v3.8.0/ipnc_3.8/Source/ti_tools/linux_devkit/bin/arm-arago-linux-gnueabi- ARCH=arm distclean
make CROSS_COMPILE=/home/lyj/v3.8.0/ipnc_3.8/Source/ti_tools/linux_devkit/bin/arm-arago-linux-gnueabi- ARCH=arm ti8148_evm_min_nand
make CROSS_COMPILE=/home/lyj/v3.8.0/ipnc_3.8/Source/ti_tools/linux_devkit/bin/arm-arago-linux-gnueabi- ARCH=arm u-boot.ti
第二阶段:
make CROSS_COMPILE=/home/lyj/v3.8.0/ipnc_3.8/Source/ti_tools/linux_devkit/bin/arm-arago-linux-gnueabi- ARCH=arm distclean
make CROSS_COMPILE=/home/lyj/v3.8.0/ipnc_3.8/Source/ti_tools/linux_devkit/bin/arm-arago-linux-gnueabi- ARCH=arm ti8148_evm_config_nand
make CROSS_COMPILE=/home/lyj/v3.8.0/ipnc_3.8/Source/ti_tools/linux_devkit/bin/arm-arago-linux-gnueabi- ARCH=arm u-boot.ti
PS:第一阶段uboot需要小于110kb,但是实际大小是117kb左右

  • 你好,

    你有尝试过在ipnc RDK3.8的环境下,根据install guide上的介绍使用make –s ubootall来编译么?

    应该不是使用ti8148_evm_min_nand,你有尝试过ti8148_ipnc_min_nand么?

    另,uboot代码你做过改动么?
  • 1.根据install guide上的介绍使用make –s ubootall来编译么--这个install guide文档在哪?我这边没找到
    2.尝试过ti8148_ipnc_min_nand,但是显示:make: *** 没有规则可以创建目标“ti8148_ipnc_min_nand”。 停止。
    3.uboot代码你做过改动么?--没改过,所以现在很困惑,怎么编译出了这么大的第一阶段u-boot.min.nand文件
  • yongjun liu 说:
    .根据install guide上的介绍使用make –s ubootall来编译么--这个install guide文档在哪?

    IPNC RDK install guide应该和ipnc rdk包一起的。IPNC RDK 3.8软件不是公开软件,相关文档也没有公开。目前公开的只有IPNC RDK 3.9.1版本的信息,编译部分可以参考:

    请确保rules.make做了正确的配置。

    yongjun liu 说:
    .尝试过ti8148_ipnc_min_nand,但是显示:make: *** 没有规则可以创建目标“ti8148_ipnc_min_nand”。 停止

    请问uboot源码下的makefile里,你能搜索到ti8148_ipnc_min_nand么?

  • 在uboot源码下的makefile里搜索了,没有ti8148_ipnc_min_nand
  • 你好,

    我刚才看了我这里IPNC RDK3.8的uboot代码,里面的makefile是有ti8148_ipnc_min_nand相关定义的。请问你使用的是TI官方的IPNC RDK软件么?还是第三方修改过的?
  • 你好   使用的是官方的IPNC RDK软件   但不知道为啥会没有ti8148_ipnc_min_nand相关定义    那方便提供下您那边的IPNC RDK3.8的uboot代码么?

  • 你好,

    请参考下面链接的内容:

    arago-project.org/.../

  • 你好,我用ti8148_ipnc_min_nand编译了u-boot.min.nand和u-boot.bin,但是从sd卡启动后,在uboot将其烧录到nandflash中,并设置为nandflash启动,出现如下故障,程序执行到## Starting application at 0x81000000 ... 就感觉顿住了!

    U-Boot 2010.06 (Mar 07 2019 - 11:40:23) DM8127_IPNC_3.80.00

    TI8148-GP rev 3.0

    ARM clk: 600MHz
    DDR clk: 400MHz
    L3 clk: 200MHz
    IVA clk: 450MHz
    ISS clk: 400MHz
    DSP Default OFF
    DSS Default OFF

    DRAM: 512 MiB
    DCACHE: Off
    NAND: HW ECC BCH8 Selected
    256 MiB
    Using default environment

    The 2nd stage U-Boot will now be auto-loaded
    Please do not interrupt the countdown till TI8148_EVM prompt if 2nd stage is alr eady flashed
    Hit any key to stop autoboot: 0

    NAND read: device 0 offset 0x20000, size 0x40000
    262144 bytes read: OK
    ## Starting application at 0x81000000 ...
  • TI工程师你好,请帮忙回复下!

  • 你好,

    请问你是使用的是你自己做的板子么?如果是TI的参考设计硬件,请参考论坛讨论:e2echina.ti.com/.../167622。

    另,请问你烧写nand的命令有参考Binaries\update.txt么?当使用SD卡启动,uboot和linux都可以正常启动么?

  • 1.是自己做的板子,但是硬件是参照TI板的
    2.论坛讨论那个打不开请重新发一下
    3.请问你烧写nand的命令有参考Binaries\update.txt么? ----是参照Binaries\update.txt的命令的
    4.当使用SD卡启动,uboot和linux都可以正常启动么? ----可以正常启动
  • 你好,我看了你给的链接,那里讨论的问题跟我遇到的问题是一样的,但是没有被解决,请问具体是啥原因导致的停顿?

  • 你好,

    DM385 IPNC参考设计有两个版本的硬件,请问你参考的哪一个? 请确认rules.make里面的配置是否匹配。

  • 我用的板子是dm8148,和dm385是兼容的么? 看了下u-boot源码顶层目录中只有一个rules.mk,没找到rules.make文件,并且rules.mk没有什么配置部分
  • 我看了下编译出来的第一阶段uboot大小是121748,我看了指导文档说第一阶段uboot要<=110kb,现在是第一阶段uboot大小超过了110kb,而dm8148的内部RAM只有128kb,减去ROM要用的18kb大小,就只有110kb了 板子无法启动 并且顶层Makefile中只有ti8148_evm_min_nand配置,没有ti8148_ipnc_min_nand,能否提供下Makefile中带ti8148_ipnc_min_nand的uboot源码(适用于dm8148的) 万分感谢!
  • 你好,

    我之前的回复已经给出了git上的ipnc rdk uboot源码下载地址了,请再查看一下。另,你手上的代码应该不是TI官方的IPNC RDK包,因为IPNC RDK里面的uboot一定是有ipnc的配置的。
  • make CROSS_COMPILE=/home/lyj/v3.8.0/ipnc_3.8/Source/ti_tools/linux_devkit/bin/arm-arago-linux-gnueabi- ARCH=arm ti8148_ipnc_min_nand
    scripts/kconfig/conf --silentoldconfig Kconfig
    ***
    *** Configuration file ".config" not found!
    ***
    *** Please run some configurator (e.g. "make oldconfig" or
    *** "make menuconfig" or "make xconfig").
    ***
    make[2]: *** [silentoldconfig] 错误 1
    make[1]: *** [silentoldconfig] 错误 2
    make: *** 没有规则可以创建目标“ti8148_ipnc_min_nand”。 停止。

    我TI官网上下载了新的IPNC_RDK_3.9.1.tar.gz,然后进入uboot目录编译后,也没有ti8148_ipnc_min_nand这个配置。。报错信息如上

  • 你好,

    IPNC RDK3.9更新了新的kernel,使用的硬件也和IPNC RDK 3.8版本之前的不同。

    编译命令倒是类似,有我之前说的make uboot。你可以参考:processors.wiki.ti.com/.../IPNC_RDK_DM38x_,_DM8127

  • 你好,processors.wiki.ti.com/.../IPNC_RDK_DM38x_,_DM8127这个链接我看了,没有涉及到如何制作适用于nandflash的启动文件,通篇描述的前提是这些二进制文件已经有了(使用预先编译好的),那对于IPNC RDK 3.8版本来说,有没有带有ti8148_ipnc_min_nand配置的uboot源码? 我在贵司买过开发板(红色的)
  • 你好,

    我之前就给过IPNC RDK 3.8 uboot源码的下载链接,你没有点进去看么?

    arago-project.org/.../
  • 我进去链接看了啊   都是这些   完全没找到IPNC RDK 3.8 uboot源码在哪下载  还有一些是patch,请帮忙指出下载地址,万分感谢!

  • 你好,

    请点击snapshot下载。

  • 按你标记的下载好了uboot源码,也在顶层Makefile中找到了ti8148_ipnc_min_nand配置,但是我编译后出现无法编译,具体错误信息如下,难道编译命令不同么?

    make CROSS_COMPILE=/home/lyj/v3.8.0/ipnc_3.8/Source/ti_tools/linux_devkit/bin/arm-arago-linux-gnueabi- ARCH=arm ti8148_ipnc_min_nand
    Setting up TI8148 minimal build for 1st stage...
    Configuring for ti8148_ipnc board...
    ln: 无法创建符号链接"asm": 不支持的操作
    make: *** [ti8148_ipnc_min_nand] 错误 1
    root@lyj-virtual-machine:/mnt/hgfs/E/TI达芬奇系列dm8148资料/u-boot-ipnc-rdk-dm81
    xx# make CROSS_COMPILE=/home/lyj/v3.8.0/ipnc_3.8/Source/ti_tools/linux_devkit/bin/arm-arago-linux-gnueabi- ARCH=arm u-boot.ti
    make: *** 没有规则可以创建目标“u-boot.ti”。 停止。

    由上面可知,ti8148_ipnc_min_nand配置不了,这是啥原因?
  • 已经下载了IPNCV3.8了,并且编译适用于nandflash的uboot(配置是用ti8148_ipnc_min_nand),但是将新编的2段uboot烧写到nandflash中,并且设置为nand启动模式,还是出现了之前提过的问题:

    U-Boot 2010.06 (Mar 13 2019 - 17:59:28) DM8127_IPNC_3.80.00

    TI8148-GP rev 3.0

    ARM clk: 600MHz
    DDR clk: 400MHz
    L3 clk: 200MHz
    IVA clk: 450MHz
    ISS clk: 400MHz
    DSP Default OFF
    DSS Default OFF

    DRAM: 512 MiB
    DCACHE: Off
    NAND: HW ECC BCH8 Selected
    256 MiB
    Using default environment

    The 2nd stage U-Boot will now be auto-loaded
    Please do not interrupt the countdown till TI8148_EVM prompt if 2nd stage is already flashed
    Hit any key to stop autoboot: 0

    NAND read: device 0 offset 0x20000, size 0x40000
    262144 bytes read: OK
    ## Starting application at 0x81000000 ...

    到这里就卡住了!!!

  • 你好,

    1. 建议在uboot min里面手动加载第二级的uboot,看能否正常运行。注意,你需要修改uboot min里面的autoboot时间才能在uboot min里面停下来。
    2. 如果手动加载第二级的uboot可以正常运行,请检查nand write相关。
    3. 如果手到加载uboot仍然是同一的问题,建议在uboot添加代码来debug。
  • 1.已将uboot min里面的autoboot时间改成了3s
    2.手动加载是怎么加载? 我在Hit any key to stop autoboot: 0 TI-MIN# 里面无法执行相关的tftp等命令(不支持)
    3.我在uboot代码里跟踪代码发现执行到如下代码会卡住:
    unsigned long do_go_exec (ulong (*entry)(int, char *[]), int argc, char *argv[])
    {
    return entry (argc, argv); //根据打印信息,是有进入到do_go_exec 函数中,只是执行这个entry ()会卡住,
    }
  • yongjun liu 说:
    2.手动加载是怎么加载? 我在Hit any key to stop autoboot: 0 TI-MIN# 里面无法执行相关的tftp等命令(不支持

    请使用串口下载。请参考下面链接内容:

    processors.wiki.ti.com/.../TI81XX_PSP_UBOOT_User_Guide

  • 你好   我现在手里的rdk包3.08中文件系统都是适用于8127的,制作成ubifs文件系统,启动后一直打印如下:

    Phy Addr : 0x4818050c Data : 0x00000002
    Phy Addr : 0x4818050c Data : 0x00000002
    Phy Addr : 0x4818050c Data : 0x00000002
    Phy Addr : 0x4818050c Data : 0x00000002
    Phy Addr : 0x4818050c Data : 0x00000002
    Phy Addr : 0x4818050c Data : 0x00000002
    Phy Addr : 0x4818050c Data : 0x00000002

    请问下,适用于8148的文件系统在哪下载??     或者这个Phy Addr : 0x4818050c Data : 0x00000002 怎么解决?

  • 你好   我现在手里的rdk包3.08中文件系统都是适用于8127的,制作成ubifs文件系统,启动后一直打印如下:

    Phy Addr : 0x4818050c Data : 0x00000002
    Phy Addr : 0x4818050c Data : 0x00000002
    Phy Addr : 0x4818050c Data : 0x00000002
    Phy Addr : 0x4818050c Data : 0x00000002
    Phy Addr : 0x4818050c Data : 0x00000002
    Phy Addr : 0x4818050c Data : 0x00000002
    Phy Addr : 0x4818050c Data : 0x00000002

    请问下,适用于8148的文件系统在哪下载??     或者这个Phy Addr : 0x4818050c Data : 0x00000002 怎么解决?

  • 你好,

    新的问题,请开一个新的帖子。谢谢!