Hello @alejandro_e and thanks for the response.
- Which version of the Linux kernel are you using? BSP43 supports v6.6.52 and v5.15.167
v6.6.52
- Please share the output of the printenv command in the u-boot command line
Hit any key to stop autoboot: 0
=> printenv
baudrate=115200
board_rev=F
boot_mtd=booti
bootargs=root=/dev/ram rw earlycon loglevel=7
bootcmd=mmc dev ${mmcdev}; if mmc rescan; then if run loadimage; then run mmcboot; fi; fi
bootdelay=2
console=ttyLF0
eth1addr=00:04:9f:be:ef:00
eth2addr=00:04:9f:be:ef:01
eth3addr=00:04:9f:be:ef:02
ethaddr=f6:c8:38:ca:16:f1
fdt_addr=0x83000000
fdt_enable_hs400=fdt addr ${fdt_addr}; fdt rm /soc/mmc no-1-8-v; fdt resize;
fdt_file=s32g399a-rdb3.dtb
fdt_fixups=;
fdt_high=0xffffffffffffffff
fdt_override=;
fdtcontroladdr=ff891000
flashboot=echo Booting from flash...; run flashbootargs;mtd read Kernel ${loadaddr};mtd read DTB ${fdt_addr};mtd rea d Rootfs ${ramdisk_addr};${boot_mtd} ${loadaddr} ${ramdisk_addr} ${fdt_addr};
flashbootargs=setenv bootargs console=${console},${baudrate} root=/dev/ram rw earlycon;setenv flashsize 0x04000000;
hwconfig=serdes0:mode=pcie,clock=ext;pcie0:mode=rc;serdes1:mode=pcie&xpcs0,clock=ext,fmhz=100;pcie1:mode=rc;xpcs1_0: speed=1G,an=0
image=Image
initrd_high=0xffffffffffffffff
ipaddr=10.0.0.100
loadaddr=0x80000000
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}; run fdt_override;
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadtftpfdt=tftp ${fdt_addr} ${fdt_file};
loadtftpimage=tftp ${loadaddr} ${image};
mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot} earlycon
mmcboot=echo Booting from mmc ...; run mmcargs; if run loadfdt; then run fdt_fixups; ${boot_mtd} ${loadaddr} - ${fdt _addr}; fi;
mmcdev=0
mmcpart=2
mmcroot="/dev/mmcblk0p3" rootwait rw
netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp e arlycon
netboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_c md tftp; fi; ${get_cmd} ${image}; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd} ${fdt_addr } ${fdt_file}; then ${boot_mtd} ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then ${boot_mtd}; else ec ho WARN: Cannot load the DT; fi; fi; else ${boot_mtd}; fi;
netmask=255.255.255.0
nfsboot=echo Booting from net using tftp and nfs...; run nfsbootargs;run loadtftpimage; run loadtftpfdt;${boot_mtd} ${loadaddr} - ${fdt_addr};
nfsbootargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs rw ip=${ipaddr}:${serverip}::${netmask}::et h0:off nfsroot=${serverip}:/tftpboot/rfs,nolock,v3,tcp earlycon
pfe1_phy_addr=8
ramdisk_addr=0x90000000
script=boot.scr
serverip=10.0.0.1
stderr=serial@401c8000
stdin=serial@401c8000
stdout=serial@401c8000
- Please share the changes you have done in the local.conf file for your Yocto setup.
Those are the changes (specified in S32G3_LinuxBSP_43.0_User_Manual.pdf):
DISTRO_FEATURES:append = " pfe"
NXP_FIRMWARE_LOCAL_DIR = "/path/to/firmware/binaries/folder"
- If you are following a document to achieve this steps, please share the name of said documents.
I looked at most of the documents related to the PFE usage but information is spread around all of them, here are the main ones:
S32G3_LinuxBSP_43.0_User_Manual.pdf - build and flash
PFE_FCI_API_Reference.pdf - usage/internals
PFE_S32G_A53_LNX_UserManual.pdf - usage
- Please share the Linux commands you are using to perform the test you listed.
S32G board: nothing special, just running the libfci demos. For example: libfci_cli demo-feature-run --feature L2_bridge_vlan, then checking if the configuration is set via the libfci_cli <command>-print commands
PCs:
- ip: for changing the MAC and IP addresses of the network adapters
- vconfig: for configuring the VLAN of an interface
- for sending data:
- ping -I <my_interface> <destination_IP>
- python scripts using scapy (for the hard coded packets i previously mentioned)
- I also use wireshark to ensure the correct sending/receiving(when it works) of the packets
The list all the specific commands is pretty big, this is a summary of the main ones. Please let me know if you want more specific information about any of the steps in the configuration of interfaces, sending and checking of the packets or anything else.
- Are you running a multicore setup?
From what I know, no.