STM32を数日間学んだ後、なぜあなたは途方に暮れると感じますか、あなたの姿勢は間違っています

なぜあなたは数日間学んでいるのですか?STM32はぼんやりと感じます、あなたの姿勢は間違っています

はい、あなたは正しいと感じています。実際、あなたはすでに漠然とした答えを持っています。あなたはこれまでマイクロコントローラーと接触したことがありません。実際、あなたの問題は以下の理由に起因する可能性があります。

4c932e6d1c7a98f615c4ff175bff24d9.png

1.MCUの基本的な知識の欠如

2.マイクロコントローラー(つまり、STM32)の詳細な作業の理解は明確ではありません。

トレーニング段階全体のシーケンスの説明によると、以下は問題を説明するためのより詳細な解釈です。

1.特別な用語

MCUの場合、詳細な機能に触れることなく、クロスコンパイル、カーネル、加算器/除算器、コプロセッサ、アルゴリズムアクセラレータ、命令セット、浮動小数点演算、パイプライン、ハーバード構造、レジスタ(汎用および周辺機器)、割り込みと例外、FLASH、RAM、キャッシュ(キャッシュ)、SDRAM(リフレッシュ期間)、USART(ボーレート、ストップビット、パリティ)、CAN、SPI(チップセレクト)、I2Cなど。基礎知識に属するものもあれば、高度に理解する必要のある知識ポイントに属するものもあります。これらの用語を理解することは、初心者にとっての最初のしきい値です。いくつかの特別な用語を理解しないと、組み合わせた文がより難しくなります。理解しました。 、これが私のさらなる研究方法です。理解できない専門用語に遭遇した場合は、インターネットにアクセスしてそれを調べ、ノートブックまたはコンピューターを見つけてドキュメントの形式で記録し、一定期間レビューします。時間の経過とともに、良いメモリは悪い書き込みほど良くはありません。ここで<> 3権威ガイド>をお勧めします。これは、シングルチップマイクロコントローラの研究で理解する必要のあるコア知識を説明しています。

2.チップワークフロー

用語を覚えるのはそれほど難しくありません。復習するのを忘れても簡単です。このハードルを通過した後、次のステップは、チップの実行プロセスと、チップを機能させるために必要なことを理解することです。

1.電源投入後、チップがリセットされて起動します

2. MCUは、FLASHから命令/データバスを介してそれぞれ命令とデータを読み取り、RAMと汎用レジスタ(つまり、内部R0〜R12のレジスタ)。

3.実行された命令に従って、ペリフェラルのレジスタを構成および操作し、それによって対応するペリフェラルを駆動して詳細な機能を実現します。

4.上位層の組み合わせロジックと連携し、周辺機能を組み合わせ、詳細なアプリケーションのすべての要件を実装します

上記はチップの動作プロセスであり、マイクロコントローラー開発者として実装されたコードは、FLASHに配置されたプログラムであり、公式に提供されたSDKパッケージと、ユーザーが実装を調整することによって定義された周辺機器ドライバーで構成されます。プロセスには、次のものが含まれます。

チップの起動プロセス中のスタックの初期化、システム関連の周辺機器(クロックなど)の処理=>この部分はメーカーによって提供され、ファイルをプロジェクトに入れることができます。例としてSTM32を取り上げます。スタートアップファイルstartup_xxx.sとシステム初期化SystemInit関数です

アプリケーションに必要な周辺モジュールを構成します。オンライン教育ビデオを見ると、このステップから直接初期化されます。特に、STM32CubeMxに基づくSTM32の実装では、必要がない場合は、この記述が要件を満たしていることがわかります。このことを掘り下げてみると、なぜこのように書いたのか誰にもわからないことがわかり、当然混乱が生じます。実際、この部分は埋め込まれたいわゆる体験です。成分。

72965702dfd6c7bc381dc5cdb249db52.png

ほとんどの周辺モジュールをクロック対応にする必要がある場合、GPIOはピンのプルアップ/プルダウン、プッシュプル/オープンドレイン、USART構成モード、ボーレート、パリティ、ストップビット、データビットを構成する必要があります。 GPIOに対応するポート多重化、I2Cはマスタースレーブモードを考慮し、必要な伝送速度に従ってモジュールクロックを決定する必要があります。SDRAMは、ピンの多重化とタイミングを考慮するだけでなく、データの安定性を確保するためにリフレッシュ期間も計算する必要があります。知識理論上記はすべて長い間作業に蓄積されています。プロジェクト要件が決定された後、チップとデバイスの選択に応じて、ハードウェアPCBの描画とレイアウトが決定され、機能要件も決定されます。 。メインモード、およびEPPROMの読み取りと書き込みのタイミングとチップのパフォーマンスに応じて、効率と安定性のバランスを考慮して、I2Cのレートを決定できます。レイアウトやその他の要件を考慮して、I2Cに対応する多重化ピンは次のことができます。実際、実際のプロジェクトの場合、すべて

要件=>プロジェクトの提案=>ソフトウェアとハ​​ードウェアのフレームワーク=>ソフトウェアドライバー

視聴する動画はソフトウェアドライバから直接始まります。背景や背景がわからないと混乱します。考え方を変えて学ぶ方法については、前回のまとめを参考にしてください。埋め込みエントリに関する私の指示でもあります。

ハートビートに耳を傾ける:シフトする思考学習埋め込み&nbsp;-方法と要約111承認済み&nbsp;?7解説記事

3.上位層のアプリケーションロジックの実装

周辺機器を使用したアプリケーションロジックの実装は、実際にはプロジェクトの最も複雑な部分です。これには、フロントシステムとバックシステム間の相互作用、RTOSアプリケーションとプロトコルの移植、GUI管理操作、wifiモジュールやBluetoothモジュールなどの他のモジュールとの相互作用が含まれます。 。ただし、この部分は上級コンテンツに属します。周辺モジュールをある程度理解した後は、この部分にも独自の学習方法が必要になるため、ここでは繰り返しません。

これでこの答えは終わりです。これは、シングルチップマイクロコンピュータについて私が知っていることの要約にすぎません。シングルチップマイクロコンピュータは、未知の技術を革新して開発する必要はありませんが、最下層からの実現全体に影響を与えます。現代のコンピューター技術の理解を含む、ソフトウェアインターフェースへのチップ。マイクロコンピューターの方向にあるすべての重要な技術も、時代に見捨てられないようにするために継続的な学習を必要とします。さらに、あなた自身の方法を要約することもできれば、この道でどんどん良くなっていくことを願っています。組み込みLinuxの学習ニーズがある場合は、私の答えも読むことができます。

私の最初の開発ボードはarduinoで、電子機器の学習にもarduinoを使用しました。

私の最初の開発ボードもarduinounoでした。それから8266、次にstm32、そして学校の51に、パスは非常に奇妙ではありませんか?実際、シングルチップマイクロコンピュータを学ぶために最も重要なことは何ですか?それは興味と達成感です。初期には51人が編集を使用していました。そのことに落胆した人は何人いますか?私が最初に行った個人的なプロジェクトは編集でした。幽霊は私が半月間プログラムを書いたことを知っています。嘔吐した。

この時点で51について話しましょう。キールをインストールしてから、51サポートパッケージをインストールし、プログラムにライトを付けてから、16進数をコンパイルします。ダウンロードするもの、stcisp、書き込みのために再起動する必要がありますか?

もう一度stm32と言います。Punctual AtomicまたはWildfireから407zgt6開発ボードを入手しましたか?それは大量のものであり、何が入っているのか、ピンヘッダーの束、シリアルポートの束、ネットワークポート、および表示画面がわかりません。関係なく、最初にmdk5をインストールし、次にf4サポートパッケージをインストールしてから、At​​omic Brotherのライトをオンにしてから、プログラミングにシリアルポート340またはstlinkを使用します。プログラミングアドレスを構成する必要がありますか。オンチップスペースが非常に小さいため、h7シリーズ用に独自のものですか?外部フラッシュ構成ファイル。あなたはこの山を終えました、それは大きな頭ですか、ああそうです、そしてネットワークディスクのサイズ、私は数GBがあることを覚えています、それは2日間ダウンロードされました。

したがって、このシリーズは多くの学生を簡単に思いとどまらせることができます。arduinoは愚かです、何もありません、d13ライト、青いデータケーブル、arduino ideをインストールします、ドライバーをインストールする必要はありません、インストールプロセス中にインストールをクリックし、ideを開き、プログラムブリンカーをクリックし、シリアルポートを自動的に識別します。プリンタラインがダウンロードをクリックすると、OK、d13が点滅します。さらにいくつかのpwmを作成し、OLED画面を作成し、リレーとBluetoothモジュールを作成すると、小さなスマートホームを直接作成できます。達成感ですね。

その後、さまざまな問題が発生します。pwmがモーターを制御したい場合、周波数を調整できません。タイマーを書き換えることしかできません。unoアナログ出力がない場合、シリアルポートが1つしかない場合、 2つの外部割り込みでは不十分です。正しく使用してください。ネットワークポートがない場合は、5100または5500のみを使用して拡張できます。ネットワークポートを拡張した後、フラッシュは十分ではありません。多くの制限があります。この時点で、あなたは喫煙依存症のようになり、メガまたは期限を選択した場合、それを克服する方法を見つけるために夢中になります。または、stm32に切り替えると、いくつかの問題はatmelスタジオの開発で直接解決できます。興味はあなたを掘り下げるように駆り立てます。

e5e915c27b0ce5af1281f3829a0b2b35.png

そして、stm32はさらなる研究のために途方に暮れています、そうです、国内の開発委員会であるstm32はあなたのためにすべてです、あなたにその周りを混乱させてください、幽霊はそれを見たくありません、STMicroelectronicsからの公式評価を見に行ってくださいボードはどのように見えますか。Defeilaiのシステムボードを使用し、いくつかの拡張ボードとDupontケーブルを追加し、優れたブートローダーと連携して、初心者が大きな開発ボードの概略図を見るのを無駄にするのではなく、本質的なことを熟考する時間を増やすことができます。数グラムの情報で、それは正しいです。もちろん、これらは国内の2人の教育巨人の不満を呼び起こすと思いますが、私は大学で原子と山火事の本を読んでいる32歳ですが、彼らの2人にも感謝しています。中国での埋め込み教育への取り組み(私も2社からたくさんの開発ボードとモジュールを購入しましたが、そのうちのいくつかは数千のサイズで、原子オシロスコープは落としましたが)、そうではありません。正しい、教育の本質、これは探求し続け、革新し、そして反映することです。

今年の初めに、比較的体系的なシングルチップマイクロコンピュータの入門チュートリアルを録画しました。必要に応じて、私から入手できます。無料で、プライベートメッセージを送信できます。クリックして入手することもできます。黒のフォントで隱重麺を追加した私のアバター。

Supongo que te gusta

Origin blog.csdn.net/danpianji777/article/details/124046129
Recomendado
Clasificación