element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet & Tria Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
MicroZed Hardware Design Microzed Hello World tutorial fails to build the standalone section of the bsp
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Avnet Boards Forums to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 12 replies
  • Subscribers 359 subscribers
  • Views 3159 views
  • Users 0 members are here
  • microzed tutorials
Related

Microzed Hello World tutorial fails to build the standalone section of the bsp

patrickkelly
patrickkelly over 7 years ago

I have been unable to get the board support package to compile despite many efforts to be sure I am using the correct combination of Vivado and files.  I have even gone so far as to uninstall all Vivado versions and only install the recommended 2016.4.  I get the following failure only on the standalone section of the bsp build.

 

"Running Make libs in ps7_cortexa9_0/libsrc/standalone_v6_1/src"

make -C ps7_cortexa9_0/libsrc/standalone_v6_1/src -s libs  "SHELL=sh.exe" "COMPILER=arm-none-eabi-gcc" "ARCHIVER=arm-none-eabi-ar" "COMPILER_FLAGS=  -O2 -c" "EXTRA_COMPILER_FLAGS=-mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard -nostartfiles"

make[1]: *** No rule to make target `*.c', needed by `standalone_libs'.

make[1]: *** No rule to make target `*.S', needed by `standalone_libs'.

make[1]: Target `libs' not remade because of errors.

make: *** [ps7_cortexa9_0/libsrc/standalone_v6_1/src/make.libs] Error 2

 

This make file is very different from all the other make files and since I have no experience with make files, I can't see what is wrong.

What is needed to share for some help in this?

 

 

 

Since I can't find any other similar problems, I am assuming that this is a configuration problem in my Vivado installation.  The problem is I have no idea where to look.  What puzzles me is that the standalone support package is the only file that won't compile in the entire bsp.  I haven't even reached a point where there is a connection to the hardware, so that can't be the issue either.  I am attaching the make files (as text files) reporting the fault, but I doubt it is the source of the problem.

I would really appreciate some help in this.

 

Message was edited by: Patrick Kelly I am adding more detail in hopes of finding a resolution.

Attachments:
Makefile.txt.zip
config.make.txt.zip
  • Sign in to reply
  • Cancel
  • shabaz
    0 shabaz over 7 years ago

    Hi Patrick,

     

    I'm just a beginner with Vivado and Xilinx SDK, but there is some information here that may help (it's for Minized, but the concept is the same):

    Xilinx ZYNQ - Blog 2 - Getting Code Running on the SoC

    It shows what files should be present in the folder when you export the hardware, and the steps (i.e. where I clicked etc) in order to create the BSP. Maybe you'll spot something different that you're doing compared to what's documented there.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • patrickkelly
    0 patrickkelly over 7 years ago in reply to shabaz

    Thanks for the reply Shabaz,

    Unfortunately the tutorial images don't show the area that is giving me problems. If you expand the cortex_a9 line you will find a standalone_v6_1 line (in the Vivado 2016.4 install).  This is the file that won't compile. I'm an experienced hardware and programmable logic designer using ISE's schematic entry, but am just starting to look into this area, so I haven't worked with make files before. It appears to me that something is wrong in this make file since the compiler is complaining that there's no rule to make the .c and  .s files.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 7 years ago in reply to patrickkelly

    Hi Patrick,

     

    I see.. I'm using 2017.4.

    Here is the Makefile I see in my standalone_bsp_0\ps7_cortexa9_0\libsrc\standalone_v6_5\src folder:

     

    ###############################################################################
    #
    # Copyright (C) 2011 - 2015 Xilinx, Inc.  All rights reserved.
    #
    # Permission is hereby granted, free of charge, to any person obtaining a copy
    # of this software and associated documentation files (the "Software"), to deal
    # in the Software without restriction, including without limitation the rights
    # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    # copies of the Software, and to permit persons to whom the Software is
    # furnished to do so, subject to the following conditions:
    #
    # The above copyright notice and this permission notice shall be included in
    # all copies or substantial portions of the Software.
    #
    # Use of the Software is limited solely to applications:
    # (a) running on a Xilinx device, or
    # (b) that interact with a Xilinx device through a bus or interconnect.
    #
    # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    # XILINX  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
    # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
    # OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    # SOFTWARE.
    #
    # Except as contained in this notice, the name of the Xilinx shall not be used
    # in advertising or otherwise to promote the sale, use or other dealings in
    # this Software without prior written authorization from Xilinx.
    #
    ###############################################################################
    
    include config.make
    
    CC=$(COMPILER)
    AR=$(ARCHIVER)
    CP=cp
    COMPILER_FLAGS=
    EXTRA_COMPILER_FLAGS=
    LIB=libxil.a
    
    CC_FLAGS = $(subst -pg, -DPROFILING, $(COMPILER_FLAGS))
    ECC_FLAGS = $(subst -pg, -DPROFILING, $(EXTRA_COMPILER_FLAGS))
    
    ifeq (($(notdir $(CC))) , arm-xilinx-eabi-gcc)
    ECC_FLAGS += -nostartfiles\
          -march=armv7-a \
          -mfloat-abi=soft \
          -mfpu=neon
    endif
    
    ifeq (($(notdir $(CC))) , arm-none-eabi-gcc)
    ECC_FLAGS += -nostartfiles
    endif
    
    RELEASEDIR=../../../lib
    INCLUDEDIR=../../../include
    INCLUDES=-I./. -I${INCLUDEDIR}
    
    OUTS = *.o
    OBJECTS = $(addsuffix .o, $(basename $(wildcard *.c)))
    ASSEMBLY_OBJECTS  = $(addsuffix .o, $(basename $(wildcard *.S)))
    INCLUDEFILES=*.h
    
    libs: $(LIBS)
    
    standalone_libs: $(LIBSOURCES)
      echo "Compiling standalone"
      $(CC) $(CC_FLAGS) $(ECC_FLAGS) $(INCLUDES) $^
      $(AR) -r ${RELEASEDIR}/${LIB} ${OUTS}
    
    profile_libs:
      $(MAKE) -C profile COMPILER_FLAGS="$(COMPILER_FLAGS)" EXTRA_COMPILER_FLAGS="$(EXTRA_COMPILER_FLAGS)" COMPILER="$(CC)" ARCHIVER="$(AR)" libs
    
    .PHONY: include
    include: standalone_includes profile_includes
    
    standalone_includes:
      ${CP} ${INCLUDEFILES} ${INCLUDEDIR}
    
    profile_includes:
      $(MAKE) -C profile COMPILER_FLAGS="$(COMPILER_FLAGS)" EXTRA_COMPILER_FLAGS="$(EXTRA_COMPILER_FLAGS)" COMPILER="$(CC)" ARCHIVER="$(AR)" include
    
    clean:
      rm -rf ${OBJECTS}
      rm -rf ${ASSEMBLY_OBJECTS}
      $(MAKE) -C profile COMPILER_FLAGS="$(COMPILER_FLAGS)" EXTRA_COMPILER_FLAGS="$(EXTRA_COMPILER_FLAGS)" COMPILER="$(CC)" ARCHIVER="$(AR)" clean
    

     

    As I understand, that error may mean the make system cannot see any source files in that folder, although it sounds odd : (

    This is the contents of that folder for me:

    image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • patrickkelly
    0 patrickkelly over 7 years ago in reply to shabaz

    Aside from the total lack of .o files, this list is identical except for the xil_mem.c file which I don't have.  I can't imagine that this one missing file would prevent all the other files from failing to make as indicated by no object files.  Without other indications, I would first think that the missing file is due to the different platform your compile is using.  I compared the make file contents and found that the OBJECTS = and ASSEMBLY_OBJECTS =  lines were missing, so I copied over the lines from your file.  The clean: section had rm -rf ${OUTS} instead of the two lines referring to OBJECTS and ASSEMBLY_OBJECTS, so I copied those over and commented out the OUTS line.

    Now I get a "missing separator" error on line 85, which is the rm -rf ${OBJECTS} line.  If I comment out the lines I added in and restore the original line I get the same error on line 87.  I don't see any difference in how the lines are set up nor am I seeing a missing parenthesis or brace character in the file.  Any ideas?  We have managed to change the error message...

     

     

    clean:

        rm -rf ${OBJECTS}

        rm -rf ${ASSEMBLY_OBJECTS}

    # rm -rf ${OUTS}

    $(MAKE) -C profile COMPILER_FLAGS="$(COMPILER_FLAGS)" EXTRA_COMPILER_FLAGS="$(EXTRA_COMPILER_FLAGS)" COMPILER="$(CC)" ARCHIVER="$(AR)" clean

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 7 years ago in reply to patrickkelly

    Hi Patrick,

     

    The missing separator error may be due to spaces. Any indent should be a single tab, not a space, but sadly my pasting may have converted them to spaces : (

    So, the lines should like:

    clean:

    <TAB>rm -rf ${OBJECTS}

    <TAB>rm -rf ${ASSEMBLY_OBJECTS}

     

    etc..

     

    In theory it shouldn't matter nowadays, but definitely in ancient times makefile interpreters were very picky about tabs/spaces, and quantities of them. Perhaps the Windows version used by Xilinx is picky, so this is just to rule this out.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 7 years ago in reply to patrickkelly

    (I've temporarily placed a zipped copy of my src folder for comparison here, in case it helps:

    https://app.box.com/s/xt1ln1nt8t7bgjpd20r6cf79aqe2qhe1

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • patrickkelly
    0 patrickkelly over 7 years ago in reply to shabaz

    Ok, the spaces in place of tabs were a problem, but when I corrected that the first error messages came back.  I even copied your make file into my folder and still get the same errors of no rule to make the .c and .S files.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 7 years ago in reply to patrickkelly

    Does the config.make file in your folder look similar to the one in my zip file? I'm wondering if there is an error in that (it gets included by the makefile).

    If the makefile and config.make files look ok, then unfortunately I'm not sure what else it could be : ( Very bizarre. I'll keep thinking, in case anything else springs to mind.

    I also don't know enough about Xilinx's release cycle to know what gets fixed in 2016.4 compared to 2017.4. But it's very surprising to see such an issue. Perhaps some earlier step or configuration caused the makefile to be incomplete, but it's just random guesses, I can't think what it could have been : (

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • patrickkelly
    0 patrickkelly over 7 years ago in reply to shabaz

    The config.make is identical to yours.  I have played in both files and managed to change the error messages, but was not able to get a functional compile.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • patrickkelly
    0 patrickkelly over 7 years ago

    I am continuing to try things and not getting anywhere.  Is there someone who can help?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube