こんにちは、ホスト!上記のような大きなアイデアについて話すつもりはありませんが、実際的なことについて話します。 Linux と stm32 はソフトウェア プラットフォームとハードウェア プラットフォームであり、まったく異なります (プラットフォームであることを忘れないでください)。マイクロコントローラーが好きなので、まず stm32 を学習してください組み込み Linux デバイス ドライバー開発の詳細な説明を学び、ハードウェア、特に各種バス (USB、iIC、spi...) や各種周辺モジュールの基礎を固めてください。 (赤外線、温度と湿度、mpu6050...)、そしてucosiiに焦点を当てます。つまり、単にオペレーティングシステム用のプログラムを書くのではなく、オペレーティングシステムのフレームワーク内でタスクを完了することを学びます - メカニズムを理解する周りの MCU 友達と距離を置くことが重要です。このプロセスでは、OS の本当の意味を理解する必要があります。この時点で「オペレーティング システムの原則」を読むことをお勧めします。
その後、ARM に連絡できます (次は Linux ではないのですか? 後ほど説明します)。 Friendly Arm や Feilin の s3c2440 開発ボード (広告としてカウントされますか?) を購入することもできますし、A8 ボードを購入することもできます。どちらも約 500 元です。私が ARM を学び始めたときは、アセンブリと C を使用して CPU 内のレジスタを制御するベアボード プログラムにすぎませんでした組み込み Linux デバイス ドライバー開発の詳細な説明、その後、STM32 に似たペリフェラルを制御する。開発ボードの周辺機器を制御する方法を学べたら、組み込み Linux の扉に入ったことを祝福します。
現時点では、C 言語に精通している必要があり、GNUC に注意を払う必要があります。 GNUC に習熟するとはどういう意味ですか? GNUC と ASIC の違いを理解し、実行時に C コードの一部が SDRAM にレイアウトされることを理解し、時計の針を柔軟に使用することを理解し、オブジェクト指向の思考スキルを実装するためにプロセス指向 C を使用する方法を知る必要があります。 ... C言語の本(国内本を除く)を最低3冊とブログ記事を数冊読む必要があります。 Linux でコードを書くことが前提です。 Ubuntu のインストール、環境変数の設定、vim の使用、gcc でのコンパイル、gdb でのデバッグを学ぶには、「Brother Niao's Private Linux Cooking」を読むことをお勧めします。
C Linux コースをマスターしたら、マルチプロセス、マルチスレッド、ソケット プログラミングなどの Linux システム プログラミングの学習を開始できます。 「Unix 中間環境プログラミング」から始めて、「...IPC」と「UNIX ネットワーク プログラミング」を読むことをお勧めします...各部が 1 冊の本になっています。その中で最も重要なのは、マルチプロセス/マルチスレッドによる共有変数の同時実行制御メカニズムとソケットプログラミングです。しっかりと学習してください。 ! !これらすべてを学び終えると、わずか 1 年ほどで Linux の虜になるでしょう。
最後に、uboot、Linux カーネルの調整、ファイル システムの作成について学習します。この時点では、後で学習する C および Linux システム プログラミングがすでに ARM ボードに接続されています。
最後に、なぜ今でもハードウェアが好きなのか。組み込み Linux ドライバー開発の方向で Linux システム アプリケーションを開発できます。このとき、stm32 で蓄積したハードウェア基盤が役に立ちます。 Linux デバイス モデルやカーネル モジュールから、キャラクター デバイス ドライバー、ブロック デバイス ドライバー、ネットワーク デバイス ドライバーに至るまで、sourceinsight を使用して Linux カーネル ソース コードを調べる習慣を身につけてください。最初に学んだ ucosii を思い出してください。 「LDD3」と Song の「Linux Device Driver Interpretation」を読むことをお勧めします。このプロセスには5年かかります。
最後に、stm32、s55pvpv210、ucosii、linux はすべて組み込みシステムと呼ばれていることがわかります。
追伸:あなたの質問を見て、今年の今頃の自分のことを思い出しました。夜に飲食店にバイトに行って殴られ、夜に家に帰って電気をつけてコードを打ち込んでいた自分を思い出しました。苦い涙が溢れてきました…
また、Linux を使用していない製品がたくさんあるとは信じてはいけません。Linux の世界に入ったことのない人には、Linux の素晴らしさが理解できないでしょう。そして、以前に ucosii を最終目標として考えなかったのと同じように、オペレーティング システムのメカニズムを使用して複雑な問題を解決するという戦略は、キャリアを通じて、たとえ z であっても焦点を当てるべきものです。スタック コントラクト スタックはそれを使用します。オペレーティング システム表現層 (OSAL) メカニズムが導入されています。これは理解することはできますが、言葉で表現することはできません。時間があるときに「Unix の設計哲学」を読んでください。一緒に学び、コミュニケーションを図ります。
以上がSTM32 と Linux: ハードウェアからソフトウェアまで、オペレーティング システムのメカニズムを習得するための鍵の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。