記事一覧
カテゴリーを選択 解除
再読込
-
- ドライバとユーザーランド層のやり取り Linuxデバイスドライバ入門
- はじめに Linuxは、ドライバやOSの本体が動作するカーネル層と、ライブラリ含めたアプリケーションが動作するユーザーランド層に分かれています。この2つの層は、MMU(Memory Management Unit)により、異なる仮想的なメモリ空間が割り当てらており、基本的にはユ…
Linuxデバイスドライバ入門 - ドライバとユーザーランド層のやり取り
-
- udev(汎用的なLinuxにおけるUeventを扱う仕組み) Linuxデバイスドライバ入門
- はじめに 前節では、ドライバからユーザーランド層へのやり取りを行う方法として、ueventについて説明しました。受け取り方として、AOSPのuevent_next_event関数を用いて説明しましたが、ueventはAOSPだけでは無く、Ubuntu等の汎用的なLinuxにおい…
Linuxデバイスドライバ入門 - udev(汎用的なLinuxにおけるUeventを扱う仕組み)
-
- writing-clients 和訳 Linuxデバイスドライバ入門
- これは、LinuxをI2CまたはSMBusにおいて、プロトコルの(スレーブでは無く)マスターとした、デバイスドライバを書きたい人のための小さなガイドです。ドライバーをセットアップするには、いくつかのことを行う必要があります。いくつかのことはオプションであり、いくつかのことは少し…
Linuxデバイスドライバ入門 - writing-clients 和訳
-
- alsps.c Linuxデバイスドライバ入門
- /* * Copyright (C) 2016 MediaTek Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the …
Linuxデバイスドライバ入門 - alsps.c
-
- ltr578.c Linuxデバイスドライバ入門
- /* * * This software is licensed under the terms of the GNU General Public * License version 2, as published by the Free Software Foundatio…
Linuxデバイスドライバ入門 - ltr578.c
-
- システムコールによるインターフェース呼び出し Linuxデバイスドライバ入門
- はじめに 前章の内容でデバイスドライバを通してハードウェアを制御する為のインターフェースが、準備できました。本章では、ドライバのインターフェースを通した上位層からの制御について説明します。基本的には7章で説明したsysfs、devtmpfsのファイルに対してシステムコールを呼び…
Linuxデバイスドライバ入門 - システムコールによるインターフェース呼び出し
-
- devtmpfs Linuxデバイスドライバ入門
- devtmpfsとは devtmpfsは、ドライバへの制御に関連するインターフェースを上位層に提供する為のファイルをRAM上で提供する仕組みです。 使い方 ltr578_i2c_probeから呼ばれるmisc_registerはLinuxカーネル内でmiscデバイス(Misce…
Linuxデバイスドライバ入門 - devtmpfs
-
- sysfs Linuxデバイスドライバ入門
- sysfsとは ドライバに関連する情報を上位層とやり取りする為のファイルをRAM上で提供する仕組みです。制御も可能ですが、情報のやり取りを主目的として使われるインターフェースです。上位層とのインターフェースとしては、1行から作成可能であり最も簡単に作成できます。 使い方 ltr…
Linuxデバイスドライバ入門 - sysfs
-
- ドライバにおけるインターフェースの初期化処理 Linuxデバイスドライバ入門
- はじめに 前章の内容でハードウェアを制御する準備が完了しました。本章では、デバイスドライバと上位層とのインターフェースを準備する内容について説明します。このインターフェースは、ローダブルモジュールでは用意した時点で使われる可能性がある為、事前にソフトウェア、ハードウェアの初期化…
Linuxデバイスドライバ入門 - ドライバにおけるインターフェースの初期化処理
-
- 割り込みを用いた制御 Linuxデバイスドライバ入門
- 割り込みとは 割り込みとは、ハードウェアからの通知を受け取り、処理を走らせる仕組みです。割り込みが発生すると、現在処理されている内容を中断し、割り込みを処理する為の割込みコンテキストに遷移した上で、登録したコールバック関数が呼び出されます。 多用される割り込みは、6.2 で説明…
Linuxデバイスドライバ入門 - 割り込みを用いた制御
-
- GPIOを用いた制御 Linuxデバイスドライバ入門
- GPIOとは GPIO(General-Purpose Input/Output)は、SoCとデバイスをつなげる信号線であり、基本的にHighとLowの2値のみ持ちます。LEDの点灯を出力High/Lowで制御したり、ボタンが押されたことを入力High/Lowで検出したりするの…
Linuxデバイスドライバ入門 - GPIOを用いた制御
-
- I2Cを用いた制御 Linuxデバイスドライバ入門
- I2Cとは I2Cが何か分からない方は1章,2章,5.9章を確認下さい。2章で説明した通り照度センサデバイスは、I2Cで信号を送りレジスタを書き換える事で制御します。このI2Cを用いた制御について説明します。 使い方 照度センサデバイスドライバのltr578_init_clie…
Linuxデバイスドライバ入門 - I2Cを用いた制御
-
- ドライバにおけるハードウェアの初期化処理 Linuxデバイスドライバ入門
- はじめに 本章では、4章のdriverとしての初期化処理の流れで出てきた関数で使われている、ハードウェア関連の初期化処理について説明します。。ハードウェアの初期化は、ltr578_i2c_probeから呼ばれているltr578_init_clientで行われていますので、 ke…
Linuxデバイスドライバ入門 - ドライバにおけるハードウェアの初期化処理
-
- devicetree Linuxデバイスドライバ入門
- devicetreeとは Linuxのデバイスドライバに関連するソースコードは、ロジック部を記載しているドライバのファイルである「*.c」の他に、設定値等のパラメータ部を別のファイルとして持っています。このファイルが「*.dts」「*.dtsi」となり、devicetreeのフ…
Linuxデバイスドライバ入門 - devicetree
-
- I2Cドライバの登録 (i2c_add_driver) Linuxデバイスドライバ入門
- I2Cドライバの登録とは I2Cドライバの登録は、照度センサドライバ等のI2CクライアントドライバをLinuxカーネルのI2Cコアドライバに登録し、コールバック関数を呼び出してもらう為の処理です。4章の「ドライバの初期化処理について」の「driverとしての初期化」で最後に出て…
Linuxデバイスドライバ入門 - I2Cドライバの登録 (i2c_add_driver)
読み込み中 …