VSF的全称是Versaloon Software Framework,是一个事件驱动的状态机系统构架,可以配置为抢占式或者协作式,并且自带一些软件中间件,包括USB主从机协议栈、TCPIP协议栈,当然也有不少未公开的代码。VSF构架的公开代码在:https://github.com/versaloon/vsf。
VSF从名字看来,就知道是起源于我的一个编程器开源项目Versaloon。Versaloon本质是一个USB转接工具,可以转接为JTAG、SWD、SWIM、SPI、UART等等各种可以用于芯片编程和调试的接口。然后配合上位机软件,可以用一个硬件,来支持各种不同的MCU的程序下载甚至调试。OpenOCD里versaloon驱动叫vsllink。VSF的hal(hardware abstraction layer硬件抽象层)的设计,最早就是来自于Versaloon。Versaloon的代码在这里:https://github.com/versaloon/versaloon,当然目前已经基本不怎么维护了。当然,随着VSF的不断完善和发展,现在已经完全脱离Versaloon了。
当然,作为一个软件构架,自然不能仅仅是一个hal。后来经过不断的完善,同时也参考了不少其他的系统框架以及OS(包括QP、Contiki、一些RTOS等等),才形成了VSF现在的底层多任务实现方式。VSF吸取了这些构架的特点,并且一些部分使用了自己的实现方式。当然,对VSF帮助最大的,还是自己从事的消费类行业。各种不同的产品需求、三天两头改需求、动不动换芯片,基本上都是开发的大敌,不过经过这些项目的锤炼,也基本造就了VSF的很多应用特性。所以,总体上来讲,VSF的设计目标是实现一个嵌入式MCU的RAD(快速应用开发)开发平台。经过这些年的发展,VSF中的内容不少,以后慢慢讲了。
PS: 还是MD方便