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 Porting QNX to Zedboard
  • 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 6 replies
  • Subscribers 329 subscribers
  • Views 828 views
  • Users 0 members are here
Related

Porting QNX to Zedboard

Former Member
Former Member over 10 years ago

I used the Xilinx zynq-702 QNX BSP to start the QNX in a zedboard. I couldn't get any booting information from the serial port. I modified the ps7_init function as same as the zedboard linux version but still no luck. Please let me know what are the other files need to be modified to start the zynq-702 BSP in zedboard.

Thanks
smark

  • Sign in to reply
  • Cancel
  • zedhed
    0 zedhed over 10 years ago

    Hi smark,

    I did some experiments here internally to demonstrate that QNX can run on MicroZed, the process should be similar for ZedBoard but as you have probably already noted there is currently no official BSP for either of these boards.  Are you working with an Xilinx/Avnet/Silica FAE for support on your project?

    Here is a summary of what I did to get QNX up on MicroZed:

    I replaced the Adeneo BSP ps7_init files with my ps7_init files, modified the Adeneo QNX IPL main.c to not call ps7_init since the FSBL already does this.

    I modified the build file from the folder /bsp-xilinx-zynq7000-zc702-src/src/hardware/startup/boards/xzynq/zc702/ in my project.  In there I needed to turn off I2C and CAN.  Also turned off DHCP and set the IP address to match my subnet so that I could do network testing. 

    One other thing to note is that I made a modification to /bsp-xilinx-zynq7000-zc702-src/src/hardware/devnp/xzynq/control.c to remove code which reads the ZC702 boards I2C EEPROM to load the MAC address (as that EEPROM does not exist on MicroZed or ZedBoard hardware). 

    I rebuilt the QNX code with the Momentics IDE.

    I modified the Adeneo boot.bif file to use my FSBL and added the Zynq bit file, then used the mkflashimage script from QNX to create BOOT.bin and QNX_IFS.

    I copied BOOT.bin and QNX_IFS to the MicroZed SD card and selected the SD card boot option from the IPL menu.

    Regards,

    -Kevin

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

    Hi Kevin,

    Thanks for the usefull information. I updated the FSBL and it started booting up. I fixed all other problems and its working fine now.

    Thanks
    Mark

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

    Hi Kevin,

    I just found your description of how you managed to get QNX6 booting on the MicroZed board.

    I am a complete novice when it comes to the MicroZed and non-x86 architectures. Not so I guess with QNX as I have been using it for over 25 years. I have a QNX6.5.0 (SP1) development seat and am stopping there for the time being as I need Photon, and see no good reason to advance. Just yet... that may change down the track.

    I am hoping to get QNX6.5.0 running on my MicroZed board while on the so called "Christmas Break" and slow period.

    Can you elaborate a bit more on what you did to build a bootable image please? I am unfamiliar with things like "ps7_init" files - Adeneo or anyone else's! I tried to use the BSP available on the QNX website for the Zynq7000 ZC706 but can't get it to work with the MicroZed. Specifically, I couldn't get it to output any debug info - there not being a serial port as such. I gather that this BSP formed the basis of your working image so I am about to revisit it.

    Any help you can provide me, as (again) a complete novice with this new technology and ARM Cortex-A9 architecture would be much appreciated!

    Once I have QNX installed and working, I can then (I think/hope) turn my attention to this fascinating FPGA technology!

    Thanks,

    Geoff.


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

    I meant ZC702...

    Still haven't worked out what the "ps7_init" files are.

    Geoff.

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

    OK, Kevin. I downloaded from the QNX website the ZC702 BSP and managed to install it again (on a Windows 7 system that has Momentics 6.5.0SP1 installed). I grabbed the bootgen file from the previous installation - I can't remember where I originally got that from.

    As best I could I followed your guidelines as listed above. Please remember that I am new to this and I am unfamiliar with some of the terminology, files and procedures.

    I didn't replace the ps7_init file in the BSP as I didn't know what to replace it with. However I did find the call to ps7_init() in the IPL main.c file so I commented it out along with the relevant #include to the header file.

    I commented out the I2C and CAN calls in the build file. I also commented out the  dhcp.client call, replacing it with ifconfig xzync0 192.168.1.9

    I found the file control.c and commented out the contents of the function that writes the MAC address. I presumed that that was what your "modification" was. So how is the MAC address determined anyway?

    I didn't modify the boot.bif file to use another FSBL as I don't have another FSBL file to use. And I don't know what the "Zync bit file" is.

    I was able to run make and mkflashimage (from the command line) but mkflashimage didn't like the bootgen call. So I executed that manually and it seemed happy - it produced the new BOOT.bin and QNX-IFS files (verified by the timestamps)

    I ensured that the micro SD was formatted to FAT32 and copied the files to it - BOOT.bin first and then QNX-IFS.

    I changed the boot jumpers to "SD card" (JP's 1 & 2 pins 1-2 and JP3 between pins 2-3) and inserted the SD card. On powering up by connecting the micro USB cable, guess what??

    It didn't work.

    So I guess I need initially to know how I can get some debug information out of this thing. I am using Putty on COM7 to try and talk to it as I did with the default Linux installation but Putty won't start the terminal without power applied. And once it's started and THEN connected, there is no output to the terminal. I presume the default baudrate for devc-serxzync is 57600? (Can't find any documentation for it). Or should I be using some other serial driver (devc-serusb???).

    Suffice to say, a ping of 192.168.1.9 doesn't return anything.

    So I am obviously doing something wrong. Trouble is, I have no idea where.

    Help please.

    Regards,

    Geoff.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • zedhed
    0 zedhed over 10 years ago

    Hi Geoff,

    As far as I can tell from the steps you described, it sounds like you are on the right track.

    I guess the one matter that I completely glossed over is the one that Mark pointed out.  You will need to create a Zynq FSBL to match the MicroZed hardware platform settings from the Vivado tools that get exported to SDK and then built into the First Stage Boot Loader (FSBL).  The FSBL is the executable that initializes the Zynq hardware prior to loading the QNX IPL.  Those hardware configuration files are the ps7_init files that are automatically generated by the Xilinx tools to match the hardware platform settings.

    If you are using the zynq_fsbl_0.elf in the bsp-xilinx-zynq7000-zc702-src/images folder then that has the settings for the Xilinx ZC702 board which will not match your MicroZed.

    On my MicroZed, the baud rate is set to 115200 but the IPL loads to fast to catch it on the terminal so you may have to hit the reset button to catch something coming across the terminal.

    Regards,

    -Kevin

    • 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