background preloader

Linux

Facebook Twitter

CS 686. Embedded Linux Experts - Free Electrons. Porting device drivers to the 2.6 kernel. The 2.6 kernel contains a long list of changes which affect device driver writers.

Porting device drivers to the 2.6 kernel

As part of the task of porting the Linux Device Drivers sample code to 2.6, your humble LWN Kernel Page author is producing a set of articles describing the changes which must be made. The articles are Kernel Page as they are written; they will also be collected here. With luck, this page will be a useful reference for those who must port drivers to the new kernel. The creation of these articles is funded by LWN.net subscribers. If you find this material useful, please consider subscribing to LWN to help ensure that more of it gets written. Except when otherwise specified, all of the articles below are written by LWN editor Jonathan Corbet.

Recent changes The most recent changes to this series are: (April 28, 2004) The Workqueue Interface updated to include create_singlethread_workqueue(), which was merged in 2.6.6. Getting started Support interfaces Sleeping and mutual exclusion Advanced driver tasks. Linux Device Drivers, 2nd Edition: Online Book. Writing device drivers in Linux: A brief tutorial. Linux on Microblaze HOWTO (part I) This is part I of my HOWTO on running Linux on Microblaze.

Linux on Microblaze HOWTO (part I)

The outline is as follows: Introduction This HOWTO goes through the procedures for getting a simple Linux system running on a Xilinx Microblaze processor. The examples are given for an SP605 evaluation board, but almost everything here applies for other FPGAs and boards as well. The Xilinx software version used here is 13.2. There are quite a few variants on how to get the bitstream and Linux kernel into their right places in the FPGA. The root filesystem is mounted from network (NFS) in this HOWTO. I’m assuming the following prerequisites: An outline of the steps So this is what we’ll do: And of course, certain software tools will need to be downloaded for this. Setting up the processor If you’re really lazy about this, you can use the minimal processor I’ve generated for the SP605 board. Otherwise: Start Platform Studio (EDK) and create a new platform, based upon the Wizard’s defaults. Starting off with the Wizard’s defaults, Linux for Xilinx MicroBlaze on ML605 - Michael LeMay.

Introduction There are a variety of tutorials explaining how to run Linux on a Xilinx MicroBlaze soft-core processor, but none of them fully satisfied my needs.

Linux for Xilinx MicroBlaze on ML605 - Michael LeMay

My objective was to configure the Xilinx ML605 evaluation kit with a MicroBlaze processor on an AXI4 little-endian interconnect and boot Linux on it as quickly and simply as possible. However, I am grateful for all of the guidance that those other tutorials provided to me along the way, and I have listed some of my favorites here: This post is simply an account of what I remember doing to accomplish my objective and may be incomplete and/or incorrect.

Please feel free to contact me if you discover errors. Prerequisites Connect your development system to the UART and JTAG ports on the ML605 using the USB cables in the kit.Power up the ML605. Setup the JTAG Cable Driver For some reason, the Xilinx tools crash when they attempt to access the JTAG cable. Create the Hardware Design Build the Device Tree Board Support Package. Running Linux on Microblaze Processor Part 1. This article is just a bunch of notes for myself. I found a lot of articles on the internet but at times they were confusing. I got the job done using the resources from the internet and Xilinx website, thanks to those fellows. In the meantime, I jotted down the steps that worked for me. At the end of this article I have given the references to the articles from where I have prepared this article, I’d advise you to go through those articles too.

Introduction This article enumerates the steps necessary to port a minimal Linux kernel on microblaze soft core processor. You should have access to a machine running Linux since compiling the kernel will require this. Outline of the steps The main steps are: Throughout the article I will be using the following directory hierarchy.