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 Zynq Concepts, Tools, and Techniques on ZedBoard - Issues
  • 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 329 subscribers
  • Views 1422 views
  • Users 0 members are here
Related

Zynq Concepts, Tools, and Techniques on ZedBoard - Issues

Former Member
Former Member over 12 years ago


Hi all,

I'm new to the Zedboard, running through the 14.3 CTT tutorial, and I've encountered two problems:

1) Section 3.1.2 - The application code does not compile without error:

../src/helloworld.c:39:6: error: conflicting types for 'print'
../../Hello_world_bsp/ps7_cortexa9_0/include/xil_printf.h:39:6: note: previous declaration of 'print' was here
make: *** [src/helloworld.o] Error 1

To compile, the following line must be removed/commented:
void print(char *str);


2) The expanded Helloworld.c example contained in Appendix A crashes when run on hardware (within the SDK). After an open is selected (pressing '1' for example), a popup Terminal Error message appears :"IO Error! Bad file descriptor in nativeDrain"

##### Application Starts #####

SELECT the Operation from the Below Menu
###################### Menu Starts ########################
Press '1' to use NORMAL GPIO as an input (BTNU switch)
Press '2' to use EMIO as an input (BTNR switch)
Press any other key to Exit
##################### Menu Ends #########################
Selection : 1
Press Switch 'BTNU' push button on
Bad file descriptor in nativeDrain
board

I haven't found a resolution yet to the nativeDrain error. Has anyone encountered similar issues? I've tried this on two PC's (Win7), same result.

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

    It may be the Cypress UART-USB driver that is causing the problem. Originally the Cypress driver had a 'persistent mode' such that even though you powered down the ZedBoard it kept the connection to TerraTerm or Putty active and it would reconnect when you powered the board up again. This also helped for those applications that booted quickly and output to the terminal before you could set up TerraTerm or Putty. Then, at some point Cypress changed the driver to remove the persistent mode so that if you downloaded the driver later or if it was updated the persistent mode was lost.

     

    We have worked with Cypress and they have posted a new version of the driver that includes persistent mode again. We will be updating the ZedBoard documentation but I will outline the steps to get the new driver here for now:

     

    1. Connect the evaluation board’s Cypress UART-USB interface to the PC.

    2. Browse to the website: https://secure.cypress.com/?mpn=CY7C64225-28PVXC

    3. Scroll down to Technical Documents and download the "Microsoft Certified USB UART Driver" for your PC’s operating system. You should see a driver that was updated 25/11/2013.

    4. Download the driver and unzip the file.

    5. Unplug your USB UART device and then run "Setup.exe".

    6. Once the installation is done connect the USB UART back.

    To configure the persistent mode:

    7. Open up Windows Device Manager and make sure the device manger view is in "Device by Type" (Device Manager: View > "Device by type:)

    8. Locate the device type node called "Ports (COM & LPT)". Under this node locate "USB Serial Port (COM xx)". Double click on this device node. Under the "port settings" tab click the "Advanced" button.

    9. In the new pop up window check the "Enable Port Persist" box. Click OK and close property windows.

    10. Next serial port open operation should have the port persistence property enabled.

     

    -Gary

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

    It may be the Cypress UART-USB driver that is causing the problem. Originally the Cypress driver had a 'persistent mode' such that even though you powered down the ZedBoard it kept the connection to TerraTerm or Putty active and it would reconnect when you powered the board up again. This also helped for those applications that booted quickly and output to the terminal before you could set up TerraTerm or Putty. Then, at some point Cypress changed the driver to remove the persistent mode so that if you downloaded the driver later or if it was updated the persistent mode was lost.

     

    We have worked with Cypress and they have posted a new version of the driver that includes persistent mode again. We will be updating the ZedBoard documentation but I will outline the steps to get the new driver here for now:

     

    1. Connect the evaluation board’s Cypress UART-USB interface to the PC.

    2. Browse to the website: https://secure.cypress.com/?mpn=CY7C64225-28PVXC

    3. Scroll down to Technical Documents and download the "Microsoft Certified USB UART Driver" for your PC’s operating system. You should see a driver that was updated 25/11/2013.

    4. Download the driver and unzip the file.

    5. Unplug your USB UART device and then run "Setup.exe".

    6. Once the installation is done connect the USB UART back.

    To configure the persistent mode:

    7. Open up Windows Device Manager and make sure the device manger view is in "Device by Type" (Device Manager: View > "Device by type:)

    8. Locate the device type node called "Ports (COM & LPT)". Under this node locate "USB Serial Port (COM xx)". Double click on this device node. Under the "port settings" tab click the "Advanced" button.

    9. In the new pop up window check the "Enable Port Persist" box. Click OK and close property windows.

    10. Next serial port open operation should have the port persistence property enabled.

     

    -Gary

    • 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 Former Member

    Many thanks to TroutChaser :)

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

    hello,

    i tried all your recommendation, but still the same error 

    • 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