【朱さんのコース概要侵入】
最初の部分、章リスト
3.1.5。STM32のさまざまなエミュレーターデバッガーとは何ですか?
第二部、章の紹介
3.1.1。STM32およびSTC51の開発
このセクションでは、STM32関連コースの3つのシーズンの全体的な概要と、STM32学習と51個のシングルチップマイクロコンピューターの違いの概要を示し、将来の学習ですべての人をガイドすることを望んでいます。
3.1.2。STM32の起源と背景1
このセクションでは、STM32マイクロシステムの特性、メーカー情報、公式Webサイト、選択などについて説明し、すべての人がSTM32の概要を把握できるようにします。これらのことを過小評価しないでください。多くの人が数年間勉強してきましたが、基本的な情報がどこにあるのかまだわかりません。
3.1.3。STM32の起源と背景2
このセクションでは、STM32マイクロプロセッサの特性、メーカー情報、公式Webサイト、選択などについて説明し、すべての人がSTM32の概要を把握できるようにします。これらのことを過小評価しないでください。多くの人が数年間勉強してきましたが、基本的な情報がどこにあるのかまだわかりません。
3.1.4。
このセクションの冒頭にあるSTM32シンプルな中国の本は、提供されているケープマニュアルのシンプルなチップ開発ボードの中国版のSTM32公式バージョンを読むことができ、チップマニュアルを通じて特定のSTM32をより包括的に理解することができます。
3.1.5。STM32のさまざまなエミュレーターデバッガーとは何ですか?
このセクションでは、エミュレーターとデバッガーの2つの概念について説明し、このコースに含まれるいくつかのデバッガーを紹介します。
3.1.6。STM32標準ライブラリとHAL(cubeMX)ライブラリとは何ですか?
このセクションでは、STM32の2つのライブラリ関数開発モードである標準ライブラリとHALライブラリに焦点を当てます。概念は、フォローアップ学習を調整するために明確です。
3.1.7。このコースで使用する開発ボードを紹介します。この
セクションでは、コースに含まれる3つの開発ボードを紹介します。コースの説明では、3つの開発ボードの違いを説明します。どの開発ボードを使用していてもコースを学習できます。影響を受けません。
パート3、教室の記録
3.1.1.STM32およびSTC51の開発
3.1.1.2、違い
- STM32クロックを構成する必要があり、STC51を構成する必要はありません
- GPIO制御:STC51はビット変数を使用してピンまたはポートに値を割り当てるだけでよく、STM32はレジスターをプログラムする必要があります!
- そして、これらの周辺機器は基本的に同じであるため、最初にSTC51マイクロコンピューターを学び、次にSTM32を学ぶ方が簡単です。
- STM32の主周波数は72MHzに達することができます
3.1.2_3.STM32の起源と背景
3.1.2.1。51からSTM32まで
(1)STM32、AVR、51などのシングルチップコースで説明したように、多くの種類のシングルチップマイクロコンピュータがあります。
(2)STM32は、現在主流の32ビット高性能シングルチップマイクロコンピュータであり、毎年20台以上あります。
(3)STM32 ARMプロセッサコアの1億個の量は、ARM STM32 [NXP(philips)、TI、Atmel 、OKI、ST、 Samsung、Huaweiなど、ARMコアを備えています。 HuaweiのHiSiliconのような独自のスキルを持つ32ビットMCUがあります]
(4)STM32の機能:高コストパフォーマンス、豊富な内部周辺機器、高MIPS(MIPSはCPUパフォーマンスの単なる尺度です)、および幅広いマスベース
3.1.2.2。STM32はどこから来たのですか?
(1)STM32は、32ビットARMv7アーキテクチャに基づいてARMによって設計されたARM Cortex-M3コアプロセッサを使用しているため、ARMv7-Mとも呼ばれます。ARMの歴史については、 CM3の信頼できるガイドをご覧ください
(2)STM32はSTによって 設計、実装、製造されています(ST公式ウェブサイト STM32公式ウェブサイト)
(3)STM32の製造に加えて、STは自己設計の8ビットマイクロプロセッサSTM8も製造しています
(4)STM32さまざまなCortex-Mシリーズ、M0、M0 +、M3、M4、M7などをカバーするさまざまなモデルがあります。公式サイトをご覧ください!
3.1.2.3。STM32公式ウェブサイトのデータブラウジング
(1)さまざまな一連のダイアグラムブラウジング
(2)詳細な選択情報
リンクを確認するために1つを見つける
(3)モデルコーディングルール(例として開発ボードで構成されたSTM32F103C8を取り上げる)
3.1.4.STM32の簡単な中国語マニュアル
3.1.4.1、機能紹介
- メモリ
- 時計
- ADC
- デバッグモード
- DMA:DMAの英語の綴りは「ダイレクトメモリアクセス」です。中国語はダイレクトメモリアクセスを意味します。これは、CPUを経由せずにメモリからデータに直接アクセスするデータ交換モードです。DMAについて
- 周辺機器:USART、タイマー、ADC、SPI、I2C
- I / Oポートの
割り込みソースはバインドされていません。マッピング用にソフトウェアで設定できます! - タイマー
- 通信接口
3.1.4.2、仕様
1.デバイスのリスト
2.概要
- Nested Vectored Interrupt Controller(NVIC)
51にも割り込み制御がありますが、割り込み制御レジスタを操作することで直接実装されます。STC51には8つの端末ソース+4つの優先度レベルがあります。 - 外部割り込み/イベントコントローラー(EXTI)
- クロック
システムクロックの選択は起動時に行われます。リセット時のデフォルトのCPUクロックとして内部8MHzRC発振器が選択され、次に障害監視付きの外部4〜16MHzクロックが選択されます。外部クロックに障害が発生すると、隔離すると、対応する
中断が同時に発生します。同様に、PLLクロックの完全な割り込み管理は、必要に応じて(外部発振器に障害が発生した場合など)実行できます。AHB周波数、高速APB(APB2)および低速APB(APB1)領域を構成するための複数のプリスケーラーがあります。AHBと高速APBの最高周波数は72MHzで、低速APBの最高周波数は36MHzです。 - ブートモード(スタートモード)
- 電源方式
概略図を参照して、VDD、VSSA、およびVBATがさまざまな電源方式を提供する方法を確認できます。 - 低消費電力モード
スリープモード、シャットダウンモード、スタンバイモード - DMAの
柔軟な7チャネルの一般的なDMAは、メモリからメモリ、デバイスからメモリ、メモリからデバイスへのデータ転送を管理できます。DMAコントローラは、リングバッファの管理をサポートし、コントローラの転送がバッファの最後に達したときに生成される割り込みを回避します。
DMAは、主な周辺機器(SPI、I2C、USART、一般および高度なタイマーTIMxおよびADC)に使用できます。 - RTC(リアルタイムクロック)とバックアップレジスタ
RTCとバックアップレジスタはスイッチから給電されます。VDDが有効な場合、スイッチは電源としてVDDを選択し、それ以外の場合はVBATピンから給電されます
。バックアップレジスタ(10個の16ビットレジスタ)を使用して、VDDがなくなったときにデータを保存できます。 - 独立したウォッチドッグ
- ウィンドウウォッチドッグ
- システムタイムベースタイマー
- ユニバーサルタイマー(TIMx)
- 高度な制御タイマー(TIM1)
- 通信インターフェース:USART、I2C、SPI、CAN、USB、GPIO
- ADC(アナログ/デジタルコンバーター)
次のコースでは、以下の内容について詳しく説明します!
3.1.5。STM32のさまざまなエミュレーターデバッガーとは何ですか?
3.1.5.1、エミュレーターとデバッガーの違いと接続
- シミュレーター
シングルチップシミュレーターとは、シングルチップマイクロコンピューターのソフトウェアをデバッグする目的で特別に設計および製造された専用ハードウェアデバイスのセットを指します。ソフトウェアシミュレーションと同様に、ブレークポイントの設定、シングルステップ実行、フルスピードでの実行が可能ですが、すべてのシングルチップマイクロコンピュータにはエミュレータが必要であり、コストは依然として高くなります。 - デバッガー
もエミュレーターですが、デバッグインターフェースが同じであれば、さまざまなタイプのシングルチップマイクロコンピューターをシミュレートできます。STC51を学ぶと、コードの実行時間の測定がデバッガー機能になります。
3.1.5.2。STM32デバッグインターフェイス
(1)JTAGプロトコル:標準のJTAGインターフェイスは、TMS、TCLK、TDI、TDOの4つのワイヤで、それぞれモード選択、クロック、データ入力、およびデータ出力ラインです。関連するJTAGピンの定義は次のとおりです。
- TMS:テストモードの選択。TMSは、JTAGインターフェイスを特定のテストモードに設定するために使用されます。
- TCLK:テストクロック入力。
- TDI:テストデータ入力。データはTDIピンを介してJTAGインターフェイスに入力されます。
- TDO:テストデータ出力。データはJTAGインターフェイスからTDOピンを介して出力されます。
JTAGにも独自のJTAGデバッガーがありますが、下図に示すように、JTAGにはパラレルポートが必要で、現在はほとんどがUSBポートであるため、JTAGデバッガーはステージから外れており、JTAGプロトコルは今でも広く使用されています。
(2)SWD:シリアルワイヤデバッグ。これはJTAGとは異なるデバッグモードと見なす必要があり、使用するデバッグプロトコルも異なる必要があるため、20JTAGと同じデバッグインターフェイスに最も直接反映されます。ピンと比較すると、SWDは4つ(または5つ)のピンしか必要とせず、構造は単純ですが、アプリケーションの範囲はJTAGほど広くありません。主流のデバッガーは、後で追加されるSWDデバッグモードでもあります。最大の特徴は、必要なGPIOピンが少ないことです。
以下は、JTAGとSWDのインターフェース図です
。3.1.5.3、STM32で一般的に使用されるデバッガー
(1)JLINK V9 V11
J-Linkは、ドイツのSEGGER社が立ち上げたJTAGベースのエミュレーターです。簡単に言えば、これはJTAGプロトコル変換ボックス、つまりJTAG並列ポートをUSBポートに変換する小さなUSBからJTAGへの変換ボックスです。
JLINKは、KEIL、IAR、ADSなどのプラットフォームで使用できる一般的な開発ツールです。速度、効率、機能はすべて非常に優れており、多くのエミュレーターの中で最も強力であると言われています。インターネットは海賊版であり、何千もの本物のものです!
(2)STLINK
ST-LINKは、STMicroelectronicsSTM8およびSTM32シリーズチップ専用のエミュレーターです。
(3)一般的なARMシミュレーター
(4)STM32cubeprogrammerがあります:はじめにリンク
3.1.5.4、朱氏はデバッガーについて何か言いたいことがあります
(1)デバッガーとそのデバッグのアイデアは学習と開発に役立ちます
( 2)デバッガーについてはあまり気にしないでください
(3)より広く、より高くしたい場合は、デバッガーを使用しないことを学んでください
3.1.6。STM32標準周辺ライブラリ、HALライブラリ、LLライブラリ
3.1.6.1。STM32の3つのプログラミング方法
(1)レジスタ操作
(2)標準ライブラリ(標準周辺ライブラリ)
- STM32標準ペリフェラルライブラリは、マイクロコンピュータのすべてのペリフェラルのパフォーマンス特性を含む、プログラム、データ構造、およびマクロで構成されるファームウェア機能パッケージです。
- ファンクションライブラリには、各ペリフェラルのドライバの説明とアプリケーション例も含まれており、開発者が基盤となるハードウェアにアクセスするための中間APIを提供します。ファームウェアファンクションライブラリを使用することで、開発者は基盤となるハードウェアの詳細を習得しなくても、各外部ハードウェアを簡単に適用できます。仮定します。
(3)STM32Cube(HALライブラリ/ LLライブラリ)
- HALライブラリは、以前の標準の周辺ライブラリを置き換えるために使用されます。STM32Cube HALライブラリは、標準のペリフェラルライブラリと比較して、より高いレベルの抽象化と統合を示します。HALAPIは、各ペリフェラルの共通の関数関数に焦点を当てています。これにより、ユニバーサルでユーザーフレンドリーなAPI関数インターフェイスのセットの定義が容易になります。あるSTM32製品が別の異なるSTM32シリーズ製品に移植されます。
- 現在、STは主にHALライブラリを推進しています。現在、HALライブラリはSTM32製品の全範囲をサポートしています。
- STは、サポートするデスクトップソフトウェアSTMCubeMXを特別に開発しました。開発者は、ビジュアル構成にソフトウェアを直接使用できるため、開発時間を大幅に節約できます。(明日お見せします!)
3.1.6.2。ライブラリはSTの公式ウェブサイトのリンクからどこにありますか
3.1.7。このコースで使用される開発ボードの概要
3.1.7.1。開発ボードを選択する原則
(1)十分に、新しいハイエンドを追求しすぎないでください
(2)コストパフォーマンス(パフォーマンス/価格)
(3)比較と参照には一定の必要性があります
- 先生から学びたい場合は、先生とは違う開発ボードを使うのが一番です。
3.1.7.2、私が持っている現在の開発ボード
(1)STM32F103C8
(2)STM32F407VET6
(3 )Puzhong Science and Technology Development Board
3.1.7.3、STM32を学ぶための鍵
(1)基礎:C言語を知っている限り、SCMを知ることが最善です!
(2)良いコース
(3)学習と実践の組み合わせ+一定の忍耐力=避けられない学習
このレッスンは終わりました!