AN13275
如何在新的 iMX8/8X 板上启用 Linux BSP L5.4
Rev. 1 — 2023年5月26日应用笔记
如何在新的 iMX8/8X 板上启用 Linux BSP L5.4 1  介绍
1.1  目标
本应用笔记介绍了在新的自定义 i.MX 8/8X 板上启用标准 Linux BSP L5.4 的一般过程,帮助用户快速移植标准Linux BSP 版本代码到自定义 i.MX 8/8X 板上,并提示用户注意那些需要修改的关键部分。
1.2  示例板
本应用笔记使用 i.MX 8QXP 汽车参考板作为示例板,因为标准的 Linux BSP 版本不支持该参考板。更多详细信息,请联系恩智浦代表。
该板的硬件设计基于 i.MX8QXP MEK 板,但有如下变化:
•i.MX 8QXP C0 芯片
•三星汽车级 LPDDR4 和 eMMC5.1
•MIPI-CSI,配备 NVP6324 汽车 AHD 解决方案
•LVDS 显示器,配备 TI DS90UB947/948 Serdes(通过FPD Link III),用于汽车应用
•MIPI-DSI 显示器,配备 Maxim 96752/96755 Serdes(通过 GMSL2),用于汽车应用
•恩智浦 TJA1101 汽车 100 Mbps 以太网 PHY
•用于 Carplay/AA 的 USB3.0 host 和用于调试的 USB2.0 OTG
图 1. i.MX 8QXP 汽车参考板
1.3  Linux BSP 版本
本应用笔记以 L5.4.47_2.2.0 Linux BSP 版本为例。如需查询所有 i.MX Linux BSP 的版本,请参见 E
mbedded Linux for i.MX Applications Processors。
如何在新的 iMX8/8X 板上启用 Linux BSP L5.4
以下章节介绍了移植SCFW、ATF、U-Boot 和 Linux 内核的一般过程。每项都可以独立编译,您可从以下链接下载软件包或源代码:
•SCFW
p/webapp/Download?colCode=L5.4.47_2.2.0_SCFWKIT-1.6.0&appType=license
•Arm Trusted Firmware (ATF)
Git clone github/nxp-imx/imx-atf -b rel_imx_5.4.47_2.2.0
•U-Boot
Git clone github/nxp-imx/uboot-imx -b rel_imx_5.4.47_2.2.0
•imx-mkimage
Git clone github/nxp-imx/imx-mkimage -b rel_imx_5.4.47_2.2.0
•Linux Kernel
Git clone github/nxp-imx/linux-imx -b rel_imx_5.4.47_2.2.0
2  生成 DDR 配置文件
i.MX 8/8X DDR 寄存器编程辅助工具(RPA)是 Excel 电子表格工具,用于为用户具体的DDR 配置(DDR 芯片类型、容量等)进行 DDR 初始化。RPA 以两种格式(参见单独的 Excel 工作表选项卡)启动 DDR 初始化:•DDR 压力测试脚本
这种格式专门用于 DDR 压力测试,首先复制“DDR压力测试脚本CBT”选项卡上的内容,再将其粘贴到一个文本文件中,以 .ds 文件扩展名命名该文档。请在执行 DDR 压力测试时使用此文件。
•DCD CFG 文件
这种格式是 SCU 固件(SCFW)专用的配置文件。在这种情况下,用户复制“DCD CFG文件 CBT”选项卡上的内容,并将其粘贴到一个文本文件,以 .cfg 文件扩展名命名该文档并将该文件放入相应的 SCFW 板级文件目录中。
2.1  下载 RPA 工具
注: 在所有情况下,RPA 修订参照都是最低 SCFW 版本,参见i.MX 8/8X 系列 DDR 工具版本表。在某些情况下,还可以进行 BSP 调节。
要获取最新的RPA,请参见以下链接:
•i.MX8QM DDR 寄存器编程辅助工具 (RPA)
•i.MX8QXP/DXP/DX DDR 寄存器编程辅助工具 (RPA)
要参照 L5.4.47_2.2.0 BSP 和 SCFW 1.6.0,请在以下步骤中使用 MX8QXP_C0_B0_LPDDR4_RPA_1.2GHz_
v14.xlsx RPA 版本。
2.2  使用 RPA 工具
要使用 RPA 工具为用户自定义板上的具体 DDR 生成新的 DDR 压力测试脚本和 DCD CFG 文件,请按以下步骤操作。
1.从 DDR 供应商处获取所需的 DDR 数据手册
要在 RPA 工具中填写 DRAM 参数,请使用 DDR 供应商提供的 DDR 数据手册,通常可从 DDR 供应商的网站下载。用户也可直接联系 DDR 供应商获取此数据手册。
2.更新“寄存器配置”选项卡上的芯片信息表。
如何在新的 iMX8/8X 板上启用 Linux BSP L5.4
图 2. i.MX8QXP RPA 工具寄存器配置
在图 2突出显示的芯片信息表中更新以下信息:
•制造商
•存储器型号
•每个片选信号通道的容量 (Gb)
•片选信号数量
•行地址的数量
•列地址的数量
•BANK 地址的数量
•总线宽度
•时钟周期频率(MHz)
其他参数将使用上述信息自动计算并填入表格。
3.更新“BoardDataBusConfig(板数据总线配置)”选项卡上的数据总线映射。
图 3. i.MX 8QXP RPA 工具 BoardDataBusConfig
通常,由于物理布局的限制,DDR 芯片和 SOC 之间数据引脚的物理连接并不是直接配对的。因此,我们需要一个映射表来记录 DDR 数据引脚的物理连接,并将这些信息放入 DDR 控制器的寄存器中,使 DDR 数据引脚能够正确进行逻辑连接。execl函数 linux
如何在新的 iMX8/8X 板上启用 Linux BSP L5.4
在图 3突出显示的行中,根据硬件原理图更新 DDR 芯片和 SOC 之间数据引脚的物理映射。其他参数将根据用户的输入自动更新。
例如,从图 4的示例板示意图中,我们可以发现 DDR 芯片上的 DQ0_A 引脚与 iMX 8QXP 上的 DDR_DQ13引脚相连,因此我们在圈出的单元格中输入 13,对于其他引脚,请遵循相同的方法。
图 4. Connection of DDR data pins in example board schematic
4.将“DCD CFG文件CBT”和“DDR压力测试脚本CBT”选项卡中的文本复制到文件。
单击RPA工具中的“DCD CFG文件CBT”选项卡,将所有文本复制到一个文件中,命名为
BOARD_NAME.cfg。该文件稍后将在移植 SCFW 时使用。
单击“DDR压力测试脚本CBT”选项卡,将所有文本复制到一个文件中,命名为 BOARD_NAME.ds。该文件稍后将在 DDR 压力测试中使用。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。