Trenz Electronic Products > Trenz Electronic FPGA Modules

Boot issue with VxWorks on TE0715/TE0701

<< < (3/3)

Thanks for the suggestion.  We have been compiling our VxWorks with a DTS file from the known working Linux build, but that hasn't worked for us.  We've even tried stripping down the working DTS file to a "bare minimum" with just the single uart0 and a few other items, with the thought that we have one item described in the DTS that is keeping the software from running or providing text to the console.  That didn't work either.

We'll give it a go with the petalinux boot to see if we can get that to work.  Interestingly, we have already downloaded that build environment and created a pseudo-working U-Boot instance from that. I say pseudo-working because it can boot our existing Linux image, but some of the apps that we run on that Linux image crash.  However, our VxWorks build does not run from the petalinux built U-Boot either.  I would assume that if we get the petalinux image to run, we should be able to use the DTS for that to build our VxWorks image and it should then run.  At least that is my hope.

Thanks again for the suggestion, I really appreciate it.


dts is different on every Zynq system. It depends on connected HW and PS-IP configuration. Generated FSBL, Devices tree... everything belongs together. Make sure that all was created from the same XSA file(definition of your PS setup and AXI PL Periphery).


Thanks for the continued attempts to help me out.  I ended up figuring out my problem.  It was that I was trying to load the DTB in an area of memory not recognized by the "Early MMU" that VxWorks had set up.  I'm not sure if that is a limitation in VxWorks, or just a configuration that I had set wrong.  Regardless, after changing my 'vxboot' parameter below to load the DTB below 0x01d00000, VxWorks started to provide some of its output to the console.  It was at that point that I could start figuring out my DTS problems and other configuration problems keeping it from fully booting.  One big thing that someone bringing up a new VxWorks BSP should be aware of (with Version 21.11 or newer) is that WindRiver has drastically increased security lockdown of their base configuration.  Unless you pick a "Development" profile when starting your VSB project, the shell is disabled by default (one of the hurdles I had to overcome).  For posterity, and in case it helps some future developer, here's what my current boot sequence looks like.  Note that this is more than the bare minimum configuration; I've added a ramfs (/ram0) and enabled ssh which added its own ramfs (/ram).  I also included in the boot sequence a few 'printenv' command results showing the U-Boot environment parameters I needed to boot VxWorks on my platform, and added a few editorial comments {encased in curly braces} to explain the parts of the boot:

--- Code: ---U-Boot 2016.01 (Nov 19 2019 - 12:51:36 -0500)

Model: Trenz Zynq 7000 Development Board
Board: Xilinx Zynq
DRAM:  ECC disabled 512 MiB
MMC:   sdhci@e0100000: 0
SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB
In:    serial@e0000000
Out:   serial@e0000000
Err:   serial@e0000000
Model: Trenz Zynq 7000 Development Board
Board: Xilinx Zynq
Net:   ZYNQ GEM: e000b000, phyaddr 0, interface rgmii-id
eth0: ethernet@e000b000
Hit any key to stop autoboot:  0


Zynq> printenv modeboot
Zynq> printenv bootcmd
bootcmd=run $modeboot
Zynq> printenv bootargs
## Error: "bootargs" not defined
Zynq> printenv vxboot
vxboot=load mmc 0 0x00300000 uVxWorks;load mmc 0 0x01cff700 my-trenz.dtb;bootm 0x00300000 - 0x01cff700
Zynq> boot


reading uVxWorks
15896340 bytes read in 841 ms (18 MiB/s)
reading my-trenz.dtb
4946 bytes read in 16 ms (301.8 KiB/s)
## Booting kernel from Legacy Image at 00300000 ...
   Image Name:   vxworks
   Image Type:   ARM VxWorks Kernel Image (uncompressed)
   Data Size:    15896276 Bytes = 15.2 MiB
   Load Address: 00200000
   Entry Point:  00200000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 01cff700
   Booting using the fdt blob at 0x1cff700
   Loading Kernel Image ... OK
   Loading Device Tree to 1f314000, end 1f318351 ... OK
## Starting vxWorks at 0x00200000, device tree at 0x1f314000 ...


protecting primary core interrupt stack
protecting root task stacks
initialize VxBus
        install bus types:
                vxbIeee1588Bus(IEEE1588 bus type)
                vxbSdMmcBus(SdMmc bus type)
                vxbMiiBus(MII bus type)
                vxbFdtBus(Flattened Device Tree bus type)
                vxbNexusBus(Nexus bus type)
        probe and attach devices
protecting non-primary core interrupt stacks
Instantiating /ram0 as rawFs,  device = 0x1
 _________            _________
 \........\          /......../
  \........\        /......../
   \........\      /......../
    \........\    /......../
     \........\   \......./
      \........\   \...../              VxWorks SMP 32-bit
       \........\   \.../
        \........\   \./     Release version: 21.11
         \........\   -      Build date: Feb  8 2022 16:00:22
           \......./         Copyright Wind River Systems, Inc.
            \...../   -                 1984-2022
             \.../   /.\
              \./   /...\
               -   -------
                   Board: Trenz Zynq 7000 Development Board
               CPU Count: 2
          OS Memory Size: 511MB
        ED&R Policy Mode: Permanently Deployed
Instantiating /ram as rawFs,  device = 0x10001
Formatting /ram for DOSFS
Instantiating /ram as rawFs, device = 0x10001
Formatting...Retrieved old volume params with %38 confidence:
Volume Parameters: FAT type: FAT32, sectors per cluster 0
  0 FAT copies, 0 clusters, 0 sectors per FAT
  Sectors reserved 0, hidden 0, FAT sectors 0
  Root dir entries 0, sysId (null)  , serial number a0000
  Label:"           " ...
Disk with 1024 sectors of 512 bytes will be formatted with:
Volume Parameters: FAT type: FAT12, sectors per cluster 1
  2 FAT copies, 1010 clusters, 3 sectors per FAT
  Sectors reserved 1, hidden 0, FAT sectors 6
  Root dir entries 112, sysId VXDOS12 , serial number a0000
  Label:"           " ...
Adding 13518 symbols for standalone.
--- End code ---

Good luck,


Hi Dan,
good to hear that you solve the problem and thanks for sharing this information.


[0] Message Index

[*] Previous page

Go to full version