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.

[参考译文] Linux:如何使 Uboot 支持 K2L 的2K-PageSize NAND

Guru**** 2614265 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/580720/linux-how-to-make-uboot-support-2k-pagesize-nand-for-k2l

工具/软件:Linux

您好、专家

 

我有个定制的 K2L 板,现在使用 u-boot 2013.01,我想让它支持2K-PageSize NAND。

当前默认 情况下、uboot 适用于 4G-PageSize NAND。 然后、我 在  k2l_evm.h 中添加了宏 CONFIG_SYS_NAND_PAGE_4K 注释并启用 CONFIG_SYS_NAND_PAGE_2K、并进行了尝试。

但是 uboot 日志显示:

NAND_BBT:读取坏块表时出现 ECC 错误

从偏移100000读取 NAND 失败-74

***警告- readenv()失败,使用默认环境

我还需要在其他任何地方进行一些更改吗?

 

撞锁

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    HI Stripker、
    您是否有正确的定义、例如:
    #define CONFIG_NAND_DaVinci
    #define CONFIG_KeySton_RBL_NAND
    #define CONFIG_KeySton_NAND_MAX_RBL_SIZECONFIG_ENV_OFFSET
    #define CONFIG_SYS_NAND_MASK_CLE0x4000
    #define CONFIG_SYS_NAND_MASK_ALE0x2000
    #define CONFIG_SYS_NAND_CS2.
    #define CONFIG_SYS_NAND_4BIT_HW_ECC_OOBFIRST
    #define CONFIG_SYS_NAND_LARGEPAGE

    您还可以从 SDK03.02更新到最新的 uboot (2016.05)吗?

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 YorDan、

    我今天已将环境更新为 sdk03.02 。但是 在使用2K 页大小 NAND 之前 、我仍然使用4K 页大小1并面临一些新 问题、我期待您的建议:

    背景: 我正在使用预构建的 uboot 和默认的 tisdk-server-rootfs-image-K2L-evm.ubi

    问题1:

    当 Uboot 起始地址在 CCS 中运行时从0x0c001000更改为0x0c000000?  

    问题2:

    内核引导良好、但我未能使用 mpmcl 加载 DSP 映像。 此外、我在 uboot 段中找不到 mem_reserve 变量 如何知道 DSP 内核可以使用 DDR 的存储器空间?

    问题3:

     我在  SDK 中看不到任何 ubinize.cfg 示例文件和其他内容,如何知道如何制作自定义 ubi 文件?

    问题4:

    我的 SOC 是 TCIK2LCMS、而 uboot 显示 CPU 66AK2Lx SR1.0。 最新的 SDK 是否 与我的 SoC 兼容?   

    问题5:

    是否有任何文件表明我的困惑、如 Q1、Q2和 Q3?

     

    最后但并非最不重要的是、非常感谢您今天的帮助。

     

    撞锁

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    HI Stripker、

    对延迟答复表示歉意。

    [引述]问题1:

    当 Uboot 起始地址在 CCS 中运行时从0x0c001000更改为0x0c000000? [/报价]

    我不确定这一点、因此我要让设计团队的某个人来详细说明。

    [引用]此外、我在 uboot 段中找不到 mem_reserve 变量 如何知道 DSP 内核可以使用 DDR 的存储器空间?[/quot]
    由于 DSP 映像在内核引导期间加载、因此 DSP 存储器保留在 DTS 中完成、请参阅 arch/arm/boot/dts/keystone-K2L-evm.dts:

    保留存储器{
    #address-cells =<2>;
    大小单元格=<2>;
    范围;

    DSP_common_CMA_pool:DSP_common_CMA_pool{
    兼容="共享 dma-pool ";
    REG =<0x00000008 0x1f800000 0x00000000 0x800000>;
    可重复使用;
    };

    DSP_common_mpm_area:DSP_reserved_mpm_area{
    兼容="共享 dma-pool ";
    REG =<0x00000008 0x20000000 0x00000000 0x20000000>;
    无地图;
    状态="正常";
    };
    };

    [引述]问题3:

    我在 SDK 中看不到任何 ubinize.cfg 示例文件和其他内容,如何知道如何制作自定义 ubi 文件?
    有关创建 ubifs 映像的信息,请参见以下指南:
    processors.wiki.ti.com/.../UBIFS_Support
    此外、此主题:
    e2e.ti.com/.../1516902

    [引述]问题4:

    我的 SOC 是 TCIK2LCMS、而 uboot 显示 CPU 66AK2Lx SR1.0。 最新的 SDK 是否与我的 SoC 兼容? [/报价]
    是的、SDK 应与您的 SoC 兼容。

    希望这对您有所帮助。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    撞锁、

    对于问题1、在从 MCSDK 转换到 ProcSDK 期间更改了 u-boot 起始地址。

    雷克斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Yordan、

    这些确实很有帮助。

    还有一个问题让我感到困惑。 当我在1.2GHz 频率下运行 DSP 时,ARM 端的调试 UART 会很好,而当我将 DSP 设置为984MHz 时,调试 UART 会变得混乱。 我只是想知道这个问题是我的特定问题还是常见问题?

    撞锁