本帖最后由 vsf 于 2018-4-1 14:24 编辑
按照以前的培训经验,大概率下,XX==放弃。
以前也已经介绍过VSF很多次了,虽然都是比较零散的介绍。现在有新的论坛,那就重新整理一下,系统话的介绍一下VSF的构架和一些模块。不过说实话,我相信大部分看的人里,XX还是等于放弃。VSF构架中,使用的很多思想其实都是高端开发中比较成熟的思想,但是,这写思想在MCU开发中,并不能算是普及的。
举个栗子:串口的收发处理。
大学刚毕业的应届生,大部分会写成这样:
for (i = 0; i < len; i++)
{
uart->data = buf;
while (uart->status != tx_ready);
}
然后,有过一定的开发经验的会使用fifo来实现串口的收发。
VSF中,串口可以有2种模式,一种是流模式,一种是帧模式(通过IDLE中断判断帧结束)。
高层应用中,很多组件都提供流接口,比如shell组件。
如果shell组件链接到串口流,那shell就会出现在串口上。如果连接到CDC的流,就会出现在USB模拟的串口上。如果连接到telnetd提供的流,那就可以通过telnet连接。甚至可以链接到文件流,可以实现输出log以及输入脚本文件。
另外,VSF中的多任务方式也和RTOS的区别非常大。我想这个应该就是大部分人适应不了的地方吧。虽然基于状态机实现的多任务构架中,VSF不是第一个。但是,VSF在状态机的构架下,实现了非实时、软实时、硬实时优先级。并且实现了关中断和关调度等RTOS具备的功能。虽然VSF的多任务核心代码并不多,不过要能够完全应用起来,还真不是非常简单的。
后面的章节会陆续跟上,看看你这里XX等于放弃还是等于精通。
|