如何修改与 TI SDK QNX 版本配合使用的 SPL/SBL 引导映像以控制 SCR_EL3 EA 位?
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.
如何修改与 TI SDK QNX 版本配合使用的 SPL/SBL 引导映像以控制 SCR_EL3 EA 位?
概述:
对于 SBL 引导流程、TI 处理器 QNX SDK (从 SDK 7.3开始)已将 ARM SCR_EL3 EA 位设置为值 如 TI SDK QNX 发布文档中所述、可以针对 SBL 引导流程修改 ARM SCR_EL3 EA 位。
SPL 引导流程默认将 ARM SCR_EL3 EA 位设置为高电平。 当在 QNX 上使用 SPL 引导流程 、用于调试目的或用于需要在 QNX 上生成 SIGBUS 的驱动程序时、可以将 ARM SCRL_EL3 EA 位设置为低电平。
控制 SBL 引导流程的 SCR_EL3 EA 位
有关修改 ARM SCR_EL3 EA 位的步骤、请参考 SDK 发布文档。 以下链接适用于 SDK 7.3。
8.3.如何处理当前异常级别的异常—Processor SDK QNX J721E
控制 SPL 引导流程的 SCR_EL3 EA 位(uboot)
发布文档将进行更新、以包含如下内容类似的内容。
对于 SPL 引导流程、需要使用更新的 Arm Trusted Firmware (ATF)重建 Uboot tispl.bin 二进制文件。 构建 Uboot + ATF 二进制文件的步骤如下:
1) 1)下载并安装需要 Uboot 二进制文件的 Linux SDK。 例如、SDK 7.3 版本的链接为(PROCESSOR-SDK-LINUX-J721E_07.03.00.05 | TI.com)
2) 2)在构建窗口中设置环境变量、在以下步骤中进行构建时需要这些变量:
3) 3)修改要在 SCR_EL3、EA 位设置为0的情况下构建的 ARM 可信固件
按如下方式编辑此文件:${PSDKLA_PATH}/board-support/trusted-firmware-a-2.4/plat/ti/k3/common/plat_common.mk
4) 4)使用这些新设置重建 Arm Trusted Firmware、以生成更新的 bl31.bin
5) 5)备份旧 bl31.bin 并使用新生成的映像覆盖。
6) 6)按如下方式重新构建 uboot、这将引入更新的 bl31.bin 并生成 tispl.bin
7) 7)将${PSDKLA_PATH}/ board-support/u-boot_build/a72/tispl.bin 复制到引导介质中。 如果使用 SD 引导、这将是 SD 卡的根目录。
示例测试: 读取未启用的模块的地址、例如0x28000000
在 EA 位设置为0的情况下使用 tispl.bin:

在 EA 位设置为1的情况下使用 tispl.bin:
