I-CUBE-LRWAN代码阅读笔记:软件组织架构
I-CUBE-LRWAN
I-CUBE-LRWAN 是 ST 官方為幫助開發(fā)者快速開發(fā) LoRaWAN 節(jié)點應(yīng)用,推出的一組軟件包。I-CUBE-LRWAN 支持 SX1276MB1MAS, SX1276MB1LAS, SX1272MB2DAS, SX1262DVK1DAS, SX1262DVK1CAS, SX1262DVK1BAS 等 lora 收發(fā)芯片,并且給出了這些芯片分別在 NUCLEO-L053R8, NUCLEO-L152RE, NUCLEO-L476RG 和 B-L072Z-LPWAN1 開發(fā)板上的例程用于學(xué)習(xí)。
I-CUBE-LRWAN 具有如下的特點:
- 兼容 LoRaWAN V1.0.3 標(biāo)準(zhǔn);
- 支持 A、B、C 類 LoRaWAN 協(xié)議;
- 符合歐盟 868 MHz ISM 頻段 ETSI(歐洲電信標(biāo)準(zhǔn)協(xié)會)標(biāo)準(zhǔn);
- 符合歐盟 433 MHz ISM 頻段 ETSI(歐洲電信標(biāo)準(zhǔn)協(xié)會)標(biāo)準(zhǔn);
- 符合美國 915 MHz ISM 頻段 FCC(聯(lián)邦通信委員會)標(biāo)準(zhǔn);
- 支持 OTAA(無線激活)或者 ABP(手動激活) 的方式激活終端設(shè)備;
- 自適應(yīng)傳輸速率;
- 包括用于認(rèn)證測試的 LoRaWAN? 測試應(yīng)用程序;
- 低功耗優(yōu)化;
- 兼容 STM32 的各產(chǎn)品線;
- 集成安全組件;
軟件包說明
I-CUBE-LRWAN 軟件包的工程架構(gòu)如上面的架構(gòu)圖。其中 HAL 層是 ST 官方提供的 HAL 庫。 User Application 層需要用戶根據(jù)自己實際的應(yīng)用進(jìn)行開發(fā)。I-CUBE-LRWAN 提供的最核心的組件包括三個部分:驅(qū)動、中間層以及工具包。驅(qū)動層主要是用來組織底層的代碼,主要包括一些板級支持包、LoRa收發(fā)器驅(qū)動以及傳感器驅(qū)動等;中間層 組織了一些協(xié)議及工具,例如 mbedtls 、LoRaWAN 棧等;工具層是 ST 提供的一些能讓開發(fā)者簡化應(yīng)用代碼編寫的軟件工具,例如:低功耗管理器、狀態(tài)機、軟件定時器等。文件目錄組織結(jié)構(gòu)如下所示:
├─Docs ├─Drivers │ ├─BSP │ │ ├─B-L072Z-LRWAN1 │ │ ├─CMWX1ZZABZ_0xx │ │ ├─Components │ │ ├─IKS01A2 │ │ ├─IKS01A3 │ │ ├─I_NUCLEO_LRWAN1 │ │ ├─LRWAN_NS1 │ │ ├─MDM32L07X01 │ │ ├─MDM32WL │ │ ├─STM32L0xx_Nucleo │ │ ├─STM32L1xx_Nucleo │ │ ├─STM32L4xx_Nucleo │ │ ├─SX1261DVK1BAS │ │ ├─SX1262DVK1CAS │ │ ├─SX1262DVK1DAS │ │ ├─sx1272mb2das │ │ ├─sx1276mb1las │ │ └─sx1276mb1mas │ │ │ ├─CMSIS │ ├─STM32L0xx_HAL_Driver │ ├─STM32L1xx_HAL_Driver │ └─STM32L4xx_HAL_Driver | ├─Middlewares │ ├─ST │ │ └─STM32_Secure_Engine │ │ ├─Core │ │ ├─Interface │ │ ├─Key │ │ └─Utilities | | │ └─Third_Party │ ├─LoRaWAN │ ├─mbedTLS │ └─SubGHz_Phy | ├─Projects │ ├─B-L072Z-LRWAN1 │ ├─NUCLEO-L053R8 │ ├─NUCLEO-L073RZ │ ├─NUCLEO-L152RE │ └─NUCLEO-L476RG | └─Utilities├─conf├─lpm├─misc├─sequencer├─timer└─trace其中:
- Docs: 軟件工程的整個文檔說明;
- Drivers:存放驅(qū)動層的代碼,例如 BSP、CMSIS、HAL 等;
- Middlewares:分為 ST 官方包和第三方軟件包,ST 官方包提供了一個加密用的引擎,第三方則包括了 LoRaWAN 協(xié)議棧、mbedTLS包和SubGHz_Phy包;
- Projects:ST 官方提供的例程工程文件,包括了一些主流的 IDE 工程文檔,可以使用 MDK、IAR、STM32CubeIDE等軟件直接打開構(gòu)建工程;
- Utilities:ST 提供的一些工具組件;
總結(jié)
以上是生活随笔為你收集整理的I-CUBE-LRWAN代码阅读笔记:软件组织架构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 桌面接龙游戏 -_-
- 下一篇: 商业经济杂志商业经济杂志社商业经济编辑部