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
  • 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 & Tria Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
ZedBoard Hardware Design Using Uartlite v1.02
  • 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 7 replies
  • Subscribers 343 subscribers
  • Views 1464 views
  • Users 0 members are here
Related

Using Uartlite v1.02

jesusmgonzalez
jesusmgonzalez over 11 years ago


Hi everybody,

I'm trying to run a simple example of using a custom UART IP, i.e., Uartlite v1.02 in Xilinx SDK, with interrupts. The problem arises when I want to connect the interrupt pin from the Uart IP to the PS, such as I can run the demo program titled "xuartlite_intr_example.c".

I already added a physical loopback, but i don't know if it is necessary to add an "axi interrupt IP controller" to my design.

Thanks in advance,

  • Sign in to reply
  • Cancel
Parents
  • Former Member
    0 Former Member over 11 years ago

    There is already an interrupt controller in the Zynq PS (Processing System that you can use. Take a look at Chapter 3 in the Zynq Concepts Tools and Techniques tutorial for an example of how to connect an axi peripheral interrupt.

     

    http://www.zedboard.com/design/1521/11

     

    -Gary

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

    Hi,

    Thanks for your great help. The problem is when I try to compile the file "xuartlite_intr_example.c" once bitstream exported, and cannot find "xintc.h". That's why I thought to include an additional IRQ IP, because if this IRQ IP is included, Plan Ahead also exports xintc related files.

    What should I do then?

    Using native PS IRQ or using external IRQ to resolve the problem?

    Thanks in advance

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

    Hi,

    Thanks for your great help. The problem is when I try to compile the file "xuartlite_intr_example.c" once bitstream exported, and cannot find "xintc.h". That's why I thought to include an additional IRQ IP, because if this IRQ IP is included, Plan Ahead also exports xintc related files.

    What should I do then?

    Using native PS IRQ or using external IRQ to resolve the problem?

    Thanks in advance

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

    Looks like the uartlite example does not support the PS Interrupt controller. If you look at the uartns550 ('full uart') example it has a test to see if it is using the axi interrupt controller (then it looks for xintc.h) otherwise it defaults to using the PS interrupt controller and looks for "xscugic.h". The uartlite interrupt example code does not have the check for the axi interrupt.

     

    From the uartns550 interrupt example code:

     
    /***************************** Include Files **********************************/
    
    #include "xparameters.h"
    #include "xuartns550.h"
    #include "xil_exception.h"
    
    #ifdef XPAR_INTC_0_DEVICE_ID
    #include "xintc.h"
    #include <stdio.h>
    #else
    #include "xscugic.h"
    #include "xil_printf.h"
    #endif
    
    
    /************************** Constant Definitions ******************************/
    
    /*
     * The following constants map to the XPAR parameters created in the
     * xparameters.h file. They are defined here such that a user can easily
     * change all the needed parameters in one place.
     */
    #ifndef TESTAPP_GEN
    #define UART_DEVICE_ID  XPAR_UARTNS550_0_DEVICE_ID
    #define UART_IRPT_INTR  XPAR_INTC_0_UARTNS550_0_VEC_ID
    
    #ifdef XPAR_INTC_0_DEVICE_ID
    #define INTC_DEVICE_ID  XPAR_INTC_0_DEVICE_ID
    #else
    #define INTC_DEVICE_ID  XPAR_SCUGIC_SINGLE_DEVICE_ID
    #endif /* XPAR_INTC_0_DEVICE_ID */
    #endif /* TESTAPP_GEN */
    
     
     
    So it looks like you can switch to the 'full' axi uart or add the axi interrupt controller if you want to stay with the uart lite and use the example code.
     
    -Gary
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • jesusmgonzalez
    0 jesusmgonzalez over 11 years ago in reply to Former Member

    Thanks for the answer. But, Should I do anything plus in the XPS Project? How do I connect the Interrupt line, and more important, to what?

    • 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 © 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