The purpose of this project is to show the system architecture, where to download the source code of the modified linux kernel project and Quartus project, and how to recompile the Linux kernel by using the Altera SoC tool-chain.

Video

Introduction

This project utilizes the Terasic Muti-touch LCD (MTL) Module to add an LCD touch screen to the Altera SOC board DE1-SoC. This project allows you to boot linux with the penguin on the LCD screen and run X windows. Also it allows you to use the touch-panel on the MTL as input devices.

The pre-compiled Linux image file is available on the web: http://cd-de1-soc-mtl.terasic.com
To support touch and display functions, we need to modify the linux kernel and Quartus project based on Altera SoC GHRD (Golden
Hardware Reference Design). The purpose of this project is to show the system architecture, where to download the source code of the
modified linux kernel project and Quartus project, and how to recompile the Linux kernel by using the Altera SoC tool-chain.

System Architecture

The figure below shows the system architecture of DE1-SoC-MTL. Over the FPGA side, Altera VIP (video and Image Processing) suite is used to design LCD displayer controller, and Terasic touch-screen controller is used to control touch-screen. In this Linux kernel, a framebuffer driver is designed for LCD display and touch-screen driver is designed for touch-screen panel. Please click here to download the quartus project file for FPGA.

Compile Linux Kernel

This section describe how to recompile the linux kernel for this touch-scree LCD project for Altera SoC.

Requirements

To recompile the linux kernel, the following items are required.
  1. SOC EDS 13.1 for compiling linux kernel
  2. Linux kernel source code which is available on: https://github.com/coliby/terasic_MTL
  3. DE1-SoC Board + "Multi-touch LCD (MTL) Module": http:/mtl.terasic.com or "DE1-SoC-MTL":http:/de1-soc-mtl.terasic.com

Kernel Changes Summary

The linux kernel is developed based on Altera Soc Linxu 3.12. Below shows the modification list.
  1. Add a frame buffer driver
    1. drivers/video/altfb.c
  2. Add a touch driver
    1. drivers/input/touchscreen/mtl_touch.c
  3. Modify the device tree file for Cyclone V SoCFPGA
    1. arch/arm/boot/dts/socfpga_cyclone5.dts

Recompile linux kernel

The kernel source code is availble at https://github.com/coliby/terasic_MTL. Below shows the procedure how to get the source code and recompile it.

#clone the source from github
git clone https://github.com/coliby/terasic_MTL.git

#go into the 'terasic_MTL' directory
cd terasic_MTL

#setup build environment
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export LOADADDR=0x8000

#import default config
make socfpga_defconfig

#make a new uImage
make uImage

#build the device tree
#You need this device tree to get the drivers to work!
make socfpga_cyclone5.dtb

Demo (DE1-SoC + MTL)

*if the film is unavailable, please kindly try another link below:
http://www.youtube.com/watch?v=xBLu_4tuVR4

© 1999-2024 RocketBoards.org by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

Privacy Policy - Terms Of Use

This website is using cookies. More info. That's Fine