带你了解什么叫SAL套接字抽象层

时间:2018-07-21

  物联网设备,因为要连接网络和应用的多样化,导致软件的开发难度和复杂度大幅地增加,开发方式也会与之前的嵌入式设备大不一样。当前主流的软件开发模式是怎么样的呢?我们以一个典型的MCU+WiFi/NB-IoT SoC架构的IoT设备开发为例(图示一),开发人员需要针对特定的无线SoC/模块,开发MCU TCP/IP协议层以上的应用,包括MQTT、HTTP、Web Socket、业务类应用等等。一旦用户更换了无线芯片或模块,因为网络协议、编程接口等的不统一,上层应用都需要做大幅的改动甚至要重头来过。


(图示一:当前的软件开发模式)


  而如果采用了RT-Thread操作系统的SAL抽象层(图示二),开发者则无须考虑系统采用的是哪种无线方式、哪种无线芯片、甚至哪种模块,哪种接口,只需调用上层的API接口,即可实现开发,跨平台使用。不仅如此,RT-Thread支持的各种IoT软件包,都可以很方便的“即装即用”。


         (图示二:具备SAL的软件开发模式)

 

  以上可见,RT-Thread此次发布的SAL可谓对IoT产业意义重大,真正实现了系统(MCU+无线芯片/模块)层面的跨平台软件开发及兼容,暨ACS(Application Cross System),后期的应用扩展也会变得易如反掌。

  SAL介绍

  SAL,即Socketabstraction layer的缩写,意为套接字抽象层,处于网络硬件层与应用层之间。 其前身是RT-Thread 的 DFS_NET 组件,由于其对lwIP 有一定的依赖,存在局限性,RT-Thread对其进行了近乎重构的再造。SAL 的孕育而出,使得 RT-Thread 可以无缝接入各式各样的网络芯片或模块(例如: W5500/CH395 这类自带协议栈的以太网芯片,带 AT指令的 WiFi 模块、GPRS 模块、NB-IoT模块等等),极大地提升了RT-Thread 在 IoT 领域对于不同网络硬件的兼容性。其主要特性如下(图示三):

上一篇:怎样配置NCS21xR与NCS199AxR电流放大器
下一篇:如何快速、低成本桥接不同视频接口类型

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料