The microchip_pfsoc board support package (BSP) can be used to boot VxWorks 7 on the PolarFire SoC ICICLE Kit board.
Hardware Interface | VxBus Driver Name | VxWorks Driver Component | VxBus Driver Module Source File |
---|---|---|---|
RISC-V TIMER | - | DRV_TIMER_RISCV_MCH | vxbRiscvMchTimer.c |
RISC-V PLIC | - | DRV_INTCTLR_PLIC | vxbRiscvPlic.c |
CLOCK:0 | - | DRV_CLK_FIXED_RATE | vxbClkFixedRate.c |
CLOCK:1 | - | DRV_CLK_MICROCHIP_PFSOC | vxbMicrochipPFSoCClk.c |
UART:0 | - | DRV_SIO_FDT_NS16550 | vxbFdtNs16550Sio.c |
UART:1 | - | DRV_SIO_FDT_NS16550 | vxbFdtNs16550Sio.c |
UART:2 | - | DRV_SIO_FDT_NS16550 | vxbFdtNs16550Sio.c |
UART:3 | - | DRV_SIO_FDT_NS16550 | vxbFdtNs16550Sio.c |
DMA | - | DRV_PDMA_FDT_SIFIVE | vxbSifivePdma.c |
1GB-ETHERNET | - | DRV_END_FDT_XLNX_ZYNQ | vxbFdtZynqGemEnd.c |
ETHERNET PHY | - | INCLUDE_VSC8XXX_PHY | vxbVsc8xxxPhy.c |
For more information about how to configure these VxBus drivers beyond their defaults, refer to the microchip_pfsoc BSP Supplement Guide on the Wind River Support Network.
Before you begin, you must do the following:
Install Wind River VxWorks 7 on the Linux workstation.
Install a TFTP server program on the Linux workstation.
Be familiar with the process for building and configuring VxWorks projects. For more information, see VxWorks 7 Configuration and Build Guide.
Be familiar with using U-Boot to load an operating system to a target board. For more information, see The DENX U-Boot and Linux Guide.
This procedure is the most direct strategy for booting the target board successfully to the VxWorks kernel shell prompt. It can only be done from a Linux workstations.
1.1 Attach the serial cable between the target board J11 micro-USB connector and the workstation, and attach a physical network cable to the target board J2.
1.2 Start a serial terminal emulator program on your workstation.
There are 4 UARTs with the USB-to-Serial port, select the FIRST UART and set the serial communication configuration as follows:
Baud Rate: 115200
Data: 8 bit
Parity: None
Stop: 1 bit
Flow Control: None
1.3 Set the hardware switches as follows:
Jumper Number | Configuration |
---|---|
J31 | OFF |
J9 | OFF |
J21 | OFF |
J46 | OFF |
J47 | OFF |
J15 | OFF |
J17 | OFF |
J43 | Pins 1-2 |
J28 | ON |
J24 | ON |
J34 | Pins 1-2 |
J35 | Pins 1-2 |
J45 | Pins 1-2 |
2.1 Power on the target board and observe the U-Boot shell on the target serial console after about 6 seconds of no serial input.
U-Boot 2020.01 (Jun 23 2020 - 09:17:54 +0000)
DRAM: 1 GiB
MMC: sdhc@20008000: 0
In: serial@20000000
Out: serial@20000000
Err: serial@20000000
Net:
Warning: ethernet@20112000 using MAC address from ROM
eth0: ethernet@20112000
Hit any key to stop autoboot: 0
RISC-V #
NOTE 1: Wind River recommends you use the default U-Boot image programmed into board eMMC.
3.1 Open a Linux workstation command terminal and configure the environment variables for VxWorks 7 command-line interface (CLI) development. Refer to the microchip_pfsoc BSP Supplement Guide for details.
3.2 From the workstation command terminal, enter the following:
~/WindRiver/workspace$ vxprj vsb create -lp64 -smp -bsp microchip_pfsoc -S myVSB
~/WindRiver/workspace$ cd myVSB
~/WindRiver/workspace/myVSB$ make -j 8
~/WindRiver/workspace/myVSB$ cd ..
4.1 From the workstation command terminal, enter the following:
~/WindRiver/workspace$ vxprj vip create -vsb myVSB myVIP
~/WindRiver/workspace$ cd myVIP
5.1 Open the following file in an editor:
~/WindRiver/workspace/myVIP/microchip_pfsoc_w_x_y_z/icicle-kit-es-a000-microchip.dts
NOTE 1: w,x,y,z represent the microchip_pfsoc BSP layer version number.
5.2 Locate the emac1 ethernet device and modify the mac-address property to reflect the actual ethernet address (MAC address) of your target board:
emac1: ethernet@20112000
{
....
mac-address = [ AA BB CC DD EE FF ];
....
}
6.1 Build the U-Boot compatible VIP VxWorks image:
~/WindRiver/workspace/myVIP$ vxprj build uVxWorks
7.1 Make sure the TFTP server is running on the workstation and is set to serve files from the following directory:
~/WindRiver/workspace/myVIP/default
7.2 Power up the target board into the U-Boot shell.
7.3 Set the target board network parameters from the U-Boot shell:
=> setenv ipaddr 192.168.0.3
=> setenv netmask 255.255.255.0
=> setenv serverip 192.168.0.2
=> setenv bootargs 'gem(0,0)host:vxWorks h=192.168.0.2 e=192.168.0.3:ffffff00 u=target pw=vxTarget f=0x01'
NOTE 1: These boot parameters assume an IP address of 192.168.0.2 and target board IP address of 192.168.0.3. Adjust these addresses based on your network configuration. NOTE 2: U-Boot has already configured a unique ethernet address for the target board.
8.1 Load the VxWorks image file from the workstation using the U-Boot shell:
=> tftpboot 84000000 uVxWorks
8.2 Load the DTB file from the workstation using the U-Boot shell:
=> tftpboot 88000000 icicle-kit-es-a000-microchip.dtb
8.3 Run the VxWorks image using the U-Boot shell:
=> bootm 84000000 - 88000000
8.4 Once VxWorks has booted, the banner becomes visible on the target console.
Target Name: vxTarget
VxWorks 7 SMP 64-bit
Copyright 1984-2020 Wind River Systems, Inc.
Core Kernel version: 3.2.0.0
Build date: Sep 3 2020 16:25:23
Board: SiFive,FU540G
CPU Count: 4
OS Memory Size: 1024MB
ED&R Policy Mode: Permanently Deployed
NOTE 1: For a description of alternative BSP boot workflows, refer to the microchip_pfsoc BSP Supplement Guide on the Wind River Support Network.