Advertisement

协议栈初始化

阅读量:

协议栈运行于平台硬件之上,在其初始化前首先完成的是平台初始化工作(包括但不限于时钟配置、中断管理、定时器设置以及串口配置等),这些基础功能的完成为后续协议栈的正常运行提供了必要的支持环境。大多数Zigbee协议栈均依赖操作系统来实现任务间的协调与通信。在完成了硬件初始化后还需对操作系统进行相关配置与启动(如OSAL机制采用类似思路)。针对嵌入式系统设计的操作系统通常体积较小(mini OS),其多线程实现相对简单(如ucosii OS只需按照固定格式填充相应的接口即可)。下面以Freakz中的Contiki为例介绍相关的初始化过程。

  • /第一步/
  • void process_init(void)
  • {
  • lastevent = PROCESS_EVENT_MAX;
    • nevents = fevent = 0;
    • process_current = process_list = NULL;
  • }
  • /第二步/
  • void autostart_start(struct process * const processes[])
  • {
  • int i;
    • for(i = 0; processes[i] != NULL; ++i) {
  • process_start(processes[i], N

全部评论 (0)

还没有任何评论哟~