私はカーネル開発のドライバで新たなんだと私は、このモジュール情報使用して、Linuxカーネルモジュールを開発しようとしている:使用してパルス幅変調(PWM)インタフェース
http://lxr.free-electrons.com/source/drivers/pwm/pwm-tiehrpwm.c
をしかし、私はそれを使用する方法を理解していませんでした。どのようにしてこのモジュールを適合させることができるか、ehrpwm_pwm_config、ehrpwm_pwm_enableのようなこのファイルに含まれる関数を使って新しいモジュールを作成する方法?
PS:私はsysfsを使いたくないので、プログラムでpwm信号を設定します。私はDebianディストリビューションを実行するBeaglebone Blackボードとcape-universalnを使用しています。あなたがお使いのLinuxカーネルのご.config
ファイルにCONFIG_PWM_TIEHRPWM
を有効にする必要があり
おかげ
@ sachinmokashi.Iはすでにこのステップを行っていました。このモジュールは、カーネルに成功してロードされます。私の声はどうすれば使えるのですか?私はLinuxのドキュメントをチェックしていますが、明確に説明されていません。私は別のモジュールでそれをインスタンス化する方法とそこで定義された関数を使用する方法を知らない。あなたはいくつかのヒントを持っていますか? – dczanella
別のモジュールの関数を使用するには、EXPORT_SYMBOL_GPL()マクロを使用する必要があります。 Linuxカーネルプログラミングの理解を深めるために[link](http://free-electrons.com/doc/books/ldd3.pdf)を読むことをお勧めします –
このモジュールを再コンパイルして、それぞれにEXPORT_SYMBOLを含める必要があります私が使用したい機能です。この構造は何を意味しますか? static const struct pwm_ops ehrpwm_pwm_ops = {...}ファイルの417行目 この構造体はどのように機能しますか?私はそれがこの機能を呼び出すことが可能であると考えていました。 – dczanella