- 博客(9)
- 资源 (4)
- 收藏
- 关注
原创 Contiki项目实战(END)
导读 本文作为Contiki内核分析的实战环节,将之前学习梳理的Contiki内核知识,进行综合的应用,做出带有一定实用价值的项目,从而提高Contiki的应用能力。 引入 疫情影响,还没有回到公司,过年回家时只带了一块普中的51开发板,在电脑上只找到了开发板的部分资料。1602LCD屏,ds1302模块,at24c02模块,组合一下可以做一个数字万年历。系统上电后,从at24c02中读取参数,p...
2020-02-16 20:30:47
514
原创 Contiki的内核分析-定时器模型
导读 本文通过分析Contiki的源码,梳理Contiki的定时器模型中一共5个定时器的工作机制和原理。 引入 从本文开始,我们开始探究Contiki的5个定时器模型,遵循从易到难的原则,我们先开始两个基本的内核定时器timer和stimer,两者唯一的区别就是timer以内核tick为单位,stimer以秒为单位。因此只需要了解timer即可类推到stimer。 在探究timer之前,我们先回顾...
2020-02-16 20:29:09
551
原创 Contiki的内核分析-协程机制(二)
导读 本文通过分析Contiki的源码,梳理Contiki的process-event模型中的process机制。 引入: 通过前文的阐述我们明白了Contiki的协程工作的逻辑层面。本文在上一篇的基础上,进一步分析协程在语法层面的实现,而这也正是Contiki设计中最精妙的部分。 还是以看门狗协程为例 PROCESS(dog,"dog");//看门狗任务 PROCESS_THREAD(dog, ...
2020-02-16 20:27:26
553
原创 Contiki的内核分析-协程机制(一)
导读 本文通过分析Contiki的源码,梳理Contiki的process-event模型中的process机制。 通过前文的阐述我们贯通了event机制的原理。从本文开始,分析Contiki的process机制。 综述 Contiki的process机制实质上是一种协程调度机制,区别于抢占式调度,它只使用了2个字节的变量保存了process的“栈环境[1]”。所有的process以链表的形式保...
2020-02-16 20:25:17
624
原创 Contiki的内核分析-事件驱动(二)
导读: 本文通过分析Contiki的源码,梳理Contiki的process-event模型中的event机制。 通过前文的阐述我们知道了Contiki的事件处理机制,本文梳理Contiki的事件产生机制。 Contiki中的事件产生方式主要有2种: etimer定时器到期产生事件调用内核函数process_post_synch或者process_post产生事件 1)etimer定时器到期事件...
2020-02-16 20:23:20
702
原创 Contiki的内核分析-事件驱动(一)
导读: 本文通过分析Contiki的源码,梳理Contiki的process-event模型中的event机制。 通过前文的阐述我们知道,Contiki是基于事件驱动的,有process-event模型和5大定时器机制。本文开始梳理process-event模型中的event处理机制。下篇文章继续梳理process-event模型中的event产生机制。 Contiki的内核执行函数是proces...
2020-02-16 20:21:14
562
原创 Contiki在单片机上的编程框架
导读: 本文讲解了Contiki在单片机上的编程框架和一般的开发流程,并给出范例程序。并较为浅显解释了Contiki的工作机制。 如何使用Contiki开发程序? 先给出main函数代码,有个直观感受。 int main(void) { hardware_init(); clock_init(); rtimer_init(); ctimer_init(); process_in...
2020-02-16 20:17:31
656
原创 Contiki在51单片机上的移植
Contiki简介: Contiki是一个小型、开源、极易移植的多任务操作系统。它专门设计以适用于一系列的内存受限的网络系统,包括从8位电脑到微型控制器的嵌入系统。Contiki只需几千字节的代码和几百字节的内存就能提供多任务环境和内建TCP/IP支持。作为基础的内核以及大部分的核心功能是瑞典计算机科学研究所的网络内嵌系统小组的Adam Dunkels开发的。 51单片机简介: 51单片机是对所有...
2020-02-16 20:15:23
1821
原创 leetcode01
/* @lc app=leetcode id=1 lang=cpp [1] Two Sum https://leetcode.com/problems/two-sum/description/ algorithms Easy (40.14%) Total Accepted: 1.4M Total Submissions: 3.5M Testcase Example: ‘[2,7,1...
2019-02-06 21:32:00
157
simulate_process.zip
2019-06-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人