STM32F407開発環境の説明

  1. CPU内部リソース

    CPUモデル:STM32F407 / LQFP-176 / ARM 32ビットCortex-M4
    メイン周波数:168MHz
    内部フラッシュ容量:1MB
    内部SRAM容量:128KB SRAM + 64KB CCM = 192RAM
    タイマー:17
    UART:6
    SPI:3(2は再利用可能I2Sとして)
    I2C:3つの
    ADC:3つの独立した12ビットADC
    DAC:2つの独立した12ビットDAC
    CAN:2つのCAN 2.0B
    SDIO:1つの
    USB:USB2.0フルスピード(統合された内部PHY)スレーブデバイス/マスターデバイス/ OTG機能
                                 USB2.0高速/フルスピードスレーブデバイス/マスターデバイス/ OTG機能
    GPIO:140
    ETH:10 / 100Mイーサネット

  2. FSMCメモリアドレスの割り当て

    CPU内部FLASH [0x0800 0000-0x080F FFFF]、容量1M(0x100000)バイト
    CPU内部SRAM1 [0x2000 0000-0x2001 FFFF]、容量128K(0x20000)バイト
    CPU内部CCMデータRAM [0x1000 0000-0x1000 FFFF]、容量64K( 0x10000)バイト  
    TFTLCDアドレス[0x6C000000、0x6C00 0002]、1つのポートアドレスのみを占有

  3. 開発ツール

    [エミュレータ] ---非標準、別途購入
        STM32はシリアルISPダウンロードプログラムをサポートしていますが、オンラインデバッグはサポートしていません。シリアルポートを使用してダウンロードすると、開発効率が非常に低くなるため、開発効率を上げるためにエミュレータ
        を購入することを強くお勧めします。
        -ST-LINK V2エミュレーター:STによって開発されたエミュレーターで、プログラムをダウンロードし、プログラムをデバッグおよびトレースできます。STM8およびSTM32をサポートします。
        -J-LINK V8、V9エミュレーター:Seggerによって開発されたエミュレーターで、プログラムをダウンロードし、プログラムをデバッグおよびトレースできます。すべてのARMシリーズをサポートします。
        -CMSIS-DAPシミュレーター:ARMオープンソースシミュレーター。プログラムをダウンロードし、追跡プログラムをデバッグできます。すべてのARM-Mシリーズをサポートします。                                                                                                                                                                                         
    [ミニUSBケーブル]
        -開発ボードの配布-開発ボードはミニUSBインターフェイスを予約します。1つはジャンパーキャップを介してCH340Gチップを介してstm32チップのUSART1インターフェイスに接続されます。これは、ほとんどの
      プログラムでデバッグ情報を印刷するために使用できます。

    【開発ソフト】・
        コンパイル環境:KEILのMDK uVision5.17IARのARMツールv7.50.2  

  4. コンパイルとデバッグの方法

    [Keil MDK] V5.17-
            メニュープロジェクトを実行->プロジェクトを開いて\ MDK-ARM \ Project.uvprojxを開きます(これはプロジェクトファイルです)
            -メニュープロジェクトを実行します->すべてのターゲットファイルを再構築しますすべてのファイルを再構築します:
            -メニューの実行フラッシュ->ダウンロード(F8)プログラムを開発ボードにダウンロードし、
     [IAR] V7.50.2を
            実行します-メニューのファイル->開く->ワークスペースを実行して\ EWARM \ Project.ewwを開きます(これはエンジニアリング作業です)プラットフォームのファイル)-execute
            -メニュープロジェクト>をすべて再コンパイルし、すべてのファイルを再構築します。
            -executeメニュープロジェクト- >ダウンロードとデバッグ(Ctrlキー+ D)は、プログラムをロードしてデバッグを開始します

  5. フォルダの説明の例

    ├─ドライバー:サードパーティが提供するライブラリまたはそのソースコードを保存します。これらのコードは通常、成熟した検証済みのコードです。
    │├─CMSIS:CMSISは、ARMがさまざまなチップおよびソフトウェアのサプライヤと緊密に協力して定義し、カーネルと周辺機器、リアルタイムオペレーティングシステム、および中間デバイス間の共通インターフェイスを提供します。
    │└─STM32F4xx_HAL_Driver:STM32F4xxシリーズMCUハードウェアアブストラクションレイヤ(HAL)ライブラリソースコード

    ├─EWARM:フォルダIARコンパイラプロジェクト

    ├─Inc:ユーザープログラムタスクを格納するために関連するヘッダファイル
    │└─bsp:周辺モジュールは、基礎となりますドライバのヘッダファイル

    ├─MDK-ARM:フォルダKeil社のコンパイラプロジェクト

    ├─Readme:エンジニアリング命令

    └─Src:ユーザープログラムタスクの音声Cを格納するためのソースファイル
        └─bsp:周辺モジュール基礎となるドライバのソースファイル

  6. プロジェクト内のソースコードのグループ化手順

    IARコンパイラ環境
    └─XXX_Project:プロジェクト名
       ├─Application:アプリケーション
       │├─EWARM:スタートアップファイル(アセンブラソース)
       │└─User:main.cのとユーザーアプリケーションで保存
       │
       ├─bsp:ボードサポートパッケージ、ストレージ機能ドライブ基礎となるモジュール 
       │
       ドライバ:├─Drivers
       │├─CMSIS:ファイルsystem_stm32f4xx.cインターフェース店のみCMSIS)
       │└─STM32F4xx_HAL_Driver:店舗HALライブラリのソースコードのMCU STM32F4xxシリーズ
       │
       ├─Readme:プロジェクトのドキュメント、唯一のTXT用
       のファイルを└─出力:プロジェクトコンパイル出力ファイル
       
    Keilコンパイル環境    └─XXX_Project
    :ターゲット名
    ├─アプリケーション/ MDK-ARM:起動ファイル(アセンブリソースプログラム)
       ├─アプリケーション/ユーザー:ユーザープログラムとmain.cの
       保存├─ドライバー/ STM32F4xx_HAL_Driver:シリーズMCU STM32F4xxHALライブラリのソースコードの
       保存├─ドライバー/ CMSIS:ストレージインターフェイスファイルのみ   
       CMSISIsystem_stm32f4xx.c├─bsp:ボードサポートパッケージ、モジュールの基礎となるドライバー機能を保存します  
       └─Readme:プロジェクトの説明ドキュメント、txtファイルのみ

  7. 公開ソースコードファイルの説明


    -main.c :ユーザーメインプログラム、main()関数を格納するファイル-stm32f4xx_it.c:割り込みサービスルーチンの集中ストレージ

  8. Cコンパイラで事前定義されたマクロ(プロジェクト設定の変更)

    USE_HAL_DRIVER-このシンボルを追加することは、STのHALライブラリペリフェラルドライバー
    VECT_TAB_SRAMを使用することを意味します-このシンボルを追加することは、割り込みベクトルテーブルがCPUの内部RAMにあることを意味します(CPUの内部RAMで実行されているプロジェクトには追加する必要がありますが、通常は追加しません使用済み)
    STM32F407xx-これを追加この記号は、STM32F407xxシリーズチップの使用を示します

  9. ヒープとスタックの容量を調整します

    IAR EWARMの場合、プロジェクト設定
            -メニュープロジェクト->オプション->リンカーの選択->構成ページ->編集ボタンをクリック->スタック/ヒープサイズに切り替える
            例:
                CSTACK = 0x1000
                HEAP = 0x400        
            
    For KEIL MDK、ヒープとスタックサイズの設定は、次のように起動ファイルstart_stm32f407xx.sを変更することで実現されます
            。Stack_SizeEQU0x00001000
            Heap_Size EQU 0x00000200

  10. 出力対象ファイル

    IAR EWARMの場合:
        \ EWARM \ Project \ Exe \ Project.hex-
        
    IAREWARMによってコンパイルされたファイルKEILMDKの    場合:
        \ MDK-ARM \ Project \ Project.hex-KEIL MDKによってコンパイルされたファイルで、 CPU    
        \ MDK-ARM \ Project \ Project.map-これはコンパイルされたリンクファイルであり、テキスト形式で、各関数と変数のアドレスとスペースの割り当てを表示できます。

おすすめ

転載: blog.csdn.net/qq1291917670/article/details/114997290