mbed是重要的LoRa代碼匯集地之一悍赢。上面有多名作者和團(tuán)隊(duì)在貢獻(xiàn)代碼崎逃。除了Semtech/STM/MultiTech這些元組件供應(yīng)商台丛,還有第三方個(gè)人和團(tuán)隊(duì)在維護(hù)自己的代碼主線善榛。雖然其代碼的驅(qū)動(dòng)大多來自Semtech缚柏,但是出現(xiàn)了一些細(xì)微的差異苹熏。
- Semtech/STM/MultiTech大多基于L073/L053/L152+SX1272/1276提供LoRa物理層、LoRaWAN設(shè)備的源碼和工具币喧,其中MultiTech提供了AT-command的固件轨域;
- 第三方團(tuán)隊(duì)提供了改良版的LoRa物理層驅(qū)動(dòng)、LoRaWAN設(shè)備端杀餐,和基于同樣硬件的LoRaWAN單通道網(wǎng)關(guān)設(shè)計(jì)干发。
在評(píng)估過第三方的設(shè)備和單通道網(wǎng)關(guān)設(shè)計(jì)后,發(fā)現(xiàn)完整的LoRaWAN設(shè)備很可能需要采用128KB的ROM空間史翘,因?yàn)樾枰С执罅康倪B接輔助功能如:
- LoRaMAC-crypto
- AES
- CMAC
- Sensor (I2C/ADC)
- OTA
- host interface (AT command or other RPC)
- GPS
無論是基于L152(M3)還是L073(M0+)枉长,其編譯后的代碼空間在66KB冀续,已經(jīng)超過了64KB。當(dāng)然必峰,如果砍去GPS/OTA/傳感器洪唐,或者換用C編譯器,或許可以壓縮到64KB以內(nèi)吼蚁,但是開發(fā)很受限制凭需。所以像LPC824此類的MCU無法用于LoRaWAN設(shè)備端開發(fā),最多就是支持CC1101之類的桂敛。相比之下功炮,單通道網(wǎng)關(guān)編譯結(jié)果是80KB ROM和10KB RAM,采用普通的STM32F103RB/STM32F072RB即可术唬。