Bovey's Blog

点滴


  • 首页

  • 归档

  • 标签

Contiki定时器

发表于 2016-10-21 | 分类于 Contiki , timer

了解contiki进程调度之前有必要先了解下它的定时器使用。因为作为轮询方式执行的函数,除了外部中断,其他事件中断可触发一些任务外,只有了解了才能明白系统是如何进行任务调度的。

Contiki有5种定时器:

  • clock : 用于处理系统时间,是下面集中timer的基础;而这个是需要platform提供的。
  • timer : 以clock的tick为单位进行计时,精度最高;
  • stimer: second timers,秒计时器,比timer计时时间长;timer和stimer库函数可以在中断中调用。
  • etimer: event timers,事件定时器,定期进行进程的事件调度;被用来上电时等待系统稳定,或进入低功耗模式;
  • ctimer: callback timers,回调定时器,定期执行进程回调函数,和etimer一样可被用于等待系统稳定和进入低功耗模式;但是更实用的是用在协议栈之类的非进程函数中。
  • rtimer: real-time timers,实时时钟定时器,用于实时任务的调度,rtimer优先级高于其它任何进程,以保证实时任务被及时调用。

本文参考Contiki的Timers

阅读全文 »

Contiki进程分析-hello world

发表于 2016-10-20 | 分类于 Contiki

Contiki定义了一个链表数据结构struct process{struct process *next; ...;}; 用来管理进程,所有需要执行的进程都被注册(通过process_starta函数添加)在这个链表上。这个数据结构中包含进程的状态。
链表上的进程根据需要以轮询的方式逐一执行。以printf(“hello,world.\n”)为例,函数体;

阅读全文 »

从main函数分析contiki

发表于 2016-10-20 | 分类于 contiki , c

使用平台为CC26xx,main函数基本上全部位于contiki下的platform文件夹下的各平台文件夹中,所以尝试从main函数入手分析。 main函数放在平台目录中,相同处理器不同的开发板提供的资源是不一样的,那么是需要新创建一个平台的,然后在里面进行各种定制,所以分析现有平台的设计方法是很有必要的。 main函数中主要包含:

  • *_init();
  • process*();
  • while(1);
阅读全文 »

C语言宏定义的使用

发表于 2016-10-17 | 分类于 C语言 , 技术

最近研究Contiki,看别人教程上分析宏定义,一层又一层,所以给自己充个电。 本文参考了hbprotoss的博客的C语言宏的特殊用法和几个坑和Anker’s的Blog的C语言宏高级用法 [总结]

阅读全文 »

Makefile入门

发表于 2016-10-14 | 分类于 C语言 , 技术

在写Contiki_Makefile-prj的时候,想到可能有的人一点都不了解Makefile,所以写此文以供入门。

阅读全文 »

Contiki_Makefile-prj

发表于 2016-10-14 | 分类于 Contiki

参考:鱼竿的传说 鱼竿的文档里写的思路很清晰,理解Makefile包含关系,点到为止,代码阅读中遇到宏进行搜索替换。逐层拨开云团迷雾,看清代码的本质,很是受用。

本篇同样从Makefile入手,了解示例工程中的Makefile的区别和平台上Makefile文件的移植自定义方法。文中有误之处迭代更新吧。

阅读全文 »

Contiki CC2650 HelloWorld例程测试

发表于 2016-10-12 | 分类于 Contiki

使用开发板完成HelloWorld的串口输出

环境搭建

  • 基于win10开发,所以要安装虚拟机VMware;
  • 官网下载ubuntu虚拟机镜像;
  • 启动虚拟机, 输入密码user完成登陆;
  • 下载最新版contiki系统源文件;
  • 下载CC26xx系列固件。
阅读全文 »

启程

发表于 2016-10-02 | 分类于 hexo

hexo + travis 搭建blog平台

平台的折腾暂时告一段落。经过一番摸索、碰壁;参考大家的教程终于实现了git push后网页自动更新了。这里记录几个坑。

阅读全文 »

开始-用hexo+Travis部署独立博文

发表于 2016-09-25 | 分类于 hexo

简述

需要安装:

  • node :选择Windows Installer (.msi),32bit/64bit根据系统自行选择。 安装完成后就可以用npm进行其他插件的安装了,安装时以管理员身份安装。
  • hexo
  • git
  • Ruby
  • Travis CI
阅读全文 »
1…45
xu.bovey

xu.bovey

点点 - 滴滴

49 日志
18 分类
27 标签
RSS
© 2019 xu.bovey
由 Hexo 强力驱动
主题 - NexT.Pisces