关于Nuttx操作系统
NuttX是一个成熟的实时操作系统
认识Nuttx和XiaomiVela
参考如下网站,先认识Nuttx
NuttX是一个成熟的实时操作系统,于07年由Gregory Nutt先生正式开源,2016年被三星选为TizenRT操作系统的内核,2019年在小米的推动下正式进入Apache基金会,经过开源社区多年的不懈努力,NuttX功能丰富,性能稳定,商业化成熟度高,Fitbit最近两代的手环产品和索尼多款消费级产品都是基于NuttX开发的。
NuttX可运行于各种处理器架构和硬件平台上,包括ARM、MIPS、AVR等其重点遵从特定的标准并且尽量 可伸缩良好且可适应从8位到32位单片机环境,在stm32上也能跑。Nuttx主要遵循的标准是 Posix和ANSI标准。
Xiaomi Vela 项目,是小米基于开源实时操作系统NuttX打造的嵌入式物联网软件平台。
小米基于 Apache NuttX 开发了为解决物联网碎片化而生的,物联网领域自研的嵌入式软件平台——Xiaomi Vela。在各种不同的物联网硬件上提供统一的软件平台,支持高性价比的MCU设备,为IoT的繁荣构建基础设施。
Xiaomi Vela 通过组件化能力,做到高度可伸缩、可裁剪,支持丰富的组件和易用的框架。同时,可以很方便的去支持功能差异跨度极大的各种物联网设备。还与 Linux 保持高度兼容性,适合做 Linux 的平替,帮助硬件实现降本。并基于物联网的特性,在多核异构、安全、超低功耗渲染和连接方面都建设了独有的能力。
IoT领域跟传统的PC和手机行业相比,最大的差异点就是IoT设备极其碎片化,这个碎片化给小米自身以及整个行业带来了效率低下的问题(代码的不可复用、软件的重复建设)。随着IoT行业的高速发展,到2030年全球还会新增150亿IoT设备,所带来的碎片化问题只会是越来越严重。因此,迫切的需要一个统一的软件平台来打通碎片化的IoT应用,让其能够和谐共通。
补充:小米开发者平台
更多待补充。
Nuttx源码和文档
Nuttx的源码在github上可以获取:
The Apache Software Foundation · GitHub
可以看到,nuttx是属于Apache的产品之一,我们在其工程上搜索nuttx相关的工程项目:
最重要的就是nuttx和nuttx-apps
其中,nuttx是系统内核,nuttx-apps是nuttx集成好的一些应用。
我们点进去,就能看到这两个项目的目录结构。
二者点进去的网站如下:
nuttx
GitHub - apache/nuttx: Apache NuttX is a mature, real-time embedded operating system (RTOS)
nuttx-apps
另外,nuttx有个在线文档:
NuttX Documentation — NuttX latest documentation (apache.org)
其中,对目录结构也有一些介绍:
Nuttx内核的目录结构
Directory Structure — NuttX latest documentation (apache.org)
Nuttx应用层的目录结构
Applications — NuttX latest documentation (apache.org)
更多待补充。
Nuttx的学习资料很少,这里提供一些其他用户写的文章参考:
这个用户写了一系列的文章
可以看看。
还有一些:
在NuttX中,任务的优先级是通过数值来表示的,其中数值越大,任务的优先级越高。这一点与FreeRTOS相似,后者也是数值越大,优先级越高。
总的来说,NuttX中的任务优先级设置是一个重要的调度参数,它决定了任务执行的先后顺序。理解并合理配置任务优先级对于开发高效稳定的实时应用至关重要。开发者应充分利用NuttX提供的丰富接口和配置选项,以实现最佳的系统性能。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)