Hi experts,
I was debugging IPCF function. I used the example(I have renamed it) from S32DS and the platform is S32G399A.But I could not load the M core image successfully.Can you give me some suggestions?Thank you!
Solved! Go to Solution.
Dear @piaochunri ,
I would like to answer your second question first. From the picture, I see that the file named IPCF_M7_0_blob.bin that you put on the SD card. I want to know if this binary file is a blob image generated by you using the IVT tool? Or is it just named like this?
In fact, for the IPCF EXAMPLE, there is a detailed description here, and there are detailed steps as shown in the following figure. It should be noted that a blob image is not necessary. The directly compiled bin file can be used instead.
By using the prebuilt linux bsp40 image and following the steps above, I have no problems in operating.
I hope the above information is helpful to you. Regarding your kernel panic problem, I will reply to you after further investigation.
Best Regards,
Celeste
And I make a version supplement.
IPCF M core:4.9
Linux bsp:40.0
IPCF A core:4.10
Two problems:
1.I can install ipc-shm-dev.ko but when I installed ipc-shm-sample.ko.The kernel resulted in panic.
2.I used the following command:"dcache off;mw.q 0x34000000 0x0 0x100000;fatload mmc 0:1 0x80000000 IPCF_FreeRTOS_S32G399A_M7_0_blob.bin;cp.q 0x80000000 0x34300000 0x60000;startm7 0x34500400;" And after I entered "boot", it occured kernel panic and could not continued. .
Could you help me?
Dear @piaochunri ,
I would like to answer your second question first. From the picture, I see that the file named IPCF_M7_0_blob.bin that you put on the SD card. I want to know if this binary file is a blob image generated by you using the IVT tool? Or is it just named like this?
In fact, for the IPCF EXAMPLE, there is a detailed description here, and there are detailed steps as shown in the following figure. It should be noted that a blob image is not necessary. The directly compiled bin file can be used instead.
By using the prebuilt linux bsp40 image and following the steps above, I have no problems in operating.
I hope the above information is helpful to you. Regarding your kernel panic problem, I will reply to you after further investigation.
Best Regards,
Celeste
Thanks a lot!
I have tried your suggestion.But the kernel loading can not continue.The log is as follows.Is there something else wrong?
Log:
U-Boot 2022.04-dirty (Sep 12 2024 - 14:17:18 +0800)
SoC: NXP S32G399A rev. 1.1
CPU: ARM Cortex-A53 r0p4 @ max 1300 MHz
Model: NXP S32G399A-RDB3
DRAM: 3.5 GiB
Core: 306 devices, 25 uclasses, devicetree: board
MMC: FSL_SDHC: 0
Loading Environment from MMC... OK
s32cc_serdes_phy serdes@44180000: Using mode 1 for SerDes subsystem
s32cc_serdes_phy serdes@44180000: XPCS0 is in reset
s32cc_serdes_phy serdes@44180000: XPCS init failed
pci_s32cc pcie@44100000: Failed to get PHY 'serdes_lane0'
In: serial@401c8000
Out: serial@401c8000
Err: serial@401c8000
Board revision: Revision Unknown: (0x717)
Net: eth0: ethernet@4033c000
Found PFE version 0x0101 (S32G3)
pfeng pfeng-base: Uploading CLASS firmware
pfeng pfeng-base: EMAC0 block was initialized
pfeng pfeng-base: EMAC1 block was initialized
pfeng pfeng-base: EMAC2 block was initialized
pfeng pfeng-base: Enabling the CLASS block
pfeng pfeng-base: PFE Platform started successfully (mask: 7)
s32cc_serdes_phy serdes@44180000: Using mode 1 for SerDes subsystem
s32cc_serdes_phy serdes@44180000: XPCS0 is in reset
s32cc_serdes_phy serdes@44180000: XPCS init failed
pfeng_netif pfe0: Failed to get 'emac0_xpcs' PHY
, eth1: pfe0, eth2: pfe1, eth3: pfe2
Hit any key to stop autoboot: 0
=> dcache off;mw.q 0x34100000 0x0 0x40000;fatload mmc 0:1 0x80000000 IPCF_FreeRTOS_S32G399A_M7_0.bin;cp.b 0x800 00000 0x34300000 0x300000;startm7 0x34500400;
2359376 bytes read in 191 ms (11.8 MiB/s)
Starting CM7_0 core at SRAM address 0x34500400 ... done.
=> boot
switch to partitions #0, OK
mmc0 is current device
14555144 bytes read in 704 ms (19.7 MiB/s)
Booting from mmc ...
60860 bytes read in 94 ms (631.8 KiB/s)
## Error: "fdt_fixups" not defined
## Flattened Device Tree blob at 83000000
Booting using the fdt blob at 0x83000000
Using Device Tree in place at 0000000083000000, end 0000000083011dbb
Disabling XPCS0_0
Starting kernel ...
And it stopped here:
Hello piaochunri,
The occurrence of kernel panic may be related to your manual compilation. We cannot reproduce your problem well. Can you try using the prebuilt image to see if the above problem still occurs? Or you can identify which module is at fault by replacing modules one by one.
Best Regards,
Celeste
I used the rootfs and kernel source generated in the yocto.I built the image and dtb manually (fix phy config),but I did not changed the ipcf ko files generated in the rootfs.And when I installed the ko file .It still got panic..
root@s32g399ardb3:/lib/modules/5.15.145-rt73+g3a3fafb13baa+p1/extra# insmod ipc-shm-dev.ko
root@s32g399ardb3:/lib/modules/5.15.145-rt73+g3a3fafb13baa+p1/extra# insmod ipc-shm-sample.ko
[ 7.494024] pfeng 46000000.pfe: HIF2 started
[ 7.589045] pfeng 46000000.pfe pfe2: PHY [PFEng Ethernet MDIO.2:03] driver [mv88Q2112] (irq=POLL)
[ 7.589070] pfeng 46000000.pfe pfe2: configuring for phy/rgmii-id link mode
[ 7.591039] pfeng 46000000.pfe: HIF1 started
[ 7.691887] pfeng 46000000.pfe pfe1: PHY [PFEng Ethernet MDIO.1:03] driver [mv88Q2112] (irq=POLL)
[ 7.691913] pfeng 46000000.pfe pfe1: configuring for phy/rgmii-id link mode
[ 7.694032] pfeng 46000000.pfe: HIF0 started
[ 7.694050] pfeng 46000000.pfe pfe0: configuring for fixed/sgmii link mode
[ 7.694413] pfeng 46000000.pfe pfe0: Link is Up - 1Gbps/Full - flow control off
[ 7.694616] IPv6: ADDRCONF(NETDEV_CHANGE): pfe0: link becomes ready
[ 7.740501] pfeng 46000000.pfe pfe1: Set TX clock to 125000000Hz
[ 7.740539] pfeng 46000000.pfe pfe1: Link is Up - 1Gbps/Full - flow control off
[ 7.740564] IPv6: ADDRCONF(NETDEV_CHANGE): pfe1: link becomes ready
[ 41.180243] SError Interrupt on CPU1, code 0x00000000bf000002 -- SError
[ 41.180262] CPU: 1 PID: 381 Comm: insmod Tainted: G O 5.15.145-rt73+g3a3fafb13baa+p1 #1
[ 41.180270] Hardware name: NXP S32G399A-RDB3 (DT)
[ 41.180275] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 41.180281] pc : ipc_shm_init+0x424/0x8b0 [ipc_shm_dev]
[ 41.180300] lr : ipc_shm_init+0x11c/0x8b0 [ipc_shm_dev]
[ 41.180310] sp : ffffffc0096eb9d0
[ 41.180313] x29: ffffffc0096eba60 x28: ffffffc000990078 x27: 0000000000000000
[ 41.180326] x26: 0000000000000000 x25: ffffffc000988340 x24: ffffffc00b100008
[ 41.180334] x23: ffffffc000988348 x22: 0000000000000000 x21: ffffffc00b100008
[ 41.180343] x20: ffffffc0009900b8 x19: 00000000000008d0 x18: ffffffffffffffff
[ 41.180352] x17: 0000000000000000 x16: 0000000000000000 x15: ffffffc0896eb85d
[ 41.180360] x14: 0000000000000001 x13: 007473696c5f7974 x12: 696e696666615f65
[ 41.180368] x11: 0000000000000040 x10: ffffffc008d91290 x9 : 0000000000000000
[ 41.180377] x8 : ffffff88011f9900 x7 : 0000000000000009 x6 : 000000000000024e
[ 41.180386] x5 : 0000000000000008 x4 : ffffff880123f5c8 x3 : 0000000000000000
[ 41.180395] x2 : 0000000000000003 x1 : 0000000000000001 x0 : ffffffc000988340
[ 41.180406] Kernel panic - not syncing:
[ 41.180408] Asynchronous SError Interrupt
[ 42.180556] SMP: stopping secondary CPUs
[ 42.388550] Kernel Offset: disabled
[ 42.392015] CPU features: 0x8,00002001,20000842
[ 42.396530] Memory Limit: none
[ 42.399572] ---[ end Kernel panic - not syncing: Asynchronous SError Interrupt ]---
Hello,
fatload mmc 0:1 0x80000000 IPCF_Example_S32G274A_M7_0.bin
cp.b 0x80000000 0x34300000 0x300000
fatload mmc 0:3 0x34300000 IPCF_Example_S32G274A_M7_0.bin
Yes.The problem has been solved after I used IPCF4.10 of M core.
Thank you !
Dear @piaochunri ,
Yes, I was just about to explain to you that the IPCF versions of the A core and the M core should be the same. The following figure is the result when I use IPCF 4.9.0 for both. I am very glad that your problem has been solved.
Best Regards,
Celeste