Here are a few hints which I figured out myself while writing a Windows driver. Setting up the Environment Install Visual Studio 2019 Community Edition, select C++ workload Install Windows Driver Kit (WDK) This tutorial explains how to provision the target computer for kernel mode debugging. Here is the summary: […]
Quick Hints
tl;dr : If you are an angry Windows alien using Linux, you will need these commands. I assume it is just as frustrating for a Linux user to use Windows and vice versa. I am a Windows user who has to use Linux occasionally. I am no stranger to the command […]
Well, here is the short story: RF Spectrum Analyzers display the result in dBm, whereas noise specifications are often given in nV/sqrt(Hz). So, all we need is a conversion between those units, right? If you just want the answer, here it is: RF Power Noise Density [dBm] [nV/sqrt(Hz)] -80 223 […]
In the post ZYNQ: Read a WAV File from SD-Card and Play it on the Audio Codec we started using the SD card. Everything worked fine as long as I didn’t change the SD cards. I found that it is related to the fact that I was switching between a regular (ancient) […]
It happened to me a few times that the Xilinx SDK did not properly update the Board Support Package (BSP). In fact, I found that the BSP is corrupt in some way. But luckily, it is easy to rebuild it. The symptom xparameters.h does not contain the necessary macros for […]
It happened to me when I wanted to read from SD card while being in an interrupt handler. Whenever I read something from the SD card, the local variables of main() got destroyed. The root cause: There was a stack overflow of the IRQ Stack which then “leaked” into the […]
If you debug a standalone C- or C++ application, by default you can’t step into the Board Support Package (BSP) code. Here is how you enable debugging for the BSP sources: Turn optimizations off (-O0) and turn on the debug information (-g3). Right-click on the BSP project and click “Board […]
I often want to read a single character from the UART or stdin. By default getchar() buffers all input until a RETURN character occurs. Here are two ways to handle this: You can turn off the buffering on the stdin stream: Or you just don’t use getchar() at all. Use […]
Suppose, you wrote your C- or C++ standalone application using the Xilinx SDK. Now you want to write it to an SD-card and boot from the SD-card. Here is how it’s done: Make sure that your board-support package has the FAT File System drivers included: Create the First Level Bootloader […]
When exporting the hardware to the Xilinx SDK (I am using 2017.2), the SDK automatically updates the system wrapper. Unfortunately it messes up the UART settings most of the time. Sometimes it does not compile anymore, sometimes it compiles but there is no output in Tera Term. The solution is […]
Can’t figure out why you can’t use cos, sin or pow functions in a Xilinx SDK project? I found it surprisingly obscure as well. A solution is described here. Here are some screenshots:
Getting started with the ZYNQ, all I wanted was running a simple Blinki code in Verilog. This turned out to be much more complicated than I thought. Most tutorials show you how to write your Verilog code, how to write your C-Code and how to execute everything once finished. While […]