Audio / Camera Driver - FriendlyARM Mini2440 - s3c2440 - audio

I am a newbie to embedded linux and am keen on learning to write device drivers. I have got a FriendlyARM Mini2440 board with me.
Please suggest which device driver would be easier to start learning - Audio or Camera or something else?
Need suggestions from experts.
Thanks a lot!

Between those 2, I would say that a camera driver would be simpler. Audio drivers in Linux are more complex than most other drivers, and there seems to not be very much documentation on writing them.
Have you read Linux Device Drivers by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman? That is probably the best way to start.
I'd recommend starting with serial, flash, or ethernet drivers, in that order. Those are common, the code is straightforward, and there's good documentation and examples for them.

Related

Easiest driver for a Linux Device Driver newbie

I am new in Linux Device Driver Field. Can anybody tell which driver will be easier for me to understand among Audio drivers, Video Drivers, Camera Drivers, Power Management Drivers or Boot-loders? Please suggest me the driver which will be easy for a newbie. If you can suggest any good source for the same (not book...any online material if available) it would be great. :)
You should start by studying the basics of Loadable Kernel Modules.
First few chapters of LKMPG by Salzman will be a good start
And the easiest driver, IMHO, is a simpleton driver that uses memory as a device and reads/write to it. One such driver is beautifully explained in third chapter of LDD3e.
You would also need to increase your knowledge of the Linux Kernel itself in order to advance towards relatively hard drivers. The better you understand Kernel's subsystems the easier it will be for you to develop device drivers around them.

How to implement mouse drivers Linux USB mouse driver?

I need to control mouse pointer of my computer screen using an external device.I just know i have to write a device driver for that device. It's a usb device.
Can anyone tell me how should i approach this problem ?
What are the modules and algorithms will be required for this?
I ll appreciate if you can provide some reference material?
Sorry for such trivial questions but am a newbie in Linux device driver area.
As guidance given by Mr. Stark which is essential before writing a module. As far as the problem of usb mouse driver you can check the following link. For the unknown USB device you can refer this link.
More links for usb mouse driver : link1 link2
Read Linux Device Drivers which tells you everything you need to know. Linux includes a USB mouse driver (I'm using one right now) which should be a good reference.
First, it can be useful to take a look to Linux USB. See writing USB device drivers.

Build ADC Core Audio Compliant USB or Firewire

I'm looking for documentation on how to build an ADC Core Audio compliant to connect to a mac USB or Firewire. All I've been finding is info on how to deal with Core audio on programing the computer side.
I need info on how to make audio hardware Core Audio compliant.
Can anyone send me the right direction?
This a nice solution. It does all the hard work for you. If you have even basic hardware engineering experience this should get you on your way. This chip will work great. Very few external components needed.
http://www.silabs.com/products/interface/usbtouart/Pages/usb-to-i2s-digital-audio-bridge.aspx

Streaming audio to a "speaker server" in linux

Is there a way to stream all audio from a laptop (which has low quality speakers) to a desktop with much better speakers in linux (on both computers)? I think that this would have to be a kernel driver, since it would have to fit under the alsa system to make it application transparent.
Thanks,
Andrew
Pulseaudio has network support, and it is the only way I know of to do low-level sound device streaming.

Adobe AIR 1.5 Sandbox + Motherboard Speaker

I'm curious if through AIR you could access your motherboard pc speaker?
It's for an Alarm Type of program and would like pitch control so more than a simple beep. Can this be accomplished through AIR?
Or if not in any web-based framework for that matter? Seems a bit tricky so I'd love to know if anyone has a solution. Thanks!
I've looked into it and I don't think it's possible. AIR runs at an application level, and although some system resources are available, most aren't.

Resources