1. 使用 u-boot 中的 startm7 启动 IPCF 多 M7 内核演示或 IPCF 单 M7 内核演示。M7 应用程序启动和运行没有问题;UART1 上的控制台输出。
2. 在u-boot 中输入'boot' 启动A53 Linux。UART0 上的控制台输出。
3. 内核几乎立即出现恐慌:
=> 引导
PFEng 固件文件 'mmc@0:1:s32g_pfe_class.fw' 加载失败:-2
PFE: emac0: sgmii emac1: 无 emac2: rgmii
pfeng_cfg_mode_enable: 无效的 PFE 设备
切换到分区 #0,OK
mmc0 是当前设备
13756424以 623 毫秒(21.1 MiB/s)读取的字节数
从 mmc 引导...
以 22 毫秒(1.9 MiB/s)读取 44164 字节
## 扁平设备树 blob 在 83000000
使用 fdt blob 在 0x83000000 引导
使用设备树就位0000000083000000,结束 000000008300dc83
修复:pfe0 设置为 00:01:be:be:ef:11
修复:pfe1 设置为 00:01:be:be:ef:22 修复
:pfe2 设置为 00:01:be:be:ef :33
启动内核...
[ 0.000000] 在物理 CPU 上启动 Linux 0x0000000000 [0x410fd034]
[ 0.000000] Linux 版本 5.10.120-rt70+g0b76731696c1 (oe-user@oe-host) (aarch64-fsl-linux-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.1) #1 SMP PREEMPT 2022 年 9 月 12 日星期一 13:23:16 UTC [
0.000000] 机器型号:NXP S32G274A-RDB2
[0.000000] earlycon:MMIO 上的 linflex0 0x00000000401c8000(选项 '115200.n8')
printk: bootconsole [linflex0] enabled
[0.000000] CPU0 上的 SError 中断,代码 0xbf000000 -- SError
[0.000000] CPU:0 PID:0 Comm:swapper Not tainted 5.10.120-rt70+g0b76731696c1 #1 [0.000000
] 硬件名称:NXP S32G274A-RDB2 (DT)
[ 0.000000] pstate: 60000085 (nZCv daIf -PAN -UAO -TCO BTYPE=--)
[ 0.000000] pc : setup_arch+0x164/0x58c
[ 0.000000] lr : setup_arch+0x15c/0x58c
[ 0.000000] sp : ffffffc010c83ef0
[ 0.000000] x29: ffffffc010c83ef0 x28: 0000000080b30018
[ 0.000000] x27: 00000000ffaa27f8 x26: 0000000000000000
[ 0.000000] x25: 00000000ffb38bf0 x24: 00000000ffe0e1c8
[ 0.000000] x23: ffffffc010d22000 x22 : ffffffc010c8e380
[ 0.000000] x21: fffffffefe600094 x20: ffffffc010cd7148
[ 0.000000] x19: ffffffc010000000 x18: 0000000000000030
[ 0.000000] x17: 0000000000001800 x16: 0000000000000000
[ 0.000000] x15: ffffffc010c8e7e8 x14: ffffffffffffffff
[ 0.000000] x13: 0000000000000000 x12: 0000000000000028
[ 0.000000] x11:0000000000000015 x10:0101010101010101
[0.000000] x9:3334ff6b6e6e6f5e x8:7f7f7f7f7f7f7f7f
[ 0.000000] x7 : 736d647164676e62 x6 : 000006161d090b74
[ 0.000000] x5 : 740b091d16060000 x4 : 0000000000000000
[ 0.000000] x3 : ce6ded8ca0000000 x2 : 000000000000000c
[ 0.000000] x1 : 0000000000000000 x0 : 0000000000000080
[ 0.000000] Kernel panic - not syncing:
[ 0.000000] Asynchronous SError中断
[0.000000] ---[ 结束内核恐慌 - 不同步:异步 SError 中断]---
4. 重置板。在不启动 M7 应用程序的情况下,在 u-boot 中键入“boot”。A53 Linux 可以正常启动和运行。
5. 用于启动M7 app的命令:
bootm7=dcache 关闭;mw.q 34000000 0 100000; tftp 80000000 样本.bin;cp.q 80000000 34300000 600000/8; startm7 34501000
注意:如果我发出 dcache off、mw.q 和 tftp 命令,然后输入“boot”,Linux A53 将正常启动。如果我发出 dcache off、mw.q、tftp 和 cp.q 命令,然后再“启动”,Linux A53 就会崩溃。
6. u-boot 版本:U-Boot 2020.04+g6391b468b1 (Sep 12 2022 - 14:11:05 +0000)
7.使用LinuxBSP 34.0;Linux 版本 5.10.120-rt70+g0b76731696c1
8. 这种恐慌不会发生在早期的 Linux BSP 版本 28 上。
9. 使用 SW32G_IPCF_4.6.0_D2205 和 SW32_RTD_4_4_3_0_3_D2206 构建 M7 应用程序。