RPiを使用してハードウェアレベルのプログラミングを習得することに興味があります。RPiのチュートリアルをインターネットで検索しましたが、見つかったのは一般的な「カーネルのコンパイル方法」チュートリアルだけです。実際の「カーネルコード/デバイスドライバーの書き方」タイプのチュートリアルに興味があります。RPi用の特定のチュートリアルはありますか、それともハードウェアレベルのプログラミング用の* nixチュートリアルで十分ですか?
RPiを使用してハードウェアレベルのプログラミングを習得することに興味があります。RPiのチュートリアルをインターネットで検索しましたが、見つかったのは一般的な「カーネルのコンパイル方法」チュートリアルだけです。実際の「カーネルコード/デバイスドライバーの書き方」タイプのチュートリアルに興味があります。RPi用の特定のチュートリアルはありますか、それともハードウェアレベルのプログラミング用の* nixチュートリアルで十分ですか?
回答:
ケンブリッジ大学から何かを見つけました。
フォローするのは簡単で、最初のOSをどのように組み合わせるかについては非常によく紹介されています:http : //www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/os/
LDDの本に加えて、free-electrons.comのトレーニングコースドキュメントもご覧ください。すべてのコース資料はオープンソースです。Linuxカーネルプログラミングを少し始めた人、または特定のトピック/分野についてより深くより広い理解を求めている人に適しています。
最初に、少なくとも最初の2つのコースを見てください。
free-electrons.comのlxrソースコード相互参照サイトを忘れないでください。さまざまなカーネルバージョンのソースコードを確認できます。
IDE、特にNetBeansまたはEclipseを好み、perlスクリプトとMakefileを実行する方法を知っているなら、github.comで私のプロジェクトNbkツールを見ることができます。このスクリプトにより、NetBeans C ++キットを使用してカーネルプロジェクトに完全にインデックスを付けることができます。これにより、ソースコードの内部構造と関係をより深く理解できるようになり、エクスペリエンスが大幅に向上します。私は通常、カーネルの最小構成に加えて、見ている特定のデバイスを作成し、カーネルコードを分析するためだけにNetBeansでビルドとインデックス作成を行います。別のプロジェクトで実際の開発を行いながら。このスクリプトは、NetBeansで直接テストされますが、Eclipseでも考え方は同じです(Eclipseに合わせてスクリプトを変更する必要があります)。