Something went wrong! Please try again.
Something went wrong! Please try again.
了解如何使用汽车软件包管理器
安装您熟悉的任意终端仿真器,如Tera Term、Putty等。
建议使用Tera Term 2.3。Tera Term是支持UTF-8协议的免费开源软件终端仿真器。现在TTSSH支持SSH2协议(初始版本支持SSH1)。
下载Tera TermSomething went wrong! Please try again.
FTDI芯片的FTDI CDM v2.12.28 WHQL串行配置驱动程序
下载FTDI CDM驱动程序Something went wrong! Please try again.
让我们开始试用S32-VNP-RDB3板!
SD卡出厂时预装了Linux BSP映像,您只需将SD卡插入S32G-VNP-RDB3板上的相应插槽中即可。
Something went wrong! Please try again.
使用UART线缆的Micro-AB接口连接S32G-VNP-RDB3的UART0
端口。
使用UART线缆的typeA接口连接PC。
Something went wrong! Please try again.
将电源连接至S32G-VNP-RDB3上的12V电源插孔。
Something went wrong! Please try again.
注:我们在Windows PC上使用Tera Term 2.3。
115200
为波特率 Something went wrong! Please try again.
将电源开关SW15
拨到S32G-VNP-RDB3板的左侧。左侧是第1.1章中图片的视角
Something went wrong! Please try again.
Linux BSP自动从SD卡运行。
Tera Term的控制台显示屏显示Linux BSP的运行日志。
Something went wrong! Please try again.
可轻松将低延迟通信引擎(LLCE)CAN/LIN MCAL驱动程序集成到S32DS中,因为LLCE 1.0.0驱动程序不能集成到S32DS 3.4环境。
注:脚本文件夹包含用于初始化SRAM的dcd_sram_init.bin
。
软件包的结构:
带有串行控制台的Windows操作系统的主机 | ||
---|---|---|
S32G-VNP-RDB3 REV C/D |
- |
|
LLCE演示代码 | ||
实时驱动程序(RTD)1.0.0 | ||
低延迟通信引擎(LLCE)1.0.0 | ||
S32 Design Studio for S32 Platform(构建LLCE项目) | ||
S32 Design Studio for S32 Platform(LLCE的MCAL配置) |
连接LLCE CAN/LIN和UART0连接器,同时为S32G-VNP-RDB3上电。
启动S32 Design Studio for S32 platform,然后前往File → New S32DS Application Project:
从项目名称中选择S32G274A_Rev2_Cortex-M7
,然后点击“下一步”
仅选择Cortex-M7_0
,选择SDK作为RTD1.0.0,然后点击“完成”
右击项目New → Source Folder并创建名为llce
的文件夹
将LLCE CAN/LIN相关源代码复制到llce文件夹,取代main.c
,将LLCE CAN/LIN相关源代码集成到项目。
注:LLCE CAN/LIN相关源代码和main.c
保存在附件的source_code
文件夹中。
注: Tresos_output
文件夹包含LLCE CAN/LIN EB MCAL配置输出。
右击项目,然后浏览Properties → C/C++ Build → Settings → Standard S32DS C Compiler → Include,添加路径:
"${ProjDirPath}/llce\can_lin_common"
"${ProjDirPath}/llce\platform_common\firmware_loading"
"${ProjDirPath}/llce\platform_common\platform_init"
"${ProjDirPath}/llce\plugins\Rte_TS_T40D11M10I0R0\src"
"${ProjDirPath}/llce\plugins\Rte_TS_T40D11M10I0R0\include"
"${ProjDirPath}/llce\plugins\Can_43_LLCE_TS_T40D11M10I0R0\src"
"${ProjDirPath}/llce\plugins\Can_43_LLCE_TS_T40D11M10I0R0\include"
"${ProjDirPath}/llce\plugins\CanIf_TS_T40D11M10I0R0\include"
"${ProjDirPath}/llce\plugins\Lin_43_LLCE_TS_T40D11M10I0R0\src"
"${ProjDirPath}/llce\plugins\Lin_43_LLCE_TS_T40D11M10I0R0\include"
"${ProjDirPath}/llce\plugins\LinIf_TS_T40D11M10I0R0\include"
"${ProjDirPath}/llce\plugins\Os_TS_T40D11M10I0R0\include"
"${ProjDirPath}/llce\plugins\Os_TS_T40D11M10I0R0\src"
"${ProjDirPath}/llce\plugins\EcuM_TS_T40D11M10I0R0\src"
"${ProjDirPath}/llce\plugins\EcuM_TS_T40D11M10I0R0\include"
"${ProjDirPath}/llce\Tresos_output\include"
"${ProjDirPath}/llce\Tresos_output\src"
遵循以下路径:Project_Settings → Linker_Files → linker_ram.ld
(NOLOAD)
添加到.llce_boot_end
、.can_43_llce_sharedmemory
和.lin_43_llce_sharedmemory
后面init_sram
存储器节点: 打开ConfigTools → Clocks,将llce_can/lin
时钟配置为40MHz
打开ConfigTools → Peripherals,从OS component添加freertos
:
打开ConfigTools → Peripherals,从Drivers component添加IntCtrl_Ip
and Linflexd_Uart
驱动程序
双击IntCtrl_Ip
,添加新的Interrupt Controller(中断控制器),启用LINFLED0_IRQn
双击Linfled_Uart_1
,添加带默认设置的UartGlobalConfig。
打开ConfigTools→ Pins,设置LINFlexD_0
的引脚(PC_09
和PC_10
),然后点击Update code(更新代码)
右击项目,前往Properties → C/C++ Build → Settings → Target Processor选择Float ABI为FP instructions (hard)
:
右击项目,前往Properties → C/C++ Build → Settings → Preprocessor添加USING_OS_FREERTOS
和ENABLE_FPU
构建项目,将生成LLCE_CAN_LIN_M7_0.elf
将LLCE_CAN_LIN_M7_0.elf
转换为LLCE_CAN_LIN_M7_0.bin
:
Raw binary
(原始二进制文件),然后点击Apply and Close(应用并关闭)基于S32DS 3.4 IVT工具生成LLCE_CAN_LIN_M7_0_IVT.bin
:
注:“代码长度”帧为红色,以8为单位增加直到达到正确的值
注: “Application bootloader”(应用引导加载程序)帧将一直保持红色,即使填充了正确的值也是如此
M7_0
QuadSPI Serial Flash
LLCE_CAN_LIN_M7_0_IVT.bin
注:其它组件将在映像表中保持Reserved(保留)
将SW9 [0:1]
和SW10 [0:1]
更改为OFF:OFF
,把S32G-VNP-RDB3设置为串行启动模式
给板上电,打开S32DS 3.4安装文件夹下的s32ft.exe
flash工具:
使用Flash工具将LLCE_CAN_LIN_M7_0_IVT.bin
上传到QSPI NOR Flash中。
目标:S32Gxxx。算法:MX25UW51245G。
COM::请查看主PC上的com编号以获取UART0。
点击Upload target and algorithm to hardware(将目标和算法上传到硬件),初始化硬件。点击Upload binary to device(将二进制文件上传到设备),将初始地址设置为0x00000
,然后将LLCE_CAN_LIN_M7_0_IVT.bin
上传到QSPI中,点击OK(确定)。
设置S32G-VNPRDB2为QSPI启动模式,将SW9 [0:1]
设置为OFF:OFF
,将SW10 [0:1]
设置为ON:OFF
(用于从RCON启动),将SW4 [6:8]
设置为OFF:OFF:OFF
(从QSPI Flash启动)。
将LLCE CAN0连接到LLCE CAN1,将LLCE LIN2(主器件)连接到LLCE LIN3(从器件)。
为主PC上的UART0打开串行控制台(例如Tera Term),将比特率设置为9600
。为板通电并等待控制台打印:
在S32G的M7内核上启用带有lwIP(轻量IP)协议栈和FreeRTOS的数据包转发引擎(PFE)以太网接口的示例项目。以S32 Design Studio项目为例,主要包括LWIP和PFE MCAL驱动程序。
带有串行控制台的Windows操作系统的主机 | ||
---|---|---|
S32G-VNP-RDB3 REV C/D |
- |
|
PFE演示代码 |
启动S32 Design Studio for S32 platform,并使用Existing Projects into Workspace(工作区的现有项目)选项导入示例项目:
加载完成后,点击Build Project(构建项目)选项。构建完成后立即获得结果:
选择dcd_sram_init.bin
DCD文件清除SRAM,创建IVT映像。
对于应用启动映像,将RAM起始指针设置为0x34000000
,将RAM条目指针设置为0x34001000
。
然后将最终的blob映像写入SD卡进行测试。
U-Boot 2019.04+ga53a9fa1e9 (Aug 31 2020 - 05:07:39 +0000)
CPU: NXP S32G274A rev. 2.1.0
Reset cause: Power-On Reset
Model: NXP S32G27x
Board: NXP S32G274A-RDB
DRAM: 512 MiB
CA53 core 1 running.
CA53 core 2 running.
CA53 core 3 running.
All (4) cores are up.
MMC: FSL_SDHC: 0
Loading Environment from MMC... OK
Using external clock for PCIe0
Configuring PCIe0 as RootComplex(x2)
Using external clock for PCIe1
Frequency 125Mhz configured for PCIe1
Configuring PCIe1 as SGMII(x2) [XPCS0 2.5G, XPCS1 OFF]
PCIe0: Failed to get link up
Pcie0: LINK_DBG_1: 0x00000000, LINK_DBG_2: 0x00000800 (expected 0x000000d1)
DEBUG_R0: 0x0052a300, DEBUG_R1: 0x08200000
PCIe1: Not configuring PCIe, PHY not configured
In: serial
Out: serial
Err: serial
Net: EQOS phy: rgmii fixed-link
Warning: eth_eqos (eth0) using random MAC address - 8a:54:02:e5:1f:1a
eth0: eth_eqos PFE: emac0: sgmii emac1: none emac2: rgmii
Warning: eth_pfeng using MAC address from ROM
, eth1: eth_pfeng
Hit any key to stop autoboot: 0
PFE: emac0: sgmii emac1: none emac2: rgmii
PFE: emac0: sgmii emac1: none emac2: rgmii
switch to partitions #0, OK
mmc0 is current device
9158664 bytes read in 400 ms (21.8 MiB/s)
Booting from mmc ...
9158664 bytes read in 385 ms (22.7 MiB/s)
27786 bytes read in 7 ms (3.8 MiB/s)
## Flattened Device Tree blob at 83e00000
Booting using the fdt blob at 0x83e00000
Loading Device Tree to 000000009fafa000, end 000000009fb03c89 ... OK
Reserving 2048k off the top of [c0000000-dfffffff] for protected RAM
DT: Enabling PFE
DT: Enabling PFE_EMAC_0
DT: pfe0 set to 00:01:be:be:ef:11
DT: Disabling PFE_EMAC_1
DT: Enabling PFE_EMAC_2
DT: pfe2 set to 00:01:be:be:ef:33
DT: Enabling GMAC
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 4.19.59-rt24+ged566620fe59 (oe-user@oe-host) (gcc version 9.2.0 (GCC)) #1 SMP PREEMPT Tue Aug 25 10:01:34 UTC 2020
[ 0.000000] Machine model: Freescale S32G275
[ 0.000000] earlycon: linflex0 at MMIO 0x00000000401c8000 (options '115200n8')
[ 0.000000] bootconsole [linflex0] enabled
[ 0.000000] cma: Reserved 256 MiB at 0x00000000cfc00000
[ 0.000000] random: get_random_bytes called from start_kernel+0x94/0x3f0 with crng_init=0
[ 0.000000] percpu: Embedded 21 pages/cpu s48920 r8192 d28904 u86016
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: enabling workaround for ARM erratum 845719
[ 0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 900415
[ 0.000000] Kernel command line: console=ttyLF0,115200 root=/dev/mmcblk0p2 rootwait rw earlycon nohz=off coherent_pool=64M
[ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
[ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
[ 0.000000] software IO TLB: mapped [mem 0xcbc00000-0xcfc00000] (64MB)
[ 0.000000] Memory: 3151736K/3651584K available (6078K kernel code, 368K rwdata, 2024K rodata, 448K init, 215K bss, 237704K reserved, 262144K cma-reserved)
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GICv3: Distributor has no Range Selector support
[ 0.000000] GICv3: no VLPI support, no direct LPI support
[ 0.000000] ITS: No ITS available, not enabling LPIs
[ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000050880000
[ 0.000000] arch_timer: cp15 timer(s) running at 5.00MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x127350b88, max_idle_ns: 440795202120 ns
[ 0.000005] sched_clock: 56 bits at 5MHz, resolution 200ns, wraps every 4398046511100ns
[ 0.008351] Console: colour dummy device 80x25
[ 0.012468] Calibrating delay loop (skipped), value calculated using timer frequency.. 10.00 BogoMIPS (lpj=20000)
[ 0.022689] pid_max: default: 32768 minimum: 301
[ 0.027433] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.033989] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.065168] ASID allocator initialised with 32768 entries
[ 0.078243] rcu: Hierarchical SRCU implementation.
[ 0.106732] smp: Bringing up secondary CPUs ...
[ 0.151077] Detected VIPT I-cache on CPU1
[ 0.151111] GICv3: CPU1: found redistributor 1 region 0:0x00000000508a0000
[ 0.151147] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.191123] Detected VIPT I-cache on CPU2
[ 0.191151] GICv3: CPU2: found redistributor 100 region 0:0x00000000508c0000
[ 0.191179] CPU2: Booted secondary processor 0x0000000100 [0x410fd034]
[ 0.231190] Detected VIPT I-cache on CPU3
[ 0.231209] GICv3: CPU3: found redistributor 101 region 0:0x00000000508e0000
[ 0.231225] CPU3: Booted secondary processor 0x0000000101 [0x410fd034]
[ 0.231310] smp: Brought up 1 node, 4 CPUs
[ 0.287500] SMP: Total of 4 processors activated.
[ 0.292184] CPU features: detected: GIC system register CPU interface
[ 0.298610] CPU features: detected: 32-bit EL0 Support
[ 0.306755] CPU: All CPU(s) started at EL1
[ 0.310521] alternatives: patching kernel code
[ 0.315555] devtmpfs: initialized
[ 0.322790] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.332215] futex hash table entries: 1024 (order: 4, 65536 bytes)
[ 0.344747] pinctrl core: initialized pinctrl subsystem
[ 0.350441] NET: Registered protocol family 16
[ 0.355564] vdso: 2 pages (1 code @ (____ptrval____), 1 data @ (____ptrval____))
[ 0.392905] DMA: preallocated 65536 KiB pool for atomic allocations
[ 0.398961] Serial: AMBA PL011 UART driver
[ 0.418631] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.430451] vgaarb: loaded
[ 0.433060] SCSI subsystem initialized
[ 0.436769] usbcore: registered new interface driver usbfs
[ 0.442312] usbcore: registered new interface driver hub
[ 0.447384] usbcore: registered new device driver usb
[ 0.453176] pps_core: LinuxPPS API ver. 1 registered
[ 0.457793] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti
[ 0.467201] PTP clock support registered
[ 0.471596] clocksource: Switched to clocksource arch_sys_counter
[ 0.484113] NET: Registered protocol family 2
[ 0.488818] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes)
[ 0.496354] TCP established hash table entries: 32768 (order: 6, 262144 bytes)
[ 0.503842] TCP bind hash table entries: 32768 (order: 7, 524288 bytes)
[ 0.510687] TCP: Hash tables configured (established 32768 bind 32768)
[ 0.517015] UDP hash table entries: 2048 (order: 4, 65536 bytes)
[ 0.522981] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes)
[ 0.529527] NET: Registered protocol family 1
[ 0.533974] RPC: Registered named UNIX socket transport module.
[ 0.539558] RPC: Registered udp transport module.
[ 0.544245] RPC: Registered tcp transport module.
[ 0.548927] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.555533] Unpacking initramfs...
[ 0.558752] Initramfs unpacking failed: junk in compressed archive
[ 0.608954] Freeing initrd memory: 98304K
[ 0.614005] workingset: timestamp_bits=62 max_order=20 bucket_order=0
[ 0.620989] fuse init (API version 7.27)
[ 0.625222] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[ 0.632285] io scheduler noop registered
[ 0.636187] io scheduler deadline registered
[ 0.640470] io scheduler cfq registered (default)
[ 0.645129] io scheduler mq-deadline registered
[ 0.649637] io scheduler kyber registered
[ 0.654050] s32g275-siul2-pinctrl 4009c240.siul2-pinctrl0: initialized s32 pinctrl driver
[ 0.662296] s32g275-siul2-pinctrl 44010400.siul2-pinctrl1: initialized s32 pinctrl driver
[ 0.677252] s32gen1-pcie 40400000.pcie: Configuring as RootComplex
[ 0.683162] s32gen1-pcie 40400000.pcie: Allocated line 0 for interrupt 66 (msi)
[ 0.690394] s32gen1-pcie 40400000.pcie: host bridge /pcie@40400000 ranges:
[ 0.697258] s32gen1-pcie 40400000.pcie: IO 0x5800003000..0x5800012fff -> 0x00000000
[ 0.705159] s32gen1-pcie 40400000.pcie: MEM 0x5800013000..0x5840012fff -> 0x00013000
[ 1.711594] s32gen1-pcie 40400000.pcie: Phy link never came up
[ 2.715593] s32gen1-pcie 40400000.pcie: Phy link never came up
[ 2.721209] s32gen1-pcie 40400000.pcie: PCI host bridge to bus 0000:00
[ 2.727606] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 2.733071] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 2.739231] pci_bus 0000:00: root bus resource [mem 0x5800013000-0x5840012fff] (bus address [0x00013000-0x40012fff])
[ 2.753103] pci 0000:00:00.0: BAR 0: assigned [mem 0x5800100000-0x58001fffff 64bit pref]
[ 2.760871] pci 0000:00:00.0: BAR 6: assigned [mem 0x5800020000-0x580002ffff pref]
[ 2.768409] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[ 2.773976] pcieport 0000:00:00.0: Signaling PME with IRQ 92
[ 2.779439] pcieport 0000:00:00.0: AER enabled with IRQ 92
[ 2.785178] s32gen1-pcie 44100000.pcie: u-boot did not initialize PCIE PHY; is u-boot compiled with PCIE support?
[ 2.796282] 401c8000.serial: ttyLF0 at MMIO 0x401c8000 (irq = 30, base_baud = 7812500) is a FSL_LINFLEX
[ 2.807429] console [ttyLF0] enabled
[ 2.807429] console [ttyLF0] enabled
[ 2.814711] bootconsole [linflex0] disabled
[ 2.814711] bootconsole [linflex0] disabled
[ 2.823540] 401cc000.serial: ttyLF1 at MMIO 0x401cc000 (irq = 31, base_baud = 7812500) is a FSL_LINFLEX
[ 2.833381] 402bc000.serial: ttyLF2 at MMIO 0x402bc000 (irq = 57, base_baud = 7812500) is a FSL_LINFLEX
[ 2.847880] libphy: Fixed MDIO Bus: probed
[ 2.852463] vcan: Virtual CAN interface driver
[ 2.857005] slcan: serial line CAN interface driver
[ 2.861981] slcan: 10 dynamic interface channels.
[ 2.866780] CAN device driver interface
[ 2.871567] flexcan 401b4000.flexcan: device registered (reg_base=(____ptrval____), irq(s):
[ 2.880094] flexcan 401b4000.flexcan: 26
[ 2.884186] flexcan 401b4000.flexcan: 27
[ 2.888282] flexcan 401b4000.flexcan: 28
[ 2.892373] flexcan 401b4000.flexcan: 29
[ 2.896464] flexcan 401b4000.flexcan: )
[ 2.901043] flexcan 402a8000.flexcan: device registered (reg_base=(____ptrval____), irq(s):
[ 2.909570] flexcan 402a8000.flexcan: 49
[ 2.913662] flexcan 402a8000.flexcan: 50
[ 2.917758] flexcan 402a8000.flexcan: 51
[ 2.921849] flexcan 402a8000.flexcan: 52
[ 2.925943] flexcan 402a8000.flexcan: )
[ 2.930403] flexcan 402b2000.flexcan: device registered (reg_base=(____ptrval____), irq(s):
[ 2.938925] flexcan 402b2000.flexcan: 53
[ 2.943017] flexcan 402b2000.flexcan: 54
[ 2.947112] flexcan 402b2000.flexcan: 55
[ 2.951202] flexcan 402b2000.flexcan: 56
[ 2.955296] flexcan 402b2000.flexcan: )
[ 2.959458] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[ 2.965411] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 2.972162] s32cc-dwmac 4033c000.ethernet: PTP uses main clock
[ 2.978119] s32cc-dwmac 4033c000.ethernet: no reset control found
[ 2.984348] s32cc-dwmac 4033c000.ethernet: phy mode set to RGMII
[ 2.990598] s32cc-dwmac 4033c000.ethernet: User ID: 0x10, Synopsys ID: 0x51
[ 2.997708] s32cc-dwmac 4033c000.ethernet: DWMAC4/5
[ 3.002776] s32cc-dwmac 4033c000.ethernet: DMA HW capability register supported
[ 3.010231] s32cc-dwmac 4033c000.ethernet: RX Checksum Offload Engine supported
[ 3.017681] s32cc-dwmac 4033c000.ethernet: TX Checksum insertion supported
[ 3.024693] s32cc-dwmac 4033c000.ethernet: Wake-Up On Lan supported
[ 3.031111] s32cc-dwmac 4033c000.ethernet: Enabled workarounds for s32g274a platform
[ 3.039012] s32cc-dwmac 4033c000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[ 3.047005] s32cc-dwmac 4033c000.ethernet (unnamed net_device) (uninitialized): device MAC address b2:87:c5:05:03:51
[ 3.057732] s32cc-dwmac 4033c000.ethernet: Enabling HW TC (entries=256, max_off=256)
[ 3.065723] libphy: stmmac: probed
[ 3.069942] mdio_bus stmmac-0: MDIO device at address 4 is missing.
[ 3.076566] mdio_bus stmmac-0: MDIO device at address 5 is missing.
[ 3.083183] mdio_bus stmmac-0: MDIO device at address 6 is missing.
[ 3.089805] mdio_bus stmmac-0: MDIO device at address 7 is missing.
[ 3.096702] usbcore: registered new interface driver asix
[ 3.102259] usbcore: registered new interface driver ax88179_178a
[ 3.108505] usbcore: registered new interface driver cdc_ether
[ 3.114488] usbcore: registered new interface driver net1080
[ 3.120294] usbcore: registered new interface driver cdc_subset
[ 3.126368] usbcore: registered new interface driver zaurus
[ 3.132096] usbcore: registered new interface driver cdc_ncm
[ 3.137903] usbcore: registered new interface driver qmi_wwan
[ 3.143961] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 3.150624] ehci-pci: EHCI PCI platform driver
[ 3.155231] usbcore: registered new interface driver cdc_wdm
[ 3.161037] usbcore: registered new interface driver uas
[ 3.166502] usbcore: registered new interface driver usb-storage
[ 3.172716] usbcore: registered new interface driver option
[ 3.178429] usbserial: USB Serial support registered for GSM modem (1-port)
[ 3.199421] ci_hdrc ci_hdrc.0: EHCI Host Controller
[ 3.204545] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
[ 3.231610] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[ 3.237248] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
[ 3.245680] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.253045] usb usb1: Product: EHCI Host Controller
[ 3.258024] usb usb1: Manufacturer: Linux 4.19.59-rt24+ged566620fe59 ehci_hcd
[ 3.265299] usb usb1: SerialNumber: ci_hdrc.0
[ 3.270158] hub 1-0:1.0: USB hub found
[ 3.274009] hub 1-0:1.0: 1 port detected
[ 3.279363] s32gen1-rtc 40060000.rtc: rtc core: registered s32gen1_rtc as rtc0
[ 3.287677] sdhci: Secure Digital Host Controller Interface driver
[ 3.293980] sdhci: Copyright(c) Pierre Ossman
[ 3.298424] sdhci-pltfm: SDHCI platform and OF driver helper
[ 3.335639] mmc0: SDHCI controller on 402f0000.usdhc [402f0000.usdhc] using ADMA
[ 3.343511] usbcore: registered new interface driver usbhid
[ 3.350217] usbhid: USB HID core driver
[ 3.354483] NET: Registered protocol family 10
[ 3.360292] Segment Routing with IPv6
[ 3.364089] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 3.370606] NET: Registered protocol family 17
[ 3.375154] can: controller area network core (rev 20170425 abi 9)
[ 3.381881] NET: Registered protocol family 29
[ 3.386451] can: raw protocol (rev 20170425)
[ 3.390809] can: broadcast manager protocol (rev 20170425 t)
[ 3.396588] can: netlink gateway (rev 20170425) max_hops=1
[ 3.396646] mmc0: new high speed SDHC card at address 5048
[ 3.408886] mmcblk0: mmc0:5048 SD16G 14.4 GiB
[ 3.413449] s32gen1-rtc 40060000.rtc: setting system clock to 2018-08-10 18:00:00 UTC (1533924000)
[ 3.424338] mmcblk0: p1 p2
[ 3.432587] EXT4-fs (mmcblk0p2): mounting ext3 file system using the ext4 subsystem
[ 3.564012] EXT4-fs (mmcblk0p2): recovery complete
[ 3.572759] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 3.580548] VFS: Mounted root (ext3 filesystem) on device 179:2.
[ 3.586575] devtmpfs: mounted
[ 3.589629] Freeing unused kernel memory: 448K
[ 3.593954] Run /sbin/init as init process
INIT: version 2.88 booting
[ 3.712010] random: fast init done
Starting udev
[ 3.999267] udevd[797]: starting version 3.2.8
[ 4.008995] random: udevd: uninitialized urandom read (16 bytes read)
[ 4.016322] random: udevd: uninitialized urandom read (16 bytes read)
[ 4.022469] random: udevd: uninitialized urandom read (16 bytes read)
[ 4.057252] udevd[798]: starting eudev-3.2.8
[ 4.608718] pfeng: loading out-of-tree module taints kernel.
[ 4.639285] pfeng 46000000.pfe: pfeng, ethernet driver loading ...
[ 4.645189] pfeng 46000000.pfe: Found reserved memory at p0x83400000 size 0xc00000
[ 4.652905] pfeng 46000000.pfe: Cbus addr 0x46000000 size 0x1000000
[ 4.658939] pfeng 46000000.pfe: firmware-name: s32g_pfe_class.fw
[ 4.665015] pfeng 46000000.pfe: HIF channel 0 in SC mode
[ 4.670227] pfeng 46000000.pfe: pfe0 linked to EMAC 0
[ 4.675259] pfeng 46000000.pfe: HIF channel 2 in SC mode
[ 4.680547] pfeng 46000000.pfe: pfe2 linked to EMAC 2
[ 4.685586] pfeng 46000000.pfe: TX clocks for interface pfe2 installed
[ 4.692086] pfeng 46000000.pfe: HIF channels mask: 0x0005
[ 4.697477] pfeng 46000000.pfe: Interface selected: EMAC0: 0x4 EMAC1: 0xffffffed EMAC2: 0x8
[ 4.718907] pfeng 46000000.pfe: Firmware: s32g_pfe_class.fw [size: 166088 bytes]
[ 4.725991] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/hw/s32g/pfe_platform_master.c:2718] INF: PFE CBUS p0x(____ptrval____) mapped @ v0x(____ptrval____)
[ 4.744578] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/hw/s32g/pfe_platform_master.c:2769] INF: Detected per block IRQ mode (S32G)
[ 4.756488] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/hw/s32g/pfe_platform_master.c:1381] INF: BMU1 buffer base: p0x(____ptrval____)
[ 4.770845] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/hw/s32g/pfe_platform_master.c:1428] INF: BMU2 buffer base: p0x(____ptrval____) (2097152 bytes)
[ 4.786777] [/usr/src/debug/pfe/0.8.0-r0/git/sw/oal/.//src/oal_irq_linux.c:156] INF: register IRQ 85 by name 'PFE BMU IRQ'
[ 4.797626] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/hw/s32g/pfe_bmu_csr.c:117] INF: BMU_EMPTY_INT (BMU @ p0x(____ptrval____)). Pool ready.
[ 4.810671] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/hw/s32g/pfe_bmu_csr.c:117] INF: BMU_EMPTY_INT (BMU @ p0x(____ptrval____)). Pool ready.
[ 4.894305] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/hw/s32g/pfe_platform_master.c:1779] INF: Firmware .elf detected
[ 4.905177] [/usr/src/debug/pfe/0.8.0-r0/git/sw/elf/src/elf.c:1379] INF: ELF_Open: File format: Elf32
[ 4.914375] [/usr/src/debug/pfe/0.8.0-r0/git/sw/elf/src/elf.c:1380] INF: ELF_Open: File endian: Alien (Big)
[ 4.924123] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/hw/s32g/pfe_platform_master.c:1788] INF: Uploading CLASS firmware
[ 4.935472] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/src/pfe_pe.c:1480] INF: pfe_ct.h file version"d6aa29e94e07a9cfbf1ccebb03994057"
[ 4.950316] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/src/pfe_pe.c:1480] INF: pfe_ct.h file version"d6aa29e94e07a9cfbf1ccebb03994057"
[ 4.964705] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/src/pfe_pe.c:1480] INF: pfe_ct.h file version"d6aa29e94e07a9cfbf1ccebb03994057"
[ 4.979092] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/src/pfe_pe.c:1480] INF: pfe_ct.h file version"d6aa29e94e07a9cfbf1ccebb03994057"
[ 4.993477] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/src/pfe_pe.c:1480] INF: pfe_ct.h file version"d6aa29e94e07a9cfbf1ccebb03994057"
[ 5.007866] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/src/pfe_pe.c:1480] INF: pfe_ct.h file version"d6aa29e94e07a9cfbf1ccebb03994057"
[ 5.022273] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/src/pfe_pe.c:1480] INF: pfe_ct.h file version"d6aa29e94e07a9cfbf1ccebb03994057"
[ 5.036663] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/src/pfe_pe.c:1480] INF: pfe_ct.h file version"d6aa29e94e07a9cfbf1ccebb03994057"
[ 5.051046] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/src/pfe_pe.c:1738] INF: [FW VERSION] 0.8.0, Build: Mar 31 2020, 11:41:35 (c768f3e), ID: 0x31454650
[ 5.064955] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/src/pfe_pe.c:1747] INF: [PE 0 MMAP]
[ 5.064955] DMEM Heap Base: 0x20001150 (11952 bytes)
[ 5.064955] PHY IF Base : 0x20000aac (288 bytes)
[ 5.084143] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/hw/s32g/pfe_emac_csr.c:308] INF: The PHY mode selection is done using a HW interface. See the 'phy_intf_sel' signal.
[ 5.100102] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/hw/s32g/pfe_emac_csr.c:308] INF: The PHY mode selection is done using a HW interface. See the 'phy_intf_sel' signal.
[ 5.115924] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/hw/s32g/pfe_emac_csr.c:308] INF: The PHY mode selection is done using a HW interface. See the 'phy_intf_sel' signal.
[ 5.131597] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/hw/s32g/pfe_platform_master.c:2149] INF: SAFETY instance created
[ 5.142830] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/hw/s32g/pfe_platform_master.c:2163] INF: Watchdog instance created
[ 5.155192] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/hw/s32g/pfe_platform_master.c:1913] INF: Routing table created, Hash Table @ p(____ptrval____), Pool @ p(____ptrva(65536 bytes)
[ 5.280190] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/src/pfe_l2br.c:643] INF: Fall-back bridge domain @ 0x20000a98 (class)
[ 5.293618] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_platform/hw/s32g/pfe_platform_master.c:2913] INF: Enabling the CLASS block
[ 5.364627] pfeng 46000000.pfe pfe0 (uninitialized): setting MAC addr: 00:01:be:be:ef:11
[ 5.372937] pfeng 46000000.pfe pfe0: registered
[ 5.400167] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_hif_drv/src/pfe_hif_drv_sc.c:320] INF: Attempt to register HIF client: pfe0
[ 5.411299] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_hif_drv/src/pfe_hif_drv_sc.c:385] INF: HIF client pfe0 id 0 registered
[ 5.422440] pfeng 46000000.pfe pfe0: Register HIF client pfe0 for logif (____ptrval____)
[ 5.430444] pfeng 46000000.pfe pfe2 (uninitialized): setting MAC addr: 00:01:be:be:ef:33
[ 5.438896] pfeng 46000000.pfe pfe2: registered
[ 5.468519] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_hif_drv/src/pfe_hif_drv_sc.c:320] INF: Attempt to register HIF client: pfe2
[ 5.479651] [/usr/src/debug/pfe/0.8.0-r0/git/sw/pfe_hif_drv/src/pfe_hif_drv_sc.c:385] INF: HIF client pfe2 id 1 registered
[ 5.490788] pfeng 46000000.pfe pfe2: Register HIF client pfe2 for logif (____ptrval____)
[ 5.498865] libphy: PFEng Ethernet MDIO: probed
[ 5.503428] mdio_bus PFEng Ethernet MDIO.pfe2: MDIO device at address 1 is missing.
[ 5.511055] mdio_bus PFEng Ethernet MDIO.pfe2: MDIO device at address 2 is missing.
[ 5.579136] loading NXP PHY driver: [autonomous mode]
[ 5.677591] sja1105pqrs spi1.0: Loading SJA1105P SPI driver
[ 5.682940] sja1105pqrs spi1.0: Detected device id is invalid: ffffffff
[ 5.689435] sja1105pqrs spi1.0: SJA1105P SPI Failed to read Device Id
[ 5.712578] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
Fri Aug 28 01:21:01 UTC 2020
[ 5.995835] urandom_read: 3 callbacks suppressed
[ 5.995844] random: dd: uninitialized urandom read (512 bytes read)
INIT: Entering runlevel: 5
Configuring network interfaces... ifup: don't have all variables for eth0/inet
Starting syslogd/klogd: done
Starting random number generator daemon[ 6.197407] random: rngd: uninitialized urandom read (4 bytes read)
[ 6.203438] random: rngd: uninitialized urandom read (4 bytes read)
.
[ 6.211508] random: crng init done
[ 6.214604] random: 1 urandom warning(s) missed due to ratelimiting
Starting OpenBSD Secure Shell server: sshd
done.
Auto Linux BSP 1.0 s32g274ardb /dev/ttyLF0
s32g274ardb login:
根据使用的PFE接口连接相应的端口,然后给板上电进行测试。
执行ping测试,确认连接:
解压缩serdes文件夹 ,然后添加到项目目录。在Project Explorer中右击文件夹,选择Build path → Add to → Debug_RAM,将serdes源代码添加到项目中:
根据板设置更改serdes的初始化参数:
在Eth_43_PFE_init()
前调用serdes_init()
serdes_init();
oal_mm_init(NULL);
Eth_43_PFE_Init(NULL_PTR);
注:PFE/generate/
中的默认配置文件选择PFE MAC2作为以太网接口。要选择PFE MAC0,使用generate_pfe0中的文件取代PFE/generate/
中的文件。