基于STM32CubeMX的單片機最小系統設計_第1頁
基于STM32CubeMX的單片機最小系統設計_第2頁
基于STM32CubeMX的單片機最小系統設計_第3頁
基于STM32CubeMX的單片機最小系統設計_第4頁
基于STM32CubeMX的單片機最小系統設計_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、    基于stm32cubemx的單片機最小系統設計    楊曉艷 陳亮摘要:stm32cubemx是意法半導體推出的面向stm全系列單片機系統開發的輔助工具軟件,可以極大地降低開發的工作量、時間和成本。本文以意法半導體發布的stm32f746vet6芯片最小系統開發案例為例,介紹stm32cubemx工具軟件的使用流程。關鍵詞:stm32cubemx;stm32系列單片機;最小系統設計:tp368.1 :a :1007-9416(2018)06-0149-02隨著集成電路技術的高速發展,32位單片機(mcu)逐漸成為嵌入式系統設計的主流選擇。相對于8

2、位mcu而言,32位mcu性能更強、功能更豐富、管腳更多,一定程度上增加了系統硬、軟件設計的難度。stm32cubemx工具軟件為stm32系列單片機的開發工作帶來了極大的幫助,提升了工作效率。1 stm32cubemx簡介stm32cubemx具有圖形化操作界面,能方便地進行管腳的功能定義,時鐘樹、外設參數和中間件的配置,可自動生成適合于多種集成開發環境(iar ewarm、keil mdk或基于gcc的ide)工程項目的初始化c代碼,便于用戶在此基礎上進行深層次開發。與stm32cubemx工具軟件配套的stm32cube庫主要包括兩大類:hal硬件抽象層:通過hal可以通過標準api調用

3、實現stm32系列單片機的程序互相移植。中間件組件:包括rtos、usb庫、文件系統、tcp/ip棧、觸摸感應庫或圖形庫等,同時具備大量的樣例和演示代碼,可幫助用戶實現快速開發。2 芯片管腳的功能定義stm32f746vet6單片機最小系統設計主要涉及電源、復位、時鐘等基本功能設計,串口模塊用于說明外設參數的設置方法。在stm32cubemx軟件中根據目標芯片建立項目文件后,“pinout(管腳配置)”界面將會顯示芯片的封裝圖形。芯片的電源、數字/模擬地、復位等固定功能管腳直接顯示功能名稱,以黃色或暗黃色標注,用戶不能更改其定義;通用i/o管腳在未定義具體功能之前,顯示默認名稱,以灰色標注。在

4、“peripherals(外圍設備)”目錄下,軟件以模塊的功能進行分類顯示,用戶根據需求進行操作,軟件將自動分配相關管腳,顯示管腳的功能名稱,以綠色標注。單片機管腳功能定義的操作流程如下圖1所示。(1)在“rcc”中配置系統時鐘源:“high speed clock(高速時鐘源)”選擇“crystal/ceramic resonator”,軟件將自動分配“rcc_osc_in、rcc_ osc_out”管腳。“low speed clock(低速時鐘源)”選擇“crystal/ceramic resonator”,軟件將自動分配“rcc_ osc32_in、rcc_osc32_out”管腳。s

5、tm32f746vet6單片機可使用內、外兩種時鐘源,如果選擇內部時鐘,則不用配置該項。(2)在“sys”中配置仿真端口:“debug(調試)”選擇“jtag(5 pins)”。軟件將自動分配“sys-jtag、sys_jtdo-swo、sys_jtdi、sys_jtck-swclk、sys_jtms-swdio”等管腳。(3)在“usartx”中配置串口:stm32f746vet6芯片具備多個串口模塊,可根據串口需求數量進行配置。在“usart1”中,“mode(模式)”選擇“asynchronous(異步)”,軟件將自動分配“usart1_ rx、usart1_tx”。stm32f746v

6、et6單片機最小系統管腳功能定義,如圖1所示。由于通用i/o管腳具備復用功能,如需調整軟件自動分配的管腳定義,可單擊目標管腳,軟件將自動彈出管腳可復用功能的名稱菜單,選擇相應功能即實現管腳功能更改,同時具備相同功能的管腳將自動恢復為通用i/o狀態。采用stm32cubemx軟件進行管腳功能定義,可以為單片機系統硬件電路設計提供直觀的芯片管腳分配參考,避免硬件設計中易發的管腳功能沖突的錯誤。3 芯片時鐘樹設置stm32f746vet6芯片采用多總線時鐘運行模式,能充分發揮不同運行速率的模塊功能,“clock configuration(時鐘配置)”界面可實現單片機時鐘樹管理,操作流程如下:(1)

7、時鐘晶振參數設置。(2)總線時鐘源選擇。(3)鎖相環(pll)的倍頻、分頻系數設置。(4)外設總線時鐘分頻系數設置。在進行時鐘樹的參數配置時,每一個參數的變化都會導致與之相關的時鐘頻率發生變化。如果某個時鐘頻率配置過高,軟件將以紅色進行提示錯誤結果,用戶可通過提示及時消除錯誤,使單片機的運行時鐘處于正常狀態。時鐘樹的配置結果將會生成的初始化c代碼直接體現出來,無需用戶再手動編寫初始化代碼。4 外設參數設置stm32cubemx軟件的“configuration”界面顯示了單片機所有處于激活狀態的功能模塊。雙擊模塊圖標,將會彈出“參數設置界面”,主要包括五種可選項。以本文定義的“usart1”為

8、例進行說明:“parameter settings”選項:串口參數設置。基本參數(波特率、通信位長、校驗位、停止位);高級參數(收發功能、采樣方式),串口硬件特性。“user constants”選項:用戶自定義參數。以宏定義形式出現在初始化代碼中。“nvic settings”選項:中斷定義。如果選擇中斷有效,將在初始化代碼中生成與串口中斷相關函數定義。“dma settings”選項:dma方式設置。“gpio settings”選項:外設相關管腳映射列表。可在“use label”中定義用戶自定義名稱,將在初始化代碼中出現。5 初始化c代碼生成在完成上述操作之后,就可以開始生成初始化c代

9、碼。點擊“project(項目)”菜單下“settings(設置)”命令,彈出“project settings(項目設置)”界面,填寫軟件工程項目的名稱、存放路徑,選擇ide類型(本文選擇mdk-arm v5)。再次選擇“project”菜單,執行“generate code(代碼生成)”命令,就可以生成包含初始化c代碼的軟件工程項目。利用mdk-arm v5集成開發環境打開已生成的軟件工程項目,可以看到項目已具備完整的單片機軟件開發架構,初始化c代碼已自動生成。其中,項目結構樹中顯示的“drivers/stm32f7xx_ hal_driver”目錄包含了hal庫文件,用戶只需要按照hal

10、編程規范在添加自定義功能,即可完成軟件項目的后續開發。打開自動生成的程序文件,會發現存在豐富的備注語句,用戶可通過備注了解程序文件已實現的功能。其中,程序文件中存在添加自定義代碼的備注,例程如下:/* user code begin */用戶添加代碼區域/* user code end */用戶可在該類備注之間自行添加程序代碼以實現相關功能,如果是后期需要對項目功能進行增刪,仍可以stm32cubemx軟件進行調整,軟件將自動保留備注之間的相關代碼,無需再次手動編寫,這項功能為項目的持續改進提供了極大的便利。6 結語stm32cubemx工具軟件用于stm32系列單片機系統開發,能夠對從硬件設

11、計到軟件開發整個流程起到強有力的輔助性作用,節約大量的工作量,加快系統開發進程。hal庫文件采用了分層設計的思想,實現了對硬件層的抽象設計,可以讓用戶從繁瑣的基于寄存器編程方式中解放出來,即提高了程序的可移植性,又可讓用戶投入更多精力到應用層的開發,極大提升了工作效率,是今后嵌入式系統設計與開發的新方向。參考文獻1羅清龍,馮敏,李清濤.基于stm32cubemx嵌入式實驗教學改革實踐j.計算機教育,2018,(1):155-158.2羅瑤,魏忠義,朱磊,等. stm32cubemx的高速usb通信模塊設計j.單片機與嵌入式系統應用,2017,17(9):46-48.3邢方誠,王素珍,宗衛華,等

12、.基于stm32 cubemx的高速嵌入式圖像采集系統j.單片機與嵌入式系統應用,2016,16(5):42-45.abstract:stm32cubemx is an assistant tool software developed by stmicroelectronics for the development of stm full range scm systems, which can greatly reduce the development workload, time and cost. this article takes stmicroelectronics stm32f746vet6 chip minimum system development case as an example to introduce the use of stm32cubemx tool software application process.key words:s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論