I2C Driver in Linux [closed] - linux-kernel

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I am aware of I2C in a very basic level which relies inside linux kernel, but no clue to implement a basic I2C driver.
Trying to moving for a start in I2C device driver.
could you please suggest any beginner tutorial with source code mapping !!

linux-source/Documentation/i2c/ has lot of the information you'd need. .../writing-clients.txt is a good place to start.
Have a look at the online version:
https://www.kernel.org/doc/Documentation/i2c/writing-clients
There is an okay sort of a tutorial at:
http://renjucnair.blogspot.ca/2012/01/writing-i2c-client-driver.html
Here is a good commentary on someone writing an i2c driver and has a tutorial feel to it:
http://www.embedded-bits.co.uk/2009/i2c-in-the-2632-linux-kernel/
Here is some sample code:
http://code.google.com/p/ldd-templates/source/browse/drivers/i2c/sample-i2c-client.c

I2C driver is implemented as a platform driver in linux kernel.So first you need to understand the linux model for platform devices.
Please go through below documentation under linux kernel for platform devices:
https://www.kernel.org/doc/Documentation/driver-model/platform.txt
You also need to understand the bus structure under linux kernel.Please refer to the below link:
http://www.mjmwired.net/kernel/Documentation/driver-model/bus.txt
Now you can google for I2C drivers and further study.

Have a look at the smbus modules available for many programming languages...then write the driver for your i2c device around that.

Related

How do I start with writing Windows minifilter drivers ? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I want to use windows miniFilter in my project.
I have seen the Microsoft documentation, but it seemed very hard to understand.
I have also read the GitHub examples for miniFilters, but they don't provide explanation for everything, as I want to understand what I write and not just copy and paste. Is there any beginner friendly site that can help me learn more ?
There are not a lot of great resources for getting started on this - no real tutorials or anything. The best sources are the Windows driver samples. Start with a simple one like filesys\miniFilter\nullFilter and then move up to filesys\miniFilter\passThrough to get you started. OSROnline is also a really great resource. And (shameless plug here) I have written a short, 4-part blog post on writing a register filter driver that starts pretty basic.

How do I work with Apple OSX API with Delphi? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I am confused regarding how to know what to do in order to utilize the OSX API to do whatever I want my app to do.
For example, I'd like to work with USB devices, where can I find info regarding that?
I have asked previously regarding just that, USB devices, but no one answered, and google search gives me air-thin results.
I don't know how to approach this.
Where can I find documentations or instructions or tutorials or whatever that helps me understand the OSX API implementation with Delphi?
I use Delphi XE7
The official reference for the OSX API is located in the Mac Developer Library, for usb devices you can check OSX USB Device Interface Guide.
Now the best place to learn how work with the OSX from Delphi is reading the RTL OSX code located in the Embarcadero\Studio\n.0\source\rtl\osx folder. Another great source of information is the TIndex site which is a huge collection of ordered and selected resources about Delphi programming, So you can try the OSX Section.

How to become device driver developer [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
I am C++/MFC/Qt/Win32 developer. I wanted to move towards device driver programming. Recently I have purchased Windows 7 Device Driver by Ronald D. Reeves. And then, when I looked at reviews at Amazon, I got discouraged. Can you suggest how should I proceed towards device driver programming.
Regards
Make sure to start with Windows Internals (6th edition is out now) before getting deeper in Programming the Windows Driver Model. This last one might be out of print, but you can still find it used or available as an e-book. It is older, but the WDM is largely the same and it is a fantastic introduction into the theoretical bits as well as the hands-on kernel mode device driver development. After these 2 books, you can easily tackle the windows driver frameworks (KMDF and UMDF). Device driver development is a huge area. There are many classes of drivers you would want or need to develop and various frameworks to help you do that, but I would definitely start with these 2 books.

tipc protocol in windows [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 11 months ago.
Improve this question
Any idea for TIPC protocol on Windows systems or any similar protocol which is available on windows ?
Thanks
Arpit
The Wikipedia basically says it's general-purpose communication library.
If you're designing an HPC cluster, take a look at "Microsoft High Performance Computing" in MSDN: http://msdn.microsoft.com/en-us/library/aa496121.aspx bot keep in mind that API only exists on some editions of their server OSes.
I think you'll only get better answer when you'll describe what kind of tasks are you going to accomplish.
P.S. I don't actually get the point of TIPC, even after reading the programmer's guide.
It seems using the API is not easier then using sockets.
But when you're using sockets, at least you've got tons of good books, online manuals, and easy to use debugging and diagnostic tools.

Sending and receiving data over USB port [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 10 months ago.
Improve this question
I'd like to send/receive data over a USB port to a device (from my vista pc). Is there a free/cheap library out there that can do this, and how involved would this project be (not taking into account what's being sent or received) ?
You don't specify what's going on here. Does the device already exist? Is it already a USB device?
If you already have a USB device, then the manufacturer should be able to help.
If you are building the device, then you might want to look at something like a USB to serial adapter (which generally require no special drivers at all) or something from FTDI - they make a number of easy-to-use USB chips that generally don't need, or come with appropriate drivers under windows. I've worked with their chips on a couple of occasions and they've never given me any trouble.
libusb-win32 maybe?
This article in Code project may be a good start for you. At first you need to build your device. You can either use a micro-controller with a USB port or you can use a serial-to-USB chipset (like the already suggested FTDI).
You should avoid writing your own USB library-driver. The article in the CodeProject uses the HDI driver, which is already present in your device. It uses a PIC micro-controller, but my personal favourite is AVR. With AVR you have the following options:
AVR-USB: Implements USB stack in firmware. Drivers, examples for all platforms. Any AVR micro can be used. You may need to build the hardware yourself.
Atmel's USB family. These are microcontrollers with USB port. Drivers and ready to buy kits are available. Other manufacturers (like Microchip's PIC family) have similar solutions.
Without knowing anything else about your situation, and assuming you are in control of the device's USB protocol and drivers, I would recommend using WinUSB.
It is a lot better than libusb-win32 because it is a native part of Windows and it supports asynchronous communication. Also, libusb-win32 only supports the libusb-0.1 API, which is really old.

Resources