element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • 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 Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • 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
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • 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 Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
Software Application Development xtmrctr.h file cannot be found
  • 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 13 replies
  • Subscribers 328 subscribers
  • Views 3072 views
  • Users 0 members are here
Related

xtmrctr.h file cannot be found

Former Member
Former Member over 11 years ago

I am trying to complete the helloworld tutorial with the imbedded axi_timer and axi_gpio. This is in Chapter 3 of the Zynq ZedBoard Concepts, Tools and Techniques document. After exporting the design to SDK I cannot compile and run the design because the helloworld.c file calls out an include for the xtmrctr.h file.

Where is this file? It does not seem to be included in the zip file where the tutorial came from and I cannot find it on the xilinx web site either.

Any help would be appreciated.

  • Sign in to reply
  • Cancel

Top Replies

  • Former Member
    Former Member over 11 years ago in reply to Former Member +1
    Gary, Thanks for the help. That got me farther down the path, but now the compile fails searching for variables such as XPAR_AXI_GPIO_0_DEVICE_ID, XPAR_AXI_TIMER_0_DEVICE_ID, and XPAR_XGPIOPS_NUM_INSTANCES…
  • Former Member
    Former Member over 11 years ago in reply to Former Member +1
    Paul, I have seen the issue with XPAR_AXI_GPIO_0_DEVICE_ID and XPAR_AXI_TIMER_0_DEVICE_ID. If you take a look in the xparameters.h file that was generated when the BSP was generated (look in the 'include…
  • Former Member
    Former Member over 11 years ago in reply to Former Member +1
    Gary, The xparameters.h file does not have any definitions in it for XPAR_AXI. Are there multiple xparameters.h files that could be copied into my working directory? Does the file depend on the hardware…
  • Former Member
    0 Former Member over 11 years ago

    Hello Paul,

    When SDK creates the BSP it reads the HW platform and adds the appropriate drivers for each of the peripherals. When you added the axi timer to your hardware design in the previous experiment and exported the design to SDK the new hardware should have been detected and the BSP should have added xtmrctr.h to the project along with the device drivers. You can take a look at the system.mss file (located under Hello_world_bsp in the SDK project if it is not already open), under 'Peripheral Drivers' and see if the axi_timer drivers have been included. If not, this is the problem. If the export of the hardware design to SDK was successful you might try a 'clean' of the SDK projects to see if the BSP will rebuild correctly. Otherwise you might need to go back to Vivado, make sure the design including the axi_timer is 'open' and export the design to SDK again.

    Regards,

    -Gary

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to Former Member

    The clean did not help so I took the drastic step of starting from scratch. I get through to the SDK startup and the .mss shows that it has the peripherals installed. I got through a compile, but the output to the screen is simply hello world which is from the original file. I open the helloworld.c file in the SDK editor and it shows the new file and hello is not in the file other than the name, so SDK shows one file but apparently is compiling the old, or is loading the old output file.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago

    Auto Build after a change in the C code is the default but perhaps it is disabled in your configuration. Right click on the Hello_world application under the SDK Project Explorer and perform a 'Clean Project' and, once that is complete, select Hello_world again and perform a 'Build Project'. To verify that you have a new executable you could check the 'properties' of the Hello_world.elf file under the Hello_world project, under 'Debug' to make sure the file was just updated. If the elf file has been updated and the helloworld.c includes the updated application code you should be able to launch the new application as directed.

     

    -Gary

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to Former Member

    Gary,

    Thanks for the help. That got me farther down the path, but now the compile fails searching for variables such as XPAR_AXI_GPIO_0_DEVICE_ID, XPAR_AXI_TIMER_0_DEVICE_ID,  and XPAR_XGPIOPS_NUM_INSTANCES.

    Where are these variables supposed to be picked up or defined? I think that I have the hardware defined correctly inside the chip but these are not found.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to Former Member

    Paul,

     

    I have seen the issue with  XPAR_AXI_GPIO_0_DEVICE_ID and XPAR_AXI_TIMER_0_DEVICE_ID.  If you take a look in the xparameters.h file that was generated when the BSP was generated (look in the 'include' directory under Hello_world_bsp) you should see that the definitions matching the hardware are  XPAR_AXI_GPIO_1_DEVICE_ID and XPAR_AXI_TIMER_1_DEVICE_ID. You will need to change the definitions in the application code to match the hardware definitions. I think this is due to the current version of the Xilinx tools enumerating hardware instances differently than the version the sample application code was tested with, so the definitions generated by your hardware are slightly different. I have not seen an error with the XPAR_XGPIOPS_NUM_INSTANCES, so I am not sure what your are seeing. In any case, you can always refer to the xparameters.h file for defintions that match your exported hardware. 

     

    -Gary

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to Former Member

    Gary,

    The xparameters.h file does not have any definitions in it for XPAR_AXI. Are there multiple xparameters.h files that could be copied into my working directory? Does the file depend on the hardware instantiated in the design? I am running with Vivado 2013.3.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to Former Member

    Xparameters.h is generated based on the hardware instantiated in your design. You could check the 'system.xml' and 'system.mss' files in SDK to see if your design includes the axi_timer and axi_gpio modules.

     

    The current CTT was designed for Vivado 2013.2 and may not work with Vivado 2013.3 without some modifications. As an example: in Vivado 2013.2 when you selected the target board for your project, as you do in the CTT section 2.1.1, the board presets were automatically applied to the project. This was reflected in section 2.1.1 step 7 where it had you click the 'Presets' button and select the ZedBoard Development Board Template' to see the option but then had you 'Cancel' and not apply the presets. In Vivado 2013.3 you would need to apply the presets in step 7 as the board presets are not automatically applied earlier when you selected the target board.

     

    I have not tried to run the CTT through using Vivado 2013.3 yet so I don't know if there will be other issues. If the axi_timer and axi_gpio modules are not reflected in the system.xml and system.mss files in SDK you will need to go back to the Vivado section of the exercise and complete the hardware design first.

     

    -Gary

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to Former Member

    The axi_gpio_0 and axi_timer_0 are shown in the system.xml file under the IP blocks present in the design section. They do not show up in the system.mss file. When I generate the hdl wrapper, do I need to do the step of generate output files first?

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to Former Member

    If the axi_gpio and axi_timer modules appear in the system.xml file, which is generated by the Vivado tool and exported to the SDK, that seems to indicate that they are in your hardware design. If the drivers for axi_gpio and axi_timer are not listed in the system.mss under 'Peripheral Drivers' then that implies that the bsp you are using has not be updated or generated to match the latest hardware, as they are generated when the bsp is built. If you have more than one bsp in your project make sure that your application project is referencing the correct one. If you only have one bsp ( Hello_world_bsp as expected) you may need to perform a clean and rebuild of the bsp to make sure it picks up the latest hardware. You can also check the bsp settings and make sure that it is referencing the correct hardware specification under the 'Target Hardware' section.

     

    -Gary

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago

    I ran into the same problem using version 14.7 of the planahead tools and was able to fix it using the followign steps. When I went to the system.mss file to make sure my drivers where exported, "axi_gpio_0" and "axi_timer_0" where there, but nothing was listed to the right of them where "generic" appears next to everything else. I had to click on the  "Modify this BSP's Settings" button at the top of the page and add the drivers from within there.

    -Pat

    • Cancel
    • Vote Up +1 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 © 2025 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