ARM running Linux talking easily with a Xilinx FPGA

Unless your embedded application happens to be a router, there’s some application-dependent electronics you need to talk with. If some SoC device covers your needs, that’s always nice, but what about that specific piece of electronics? And what if your application includes a part that needs to be run on an FPGA? Making a processor [...]

Armadeus APF51 / Freescale i.MX51: A kit for reverse engineering the EIM bus

What we have here As one can guess from my notes about the i.MX51′s external bus and the oscilloscope shots I’ve published, I made myself a small dissection kit for watching the bus’ lines activity with a digital oscilloscope. This is a good time to mention, that the kit was done quickly and dirty, so [...]

i.MX51 EIM bus clarified

These are my notes as I made my way in grasping how the EIM bus works. Unfortunately, the information in the reference manual was far from complete, so except for the list of acronyms, this page consists of things I found out by reverse engineering the bus. The actual bus cycle outlines and timings are [...]

The FPGA+ARM Armadeus APF51 board: Buildroot notes

Scope This post was spun off the main post regarding setting up the Armadeus board for Embedded Linux on ARM and Xilinx Spartan-6 FPGA. It covers my own little war story as I set up the Buildroot SDK, so I could have my own cross compiler and Linux kernel to work with. As kernel.org happened [...]

The FPGA+ARM Armadeus APF51 board: Setup notes

Scope I got myself an Armadeus APF51 board for some work combining a fullblown ARM processor running embedded Linux with a recent Xilinx FPGA. I wrote down some setup notes for possibly future need while setting it up for work, and they are below. There is not really something undocumented here, but it’s more convenient [...]

Linux on Microblaze HOWTO (part III)

This is part III of my HOWTO on running Linux on Microblaze. The outline is as follows: Part I: Introduction and setting up the Microblaze processor Part II: Compiling the kernel Part III: Preparing for boot and booting (this page) Part IV: Compiling user space applications Generating the ACE file The ACE file is what [...]

Linux on Microblaze HOWTO (part II)

This is part II of my HOWTO on running Linux on Microblaze. The outline is as follows: Part I: Introduction and setting up the Microblaze processor Part II: Compiling the kernel (this page) Part III: Preparing for boot and booting Part IV: Compiling user space applications Kernel compilation in general Compiling a Linux kernel traditionally [...]

Linux on Microblaze HOWTO (part I)

This is part I of my HOWTO on running Linux on Microblaze. The outline is as follows: Part I: Introduction and setting up the Microblaze processor (this page) Part II: Compiling the kernel Part III: Preparing for boot and booting Part IV: Compiling user space applications Introduction This HOWTO goes through the procedures for getting [...]

The Device Tree for embedded Linux and Xilinx FPGAs

Spoiler It’s very likely that you don’t need to read this. If all you want is to get a Linux kernel to detect a Microblaze processor on an Xilinx FPGA, the relevant information is in another post of mine. This post goes into the details which are necessary to understand, if you want to write [...]

The Xilinx EDK “update bitstream” process: A closer look

Introduction The Xilinx Platform Studio (EDK) has this “update bitstream” function, which I wasn’t so clear about, despite its documentation page. Its icon says “BRAM INIT” which turns out to be more accurate than expected. So what happens during this process? When is it necessary? If you’re into running a Linux kernel, you’re most likely [...]