こんにちは、ホスト!上記のような大きなアイデアについて話すつもりはありませんが、実践的なことについて話します。 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 はすべて組み込みシステムと呼ばれていることがわかります。
追伸:あなたの質問を見て、今年の今頃の自分のことを思い出しました。夜に飲食店にバイトに行って殴られ、夜に家に帰って電気をつけてコードを打ち込んで、苦い涙が溢れてきました…
Selain itu, jangan percaya bahawa banyak produk tidak menggunakan Linux Mereka yang belum memasuki dunia Linux tidak akan memahami betapa indahnya Linux. Dan jangan anggap Linux sebagai matlamat utama anda Sama seperti anda tidak menganggap ucosii sebagai matlamat utama anda sebelum ini, strategi menggunakan mekanisme sistem pengendalian untuk menyelesaikan masalah yang rumit adalah perkara yang anda harus fokuskan sepanjang kerjaya anda - malah z- timbunan kontrak timbunan menggunakannya Mekanisme lapisan perwakilan sistem pengendalian (OSAL) telah diperkenalkan - ini hanya boleh difahami tetapi tidak boleh diungkapkan dengan perkataan. Lihatlah "Falsafah Reka Bentuk Unix" apabila anda mempunyai masa. Anda belajar dan berkomunikasi bersama.
Atas ialah kandungan terperinci STM32 dan Linux: Daripada perkakasan kepada perisian, kunci untuk menguasai mekanisme sistem pengendalian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!