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
Ultrazed Hardware Design DMA Kernel panics
  • 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 Verified Answer
  • Replies 15 replies
  • Subscribers 328 subscribers
  • Views 1546 views
  • Users 0 members are here
Related

DMA Kernel panics

Former Member
Former Member over 8 years ago

Hi,

over the past few days, I desperately tried to build my own bootloader kernel etc. without using Petalinux, because I already have my own ecosystem based on Yocto and meta-xilinx.

I started with all git HEADs for U-Boot, ATF and the Linux kernel and wanted to use U-Boot as an SPL. Which didn't work at all, because the newest git HEAD of U-Boot actually needs a PMU firmware in version 0.3 which is nowhere to be found. That's very annoying!

So I fell back to older releases of all the components which were 2016.4. I managed to get a fully working FSBL, U-Boot 2016.4 with ATF and Linux 2016.4. When including the PMU firmware in the boot image, the 4.6 kernel breaks because the SD-Card controller fails to initialize. It works without loading a custom PMU firmware. I can't use the current 4.9 kernel, because this in turn needs a PMU firmware with version 0.3. AAAHHH!

Okay, back to kernel 4.6 without a PMU firmware then. It booted up into my userland and I was quite happy. But after a while of using the system on this kernel, I get a bunch of kernel panics caused from different DMA operations happening in different components. Sometimes the SD-Card fails, sometimes the MACB NIC driver. Even the slightest bit of load on the network card causes a fatal kernel panic in the interrupt context.

Then I tried Petalinux 2016.4. I can't get this to work properly either. First the U-Boot complained about a messed up memory config in the device tree (https://www.xilinx.com/support/answers/68390.html) which I eventually managed to fix by editing the correct dts file which doesn't get overwritten by the generation tools. But then I can't properly boot the system, because the U-Boot confuses the first SHDC controller with the second one. Even though I boot from the external card, it always wants to load the kernel from the eMMC.

I basically gave up for now. Is there *any* combination of compoenents that work at all on this chip and which do not immediately crash?

  • Sign in to reply
  • Cancel

Top Replies

  • Former Member
    Former Member over 8 years ago in reply to tchoyt +1
    I have a patch for u-boot-xlnx and linux-xlnx which adds device trees and other support for the Ultrazed on an IOCC. I reenabled a bunch of peripherals like the eMMC, QSPI and I2C1 in your FPGA image to…
Parents
  • tchoyt
    0 tchoyt over 8 years ago

    So I did more testing on USB host mode and it seems like it always negotiates down to 2.0 mode even with 3.0 devices. The 3.0 host controller is visible in Linux but doesn't appear to be working.


    This could be a clocking issue with the 3.0 transceivers, I'll try replicating the clock settings from the ZCU102 like you suggested and see if that helps.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • tchoyt
    0 tchoyt over 8 years ago

    So I did more testing on USB host mode and it seems like it always negotiates down to 2.0 mode even with 3.0 devices. The 3.0 host controller is visible in Linux but doesn't appear to be working.


    This could be a clocking issue with the 3.0 transceivers, I'll try replicating the clock settings from the ZCU102 like you suggested and see if that helps.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • 100jwilly
    0 100jwilly over 8 years ago in reply to tchoyt

    Regarding DMA problem.

    I ams using Vivado 2016.4/Xilinx U-boot/ Xilinx Linux kernel/Ubuntu 16.04

    Added uEnv.txt to boot partition with these options.

    bootargs=earlycon clk mem=1G clk_ignore_unused

    The DMA bus fault is due to DMA transfers outside of kernel memory region.

    This appears to be stable. I have been running this for a while and can apt-get install packages without DMA bus faults.

    • 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