vnRTOS
连志安的博客
OpenHarmony龙芯架构SIG小组负责人,OpenHarmony教育工作组副组长,开源大师兄项目执行总监,
华为HDE专家,开放原子开源基金会2022开源贡献之星,广州市天河区软件协会专家委员,润和软件生态技术总监
出版书籍《物联网——嵌入式开发实战》。移植OpenHarmony到龙芯相关芯片,GD32,STM32芯片并开源。
展开
-
自制国产精简内核 vnRTOS 第 5 节 线程的异步通知
自制国产实时内核——vnRTOS 所有文档:vnRTOS 文档对于多线程,还有一个问题不容忽视。就是生产者和消费者的问题。我们考虑一个场景。线程 A 接受网络数据,如果没有网络数据,那线程 A 就要进入休眠。那当网卡接收到数据包的时候,如何去唤醒 线程A 呢?我们引入信号量的概念:线程A 首先去获取网络数据包这个信号量,如果为0 说明没有网络数据,进入休眠。如果网卡接收到了数据,那...原创 2020-01-26 17:06:19 · 783 阅读 · 0 评论 -
自制国产精简内核 vnRTOS 第 4 节 线程的同步与互斥——资源
自制国产实时内核——vnRTOS 所有文档:vnRTOS 文档线程的同步与互斥——资源:我们想象一个场景,比如我们有两个线程都需要使用到打印机。但是打印机只能同时给一个线程使用,那么我们内核如何解决此类问题呢?这里我们引入一种资源的概念。我们把打印机看成资源。线程需要使用的时候,先获取该资源,如果能获取到,则进行接下来的操作,如果获取不到,则退出或者休眠,等待资源准备好。这...原创 2020-01-26 16:57:24 · 727 阅读 · 0 评论 -
自制国产精简内核 vnRTOS 第 3 节 让内核跑起来
自制国产实时内核——vnRTOS 所有文档:vnRTOS 文档首先我们看下如何使用:main函数部分: core_init(); led1_id = task_create(led1_task, (void *)0, 10 * TASK_STACK_40_BYTE, USER_PRIO_BASE, "led1"); led2_id = task_create(led2...原创 2020-01-26 16:45:44 · 754 阅读 · 0 评论 -
自制国产精简内核 vnRTOS 第 2 节 代码结构
自制国产实时内核——vnRTOS 所有文档:vnRTOS 文档本节主要是讲下如何使用 vnRTOS代码框架目前源码使用的是STM32F407芯片。整个代码的框架如下:其中, n_os 是整个内核的源码部分。打开可以看到如下文件:chip —— 是和具体芯片相关的代码,如果要移植,主要移植这个文件。其中有三个文件:chip / cpu_sys.c —— 该...原创 2020-01-26 16:37:14 · 795 阅读 · 0 评论 -
自制国产精简内核 vnRTOS 第 1 节 内核介绍
首先,我们先问自己几个问题:问:当前市场上有ucOS、freeRTOS、RT-thread 等内核、还有开源的linux等,为什么我们还要自己在开发一套内核呢?ucOS 是商业收费的,freeRTOS 是一个免费的开源的内核,非常好用。RT-thread也是一款国产的实时内核,非常好用,强烈推荐大家使用RT-thread。至于为什么还要自己开发一套实时内核呢?一个是源于技术的追求。v...原创 2020-01-26 16:21:05 · 2218 阅读 · 0 评论 -
物联网实时内核 vnRTOS 免费开源
本内核开源免费,欢迎大家下载使用学习,目前内核基础工作模块工作正常,有bug可以反馈给我。内核源码下载链接:https://gitee.com/qidiyun/QDos此例程是基于 STM32F407ZG 芯片的,STM32F103 的也差不多,自己移植,或者我有空了再放上来。自制国产实时内核——vnRTOS 所有文档:第 1 节 内核介绍第 2 节 代码结构第 3...原创 2020-01-23 14:47:06 · 2552 阅读 · 3 评论