LiteOS
文章平均质量分 61
边缘物语
关注物联网编程、边缘计算。请关注公众号:边缘物语
展开
-
LiteOS解读_第一篇:代码下载
使用LiteOS有一段时间了。最近LiteOS又发布了V1.1.2版,感觉改动挺多的。为了促进自己学习,同时加深对LiteOS的理解,从今天开始写LiteOS的学习情况。首先是下载地址,LiteOS托管在github上,地址:https://github.com/LITEOS/git的使用不讲了,这个大家参看廖雪峰的教程,很详细。我使用的是LiteOS的V1版,因此后续从V1版开始...原创 2018-06-03 17:58:27 · 3672 阅读 · 1 评论 -
LiteOS解读_第二篇:通过指针的获取结构体入口
笔者以前一直是裸机写代码,还没有研究过其他的操作系统。以下技巧,获取其他操作系统中也有,但笔者感觉还是很精巧的,因此写下来,供大家分享。同时加快大家读代码的速度。操作系统使用过程中最重要的就是终端使用和任务调度。LiteOS在任务建立时,是建立了一个大的任务数组,每个任务按照索引分配一个单独的任务号,最终通过任务号完成对每个任务的查找或者指定。其中比较有意思的是,每个任务的首地址的查找,这...原创 2018-10-12 05:11:34 · 1688 阅读 · 2 评论 -
LiteOS解读_第三篇:任务的快速定位
如果上一篇文章看明白了,看代码的速度应该会加快很多。上篇文章写了LiteOS是建立了一个大的任务数组,任务的ID也可以通过数组唯一指定,那通过索引可以快速定位要看的任务。同时,在不同状态间进行切换时,LiteOS通过两个双向链表实现,这两个双向链表也是能快速理解代码的关键。下面我们通过一些实例看看它的应用。首先,我们看看任务结构体的定义:结构的定义是在文件:Los_tast.p...原创 2018-10-14 07:51:42 · 1770 阅读 · 0 评论 -
LiteOS解读_第四篇:上下文切换(任务切换)
现在大家用惯了C,估计对汇编会比较头大,但是上下文切换往往是汇编写的,操作系统的上下文又是任务调度的关键。这篇文章,就给大家详解下LiteOS的上下文切换。ARM中,上下文的切换逻辑是在PendSV中断中完成的。PendSV中断在系统中断中优先级最低,因此任务切换策略可以有systick触发,或者操作系统已有有的策略触发。systick触发状态下,就完成了时间片和优先级条件下的任务切换,也就是...原创 2018-10-16 08:24:04 · 1840 阅读 · 0 评论 -
LiteOS解读_第五篇:时间片调度任务
上篇文章,我们了解到了任务切换的具体实现。文中提到了,任务切换也可以通过时间片来实现。本文,我们就结合代码来说说LiteOS中的时间片建立。LITE_OS_SEC_TEXT_INIT UINT32 osTickStart(VOID){ ................................ m_pstHwiForm[OS_EXC_SYS_TICK] = (HWI...原创 2018-10-19 19:16:07 · 2599 阅读 · 0 评论