Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in our knowledge base article
Transcript of CS589
Professor: Bin, Cong
CPSC 589 Seminar Linux Device Driver Development Embedded system. A Tiny, Linux based COM (computer-on-module) with ARM Cortex-A8 Processor, 3D graphics acceleration, Bluetooth, 802.11(b/g) wireless communications, along with an expansion board to add Ethernet, USB Host & OTG, Stereo Audio and a 4.3" touch screen LCD display. What's Involved? Why Focused On WiFi? Project Topics: CPSC 589 Seminar
Professor: Bin, Cong
CWID: 898240221 The main goal of this project is to
- Learn what a driver is
- Learn main features of driver
- Learn Low-Level Programming
- Know how to implement a driver for Linux
- Know how to integrate driver into the
operating system Project Goals Challenges EDA News - electronic design automation, semiconductor
Gumstix Developer Center
Linux Journal issue#48
Airborne Wi-Fi Embedded Modules
Linux Device Drivers, by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman
Embedded Linux driver development by Free Electrons
FreeOS.com http://www.freeos.com Reference: Hardware What's Involved? Software In order to communicate with the device, and further to configure it, a Linux based machine would be suitable. I used Ubuntu 11.10 as my development environment, however, any similar Linux distribution will suffice.
There is a terminal program called "C-Kermit" developed by Columbia University. It's essential to have this terminal program because all communications between development machine and embedded system are relied on it. Linux Device Linux Device Driver Development?
What's involved? Hardware/Software
Why focused on Wi-Fi?
Wi-Fi + Embedded System?
Challenges? Any Question/Comment? Driver Development Kernel space.
Linux (which is a kernel) manages the machine's hardware in a simple and efficient manner, offering user a simple and uniform programming interface. The kernel, and its device drivers, forms a bridge or interface between the end-user/programmer and the hardware. Any subroutines or functions forming part of the kernel (modules and device drivers) are considered to be part of the kernel space. WiFi+Embedded System Increasingly in the last few years, embedded Wi-Fi modules have become available to incorporate a real-time operating system and provide wireless with any device which has a serial port.
Embedded system with Wi-Fi Module integrates WiFi technology into hand-held devices used in industrial, medical, surveillance, telematics, and mobile enterprise applications.
An example is portable Electrocardiography (ECG) device which can monitor a patient's electrical activity of the heart over a period of time. The ECG module collects user data, and communicate with remote data center while Wi-Fi connection is available. 1. Wi-Fi has become an indispensable part of our life. According to the
Wi-Fi Alliance, the technology has been incorporated into more than
600 million devices, worldwide.
2. "If you build it, they will come" Strong standards and technology
advances are providing steady growth in demanding plug-and-play,
interoperable Wi-Fi products.
3. The Market is here! According to ABI Research, Wi-Fi connections in
consumer electronics devices will rise from 113 million in 2008 to
more than 285 million by 2012.
4. For proﬁt (Both Wi-Fi and Linux are hot right now, especially Wi-Fi
enabled embedded Linux) The first thing a programmer must know before attempting
to write a driver, is to understand the Linux Kernel, to
know how the Linux kernel source compiles, and the
Second, knowledge of "Low-Level Programming" is
required in order to access the hardware interface provided
through low-memory addressing.
Driver Integration in the Kernel
The task of integrating the driver into the kernel includes
insertion, compilation and kernel calls. Linux Device Driver Development Device Drivers.
A device driver is a collection of subroutines and data within the kernel space that
constitutes software interface to an I/O device. When the kernel recognizes that a particular action is required from the device, it calls the appropriate driver routine, which passes control from the user process to
the driver routine. Control is returned to the user process when the driver routine
has completed. A device driver may be shared simultaneously by user applications and must be protected to ensure its own integrity.