Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12618 Discussions

Booting VxWorks 7 with U-Boot on Cyclone V, take 2...

Honored Contributor II

So I am having quite a bit of trouble trying to figure out how to get the u-boot going for VxWorks 7 on Cyclone V. I have the Cyclone V devkit BSP from WindRiver’s site and have downloaded the files from Altera for booting VxWorks.  


How much of a difference between getting this done is there between VxWorks 6.9 and 7? Here are some questions or statements that I have: 


Section: Build a BootROM from a VxWorks Image Project 

  1. Create a VxWorks Image project with the profile PROFILE_BOOTAPP. 

    • There is no PROFILE_BOOTAPP in VxWorks 7; it is now a configuration option for the VIP called INCLUDE_BOOTAPP (or something similar).  



  2. Set the build spec to default_rom. 

    • I only have a default spec, does this need to be created?  



  3. Build the vxworks.bin target in the project.  

  4. Use the vxWorks_rom.bin file in the default_rom build directory in the project. 

    • Never mentioned again in the document. Says that vxworks.bin and vxWorks_rom.bin both need to be wrapped using ‘mkimage’ but then doesn’t detail how.  





Section: Creating a Bootable Environment using SD/MMC 

  1. Set up the board for SD/MMC boot. 

    • Instead of telling the reader to orient the board, could’ve just used the pin numbers  

    • BSEL0: 1
    • BSEL1: 1
    • BSEL2:
    • The SoC FPGA Cyclone V dev kit doesn’t look the same as the board this documentation is coming from, I don’t think.  



  2. Create an SD/MMC card. 

    • Says to unzip ‘sdmmc/’ and then write the image, cv_140_fat_sdmmc.img, to the SD card using Win32 Disk Imager.  



  3. Load the card into your development board and power up. 

    • Using PuTTY with the appropriate COM port and baud rate of 115200, I SEE NOTHING using the image provided. Am I doing something wrong?  



  4. Build the VxWorks Bootrom.  

  5. Add the Altera header to the VxWorks Bootrom. 

    • In Wind River’s documentation on u-boot, it uses “-T kernel” rather than “-T firmware”. What is the difference between the two?  

    • Another conflict is that there are different addresses used for the ‘-a’ and ‘-e’ options between the Wind River u-boot documentation and the Altera u-boot documentation. Confused by inconsistencies.  

    • I don’t have a ‘bootrom.bin’ file; is this where I use the vxWorks.bin file?  



  6. Put the VxWorks bootrom on the FAT partition.  

  7. Boot the board with the VxWorks Bootrom.  



That’s as far as I have gotten. Suggestions?
0 Kudos
2 Replies
Honored Contributor II

I have received an answer from the Wind River forum post I made: 



--- Quote Start ---  


I followed the steps from below and got the board up and running on u-boot. 


Step 1: Set up the board for SD/MMC boot: 

With the Altera Cyclone V SoC board oriented so that you can read the “Altera Cyclone V SoC” logo, set the following jumpers: 

Set jumper BootSEL0: Closed to the right: .[..]  

Set jumper BootSEL1: Closed to the right: .[..]  

Set jumper BootSEL2: Closed to the left: [..]. 


The sequence for boot selects 0..2 should look like: .[..] .[..] [..]. 


Step 2: Create an SD/MMC card 

Unzip the provided binary file for your development board and use the “Win32 Disk Imager” program to write the .img to an SD card. Use the correct image for your development board: 

sdmmc/av_131_fat_sdmmc.img for Arria V  

sdmmc/cv_131_fat_sdmmc.img for Cyclone V 


Step 3: Load the card into your development board and power up 

Connect a USB cable between the serial port on the Altera development board and a USB port on your Windows computer. Verify that you see a COM port on your Windows computer. 

Apply power to the development board and connect to the COM port at a baud rate of 115200. Verify that you see the COM port in the “Devices and Printers” control panel on your Windows computer. You should see the output of the preloader, followed by the output of u-boot. This verifies that you can boot your board with the pre-built image and see serial output. 



NOTE: I have used the VxWorks Instructions for SoC EDS 13.1. I have also gave it a try with the 14.0 version but it seems it has an error. I will try to contact the support that provides that installation kit. 

However I got u-boot output from both versions but only 13.1 versions works properly. 


NOTE_2: If you wish to use u-boot to load VxWorks please read the u-boot chapter from target.ref file (Section 3.3 U-Boot) 


EDIT: Section 3.3.1 - You are supposed to copy u-boot-dtb.img onto SD card as u-boot.img and u-boot-spl-dtb.bin onto SD card as bootloader.bin. 

Section 3.3.2, 3.3.3: Am I supposed to be obtaining and recompiling the U-Boot image provided with the BSP?  

No, those steps are there in case you intend to configure/use the latest u-boot. 


--- Quote End ---  




I followed up with checking v13.1; still did not see any u-boot output over UART. I did realize that something is happening because the HPS LEDs turned off after a short period of time.
0 Kudos
Honored Contributor II

It turns out that I wasn't reading carefully enough. The Altera files that come with the booting VxWorks guide ( are not for the Terasic Cyclone V development kit that I have and thus the preloader isn't going to do the job it's expected. Rocketboards has a software lab that goes through building the preloader for the Terasic CV dev kit. That preloader was then used with the Altera provided documentation to make the bootable image used to see the u-boot data over a serial stream in step 3.

0 Kudos