引言
本篇 LAT 介紹使用 CubeMX 創(chuàng)建基于 STM32WL 的 LoRa 應用。
STM32Cube_FW_WL_V1.0.0ProjectsNUCLEO-WL55JC 中的例程都是基于 STM32WL BGA73 的,CubeMX 無法直接創(chuàng)建基于 STM32WL QFN48 的例程。
同時介紹如何參考STM32Cube_FW_WL_V1.0.0ProjectsNUCLEOWL55JCApplicationsSubGHz_PhySubGHz_Phy_PingPong 創(chuàng)建一個 WLEx_PingPong 的例
子。
關于不同 MCU 間的移植可參考
UM1718 11.9 Switching to another MCU
UM1718 15 Tutorial 5: Exporting current project configuration to a compatible MCU
需要提前準備的環(huán)境:
1.配置 CubeMX
1.1 配置 CubeMX 并下載 CubeWL
可以使用 CubeMX 默認安裝的倉庫目錄也可以自定義倉庫目錄,本例使用自定義的倉庫目錄C:UsersgongwSTM32CubeRepositoryCubeWL,如下Help=>Updater Settings=>Repository Forlder=>C:UsersgongwSTM32CubeRepositoryCubeWL=>OK
選擇 Manage software installations 中的 Install or remove embedded software packages 下的
“INSTALL / REMOVE”
點Refresh 更新數(shù)據(jù)庫
Fresh 結束后,點開 STM32WL 左側的黑色三角,選中 STM32WL 下版本 1.0.0 的 STM32Cube
MCU Package for STM32WL Series,點 Install Now
點擊 Close
1.2 CubeMX 新建項目
打開 STM32CubeMX,在 New Project 下有三中選擇, 請根據(jù)需求選擇 New Project 的方式!
1.2.1 Start My project from MCU
第 1 種可使用于所有的 WL 產品,只能生成和配置的用戶自定義(User Defined)的LoRaWAN/SigFox/SUBGHZ 應用,不能生成 CubeWL 中 AT_Slave/EndNode/PingPong demo
1.2.2 Start My project from BOARD
第 2 種適用于 NUCLEO-WL55JC1 和 NUCLEO-WL55JC1 兩種 Demo 板,只能生成和配置的用戶自定義(User Defined)的LoRaWAN/SigFox/SUBGHZ 應用,不能生成 CubeWL 中AT_Slave/EndNode/PingPong demo
1.2.3 Start My project from EXAMPLES
第 3 種適用于生成 CubeWL 中 NUCLEO-WL55JC1 和 NUCLEO-WL55JC1 的 Examples,可生成和配置 CubeWL 中AT_Slave/EndNode/PingPong demo
選擇 NUCLEO-WL55JC 對應的 STM32WL55JC
1.3 CubeMX 導入參考項目
此時再查看 File =>Import Project 選項,變?yōu)榛疑?,表示新項目已被配置,不能?import 參考項目。
1.4 CubeMX 配置項目
1.4.1 CubeMX 配置 Project Manager
選擇 Project Manager
1.4.1.1 配置 Project
選擇右側 Project 并配置如下:
注意:
通過 Browse 選擇 Project 保存的目錄
項目名稱 WLEx_AT_Slave 創(chuàng)建在STM32Cube_FW_WL_V1.0.0ProjectsNUCLEO-
WL55JCApplicationsLoRaWAN 下,和LoRaWAN_End_Node 同級目錄,即
C:UsersgongwSTM32CubeRepositoryCubeWLSTM32Cube_FW_WL_V1.0.0ProjectsNUCLEO-WL55JCApplicationsLoRaWANWLEx_PingPong,以 便于與 LoRaWAN_End_Node 進行比較
配置 Application Structure 為 Advanced 與 basic 有什么區(qū)別?
Application Structure 為 Advanced 時目錄結構分類分級目錄更清晰。
Application Structure 為 Basic 時,所有的*.h 都在 WLEx_PingPongInc 目錄下,所有的*.c 在
WLEx_PingPongSrc 目錄下。
一旦生成過一次代碼后目錄結構就無法更改了?。?!
選擇右側 Code Generator 并配置如下,選擇”Add necessary library files as reference in the toolchain project configuration file “,這樣將不生成 Drivers 和 Middlewares 目錄。
選擇 Generated files 下的“Generate peripheral initialization as a pair of ‘.c/.h’ per peripheral”
注意:
Copy all used library Package (如復制 DriversSTM32WLxx_HAL_Driver 下的所有驅動)
WLEx_PingPong 復制到其他目錄下,還能工作
Copy only the necessary library files(如僅復制 DriversSTM32WLxx_HAL_Driver 下使用到的驅動)WLEx_PingPong復制到其他目錄下,還能工作
Add necessary library files as reference in the toolchain project configuration file(不生成 Drivers 和Middlewares 目錄,僅參考DriversSTM32WLxx_HAL_Driver 下的所有驅動)
WLEx_PingPong 復制到其他目錄下,不能工作
參考 UM1718 4.9 Project Manager view
3.配置外設
2.1 使能外設
2.1.1 Middleware=>SUBGHZ_PHY 使能
2.1.2 Timers=>RTC 使能
Timers=>RTC=>勾選 Activate Clock Source
2.2 RTC
Clock Configuration => RTC Clock Mux=>LSE
在 Clock Configuration 中檢查 RTC Clock Mux 是否配置為 LSE
Timer =>RTC=>Users Constants
Timer =>RTC=>Parameter Settings
Timer =>RTC=>NVIC Settings
Middleware => LORAWAN => Platform Settings => Timer Server => RTC
2.3 DebugLine
2.3.1 Middleware => SUBGHZ_PHY => SubGHz_Phy middleware =>
radio_board_if =>Actovate Debug Line
2.3.2. Platform Settings => VCOM => USART2
4.3.3. Clock Configuration => UART2 Clock Mux => SYSCLK
Platform Settings => VCOM => LPUART1
2.4 System Core => GPIO (RF SW CTRL / BUTTON / LED)
2.4.1 RF_CTRL
System Core => GPIO => PA8 (customizable)
Platform Settings => Radio => RF SW CTRL
2.4.2 LED
System Core => GPIO => PB2 (customizable)
Platform Settings => Board resources => LED
3 STM32WL Templates Patches for CubeMX
STM32WL Templates 在如下目錄,如需要可自行定制自己的 Templates
針對不同的客戶定制化的板子,硬件外設配置不一致,客戶可根據(jù)需要定制化自己的外設配置。
從 NUCLEO-WL55JC(BGA73) 移植到STM32WLExCxUx(QFN48)定制化的板子上,射頻開關(RF SW CTRL),按鍵(BUTTON), LED 的配置會不一樣,可能導致編譯錯誤,如想生成的代碼不會產生編譯錯誤,需要編輯一下 STM32WL的 template。
3.1 CubeMX template patches for stm32wl
請參考
3.2 CubeMX Updates from v6.1.1 to v6.2.0
4.驗證
4.1參考工程
4.2 編譯并下載
用 IAR 打開STM32Cube_FW_WL_V1.0.0ProjectsNUCLEOWL55JCApplicationsLoRaWANWLEx_PingPongEWARMProject.eww
如果 IAR 之前已經打開了 WLEx_PingPong,在每次重新生成代碼時都如有如下提示,選擇“Yes to All”
按 F7 或選擇 Project=>Make(F7)來編譯工程,如果編譯無錯誤,選擇Project=>Download=>Download Active Application 下載WLEx_PingPong 應用
審核編輯:湯梓紅
-
IAR
+關注
關注
5文章
350瀏覽量
36664 -
LoRa
+關注
關注
349文章
1689瀏覽量
231910 -
CubeMx
+關注
關注
0文章
30瀏覽量
1340
原文標題:工程師筆記|CubeMX 創(chuàng)建 WL SubGHz PingPong 應用
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論