Hi all,
I guess you might be interested.
In cooperation with Advanced Research and Competency Developement
Institute, we are organizing a seminar on embedded linux. Quick info:
Course Name: Fundamentals of Embedded Linux
Schedule: 22-24, 30-31 July 2004
Course Fee: PHP 17,000
Place: Lower Ground Floor of Informatics
International College Building, Indo-China Drive,
Northgate Cyberzone, Alabang, Muntinlupa City
Lecturers: Rowel Atienza and Manuel Ramos
Below is the course desciption.
For reservations please contact Ms. Christina Bautista with email address:
[EMAIL PROTECTED], cc: Ms. Edith del Rosario with email address:
[EMAIL PROTECTED] or fax to SEIPI office at 844-9037 on or before 12 July
2004. Please make all check payments payable to ADVANCED RESEARCH AND
COMPETENCY DEVELOPMENT INSTITUTE, INC.
thanks,
rowel
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx
Fundamentals of Embedded Linux
July 2004, Advanced Research and Competency Development
Institute, Inc.
Course Description
The five-day course covers the key components needed in
building Linux for embedded systems. The coverage
includes the Linux OS environment, cross-development
tools, kernel, root filesystem, memory technology
devices (MTD), bootloader and network services. At the
end of the course, each participant is expected to
build his/her own bootable single floppy disk Linux
system for a PC with common network services (e.g.
telnet and web servers).
Overview
The worldwide trend to shift the development of
embedded systems to a highly scalable, well-supported
and reliable open-source operating system, Linux, has
created a huge demand for developers in embedded Linux.
Fundamentals of Embedded Linux, the first in the three
key modules, will arm engineers and programmers with a
well-rounded understanding of how to customize Linux to
a target hardware. Seven experiments will equip the
participants with hands-on experience to understand key
components of an embedded Linux system.
Objectives
* To give examples of real-world consumer products
built on embedded Linux
* To understand key components of an embedded Linux system
* To learn how to build a customized Linux for a target hardware
* To gain basic understanding of licensing issues in
using open-source software
Who Should Attend
Engineers, programmers, instructors and students with
knowledge on software/hardware design and C language.
Course Materials
A CD and a printed copy of lecture notes and
experiments will be provided in advance. The CD
contains example source codes used in the lecture and
experiments and open-source tools, utilities and
software targeted for embedded Linux. Each participant
will be provided with a Linux PC for the hands-on experiment.
Course Outline
Day 1: Overview of Embedded Linux
* Motivation in using Linux for embedded system design.
Examples of consumer products built on embedded
Linux. Overview of embedded systems (cpu, memory,
i/o, bus, real-time vs non-real-time, etc.). Basic
understanding of licensing issues (GPL, LGPL, BSD,
Mozilla, etc.). 1hr.
Day 1: Linux OS Environment
* Linux distributions for embedded systems
(redhat/fedora, debian, montavista, etc.). Boot
process (bootloader, kernel, init, rc, daemons,
shell, X, login, security, etc. ), files,
directories, devices, filesystem, commands, services,
text editor (vi), shell scripting (sh, sed, awk). 3hrs.
* Experiment 1: vi and shell scripting. 4hrs.
Day 2: Development Tools and Kernel
* GNU Cross-Platform Toolchain, binutils (ar, strip,
objdump, etc.), compiler (gnu gcc/g++), C library
(glibc, uClibc). 2hrs.
* Experiment 2: Building your own development tools. 4hrs.
* Kernel configuration, build process and installation. 2hrs.
Day 3: Kernel and Root Filesystem
* Experiment 3: Kernel configuration, build process and
installation. 2hrs.
* Root filesystem structure, C library, kernel modules
and image, device files, systems applications
(busybox, tinylogin), system initialization (init). 2hrs.
* Experiment 4: Building a root filesystem-putting
everything together to build a single-floppy Linux. 4hrs.
Day 4: Network Services
* Network services: inetd, xinetd, snmp, telnet, http,
dhcp, ssh. 3hrs.
* Experiment 5: Setting up telnet and web servers in
the single floppy Linux. 4hrs.
Day 5: Memory Technology Devices
* Flash, DoC, CompactFlash, floppy disk, hard disk,
filesystem (ext2, ext3, jffs2, cramfs, minix, etc.). 2hrs.
* Experiment 6: Building different filesystems on a
floppy disk/USB flash. 2hrs.
Day 5: Bootloader
* Lilo, grub, network boot (tftp and nfs). 2hrs.
* Experiment 7: Adding a bootloader in the single
floppy Linux. 2hrs.
Lecturers:
Rowel O. Atienza: Currently, a Ph.D. (Systems
Engineering) candidate at the Australian National
University. He claims to have developed the world's
first active gaze tracking system and the algorithm for
determining the precise 3D location of an object a
person is looking at. He holds a MEng (1998) from the
National University of Singapore where he worked on a
walking algorithm for a four-legged robot. Rowel
obtained his BSEE (1993- cum laude) from the University
of the Philippines-Diliman. He honed his experience in
Linux in the field of robotics and computer vision and
from more than 3 years of work as a UNIX/Linux systems
administrator at ANU. Rowel is currently an Assistant
Professor at UP-Diliman Dept. of Electrical and
Electronics Engineering and an embedded Linux
consultant at Eazix Inc. He has published several
international conference papers and a journal paper in
the field of fuzzy logic, robotics and multimodal
interfaces. Contact him at: [EMAIL PROTECTED]
Manuel C. Ramos Jr.: Currently an Associate Professor
at the Department of Electrical and Electronics
Engineering of the University of the
Philippines-Diliman. He obtained his Ph.D. and M.S.
degrees from Purdue University, and his BSEE degree
from the University of the Philippines. His research
interests include robotics and control. Contact him at:
[EMAIL PROTECTED]
Other Embedded Linux Modules:
Linux Systems Programming: The course is designed to
train each participant to develop his/her own
application programs in Linux. Topics include:
development environment (gnu C/C++ compiler, makefile,
binutils, debugger), processes (fork and its variants),
i/o (select, poll), files and directories, signals,
time and timers, Posix threads, critical sections and
semaphores, mutex, basic network programming (tcp/ip
client-server), X toolkit programming (Xt/fltk on X11
and/or flnx on microwindows). Pre-requisite: C but
topics in X toolkit programming may require some
knowledge of C++
Linux Device Driver: The course is designed to train
each participant in Linux device driver programming. At
the end of the course each participant will gain
sufficient skills to develop drivers for pci and usb
devices. Topics include: overview (kernel structure,
classes of devices, etc.), basic utilities (modprobe,
insmod, lsmod, rmmod, dmesg, etc.), portable data
types, char device (open, close, read and write
capabilities), debugger, enhanced char device (blocking
i/o, poll, select and ioctl capabilities), resource
management, kernel level time and timers, basic memory
management (kmalloc, vmalloc, ioremap, etc.), i/o ports
and memory ports, interrupt handling, advance memory
management (mmap, kiobuf, dma), pci and usb device
drivers, block and network devices. Pre-requisite: C
--
Philippine Linux Users' Group (PLUG) Mailing List
[EMAIL PROTECTED] (#PLUG @ irc.free.net.ph)
Official Website: http://plug.linux.org.ph
Searchable Archives: http://marc.free.net.ph
.
To leave, go to http://lists.q-linux.com/mailman/listinfo/plug
.
Are you a Linux newbie? To join the newbie list, go to
http://lists.q-linux.com/mailman/listinfo/ph-linux-newbie