| 本帖最后由 Simon21ic 于 2016-1-12 01:22 编辑 
 会有完整的应用部分的代码,不过系统部分,至少蓝牙协议栈以及wifi芯片驱动不会公开。
 所以,这个软件的结构是系统+应用,类似linux等,不过说实话,快过年了,而且自己又有很多产品要开发,所以时间上不可能很快,开发过程也可以通过github上的vsf看到,每一步的代码都会在里面更新。只能一点一点秀一些代码,那就秀一个应用的main函数代码吧:
 
 static void app_on_pendsv(void *param)
{
        struct vsfsm_evtq_t *evtq_cur = param, *evtq_old = vsfsm_evtq_get();
        vsfsm_evtq_set(evtq_cur);
        while (vsfsm_get_event_pending())
        {
                vsfsm_poll();
        }
        vsfsm_evtq_set(evtq_old);
}
int main(void)
{
        vsf_enter_critical();
        vsfsm_evtq_init(&app.pendsvq);
        vsfsm_evtq_init(&app.mainq);
        vsfsm_evtq_set(&app.pendsvq);
        vsfsm_init(&app.sm);
        vsfhal_core_pendsv_config(app_on_pendsv, &app.pendsvq);
        vsf_leave_critical();
        vsfsm_evtq_set(&app.mainq);
        while (1)
        {
                // no thread runs in mainq, just sleep in main loop
                vsfhal_core_sleep(SLEEP_WFI);
        }
}
 |