We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 65970

2015.4 SDK - Zynq UltraScale+ MPSoC: usleep() implementation in the BSP assumes a 50MHz clock


usleep() implementation in the BSP assumes a 50MHz clock result in an error on the sleep time.

It also programs the LPD SWDT to divide down the assumed 50MHz clock and counts down the sleep based on reads from the timer value, i.e. it does not treat the timer as read-only. 

This causes issues if multiple BSPs are running concurrently, (for example, on the two R5s), one BSP can be counting down a sleep value while the other one programs it, thereby invalidating the first sleep.


This issue will be fixed in the 2016.1 release of Vivado Design Suite.

AR# 65970
Date Created 11/13/2015
Last Updated 12/03/2015
Status Active
Type General Article
  • Zynq UltraScale+ MPSoC
  • Vivado Design Suite - 2015.4