![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
nRF Connect SDK
文章平均质量分 87
Nordic nRF Connect SDK开发平台相关文档。
最近学习ncs,记录一下相关资料,方便后面查看。
Lemonmmm
从事BLE及2.4G行业,有问题欢迎沟通交流。
展开
-
NCS-OS系列13 :互斥锁
NCS-OS系列13 :互斥锁文章目录NCS-OS系列13 :互斥锁前言概念可重入锁优先级继承实现定义一个互斥锁锁定互斥锁解锁互斥锁推荐用法配置选型前言ncs 相关文章,部分为原始文档翻译,水平有限,如果有错误,欢迎指出。本文参考链接:https://docs.zephyrproject.org/latest/reference/kernel/synchronization/mutexes.html概念互斥锁是一个内核对象,它实现了一个通用的可重入互斥锁。互斥锁通过确保对资源的互斥访问,允许多翻译 2021-01-06 10:31:43 · 279 阅读 · 0 评论 -
# NCS-OS系列12 :信号量
NCS-OS系列12 :信号量文章目录NCS-OS系列12 :信号量前言概念实现定义一个信号量给出信号量获取信号量推荐用法前言ncs 相关文章,部分为原始文档翻译,水平有限,如果有错误,欢迎指出。本文参考链接:https://docs.zephyrproject.org/latest/reference/kernel/synchronization/semaphores.html概念信号量是一个内核对象,它实现了一个传统的计数信号量,可以定义任意数量的信号量(仅受可用RAM的限制)。每个信号量翻译 2021-01-06 09:59:54 · 247 阅读 · 0 评论 -
NCS-OS系列11 :轮询API
NCS-OS系列11 :轮询API文章目录NCS-OS系列11 :轮询API前言概念实现使用`k_poll`使用`k_poll_signal_raise()`推荐用法配置选项前言ncs 相关文章,部分为原始文档翻译,水平有限,如果有错误,欢迎指出。本文参考链接:https://docs.zephyrproject.org/latest/reference/kernel/other/polling.html概念轮询API用于同时等待多个条件中的任何一个得到满足,轮询API的主要函数是k_poll翻译 2021-01-05 22:06:57 · 381 阅读 · 0 评论 -
NCS-OS系列10 :中断
NCS-OS系列10 :中断文章目录NCS-OS系列10 :中断前言前言ncs 相关文章,部分为原始文档翻译,水平有限,如果有错误,欢迎指出。本文参考链接:https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/reference/kernel/other/interrupts.html...翻译 2021-01-05 14:58:29 · 384 阅读 · 0 评论 -
NCS-OS系列9 :工作队列线程
NCS-OS系列9 :工作队列线程文章目录NCS-OS系列9 :工作队列线程前言概念工作项生命周期延迟工作触发工作系统工作队列 `System Workqueue`实现定义一个工作队列提交工作项提交一个延迟工作项推荐用法配置选项前言ncs 相关文章,部分为原始文档翻译,水平有限,如果有错误,欢迎指出。本文参考链接:https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/reference/kernel/threads/w翻译 2021-01-05 14:56:49 · 402 阅读 · 0 评论 -
# NCS-OS系列8 :系统线程
NCS-OS系列8 :系统线程文章目录NCS-OS系列8 :系统线程前言概念实现写一个`main()`函数推荐用法前言ncs 相关文章,部分为原始文档翻译,水平有限,如果有错误,欢迎指出。本文参考链接:https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/reference/kernel/threads/system_threads.html概念系统线程是内核在系统初始化期间自动生成的线程。系统生成如下的系统线程翻译 2021-01-05 13:58:21 · 196 阅读 · 0 评论 -
NCS-OS系列7 :调度器
NCS-OS系列7 :调度器文章目录NCS-OS系列7 :调度器前言概念调度算法协作式时间片抢占式时间片调度锁线程休眠忙等待推荐用法前言ncs 相关文章,部分为原始文档翻译,水平有限,如果有错误,欢迎指出。本文参考链接:https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/reference/kernel/scheduling/index.html概念Zephyr内核的基于优先级的调度器允许应用程序的线程共享CPU翻译 2021-01-05 11:40:39 · 275 阅读 · 0 评论 -
NCS-OS系列7 :线程
NCS-OS系列7 :线程文章目录NCS-OS系列7 :线程前言简介生命周期 `Lifecycle`线程创建 `Thread Creation`线程结束 `Thread Termination`线程终止 `Thread Aborting`线程挂起 `Thread Suspension`线程状态 `Thread States`线程栈对象 `Thread Stack objects`Kernel-only StacksThread stacks线程优先级 `Thread Priorities`线程选项 `Th翻译 2021-01-04 22:38:52 · 325 阅读 · 0 评论 -
NCS-OS系列6 :内核服务
NCS-OS系列6 :内核服务文章目录NCS-OS系列6 :内核服务前言内核服务简介线程、中断和同步数据传递内存管理时间其他前言ncs 相关文章,部分为原始文档翻译,水平有限,如果有错误,欢迎指出。本文参考链接:https://docs.zephyrproject.org/latest/reference/drivers/index.html内核服务简介Zephyr内核是每个Zephyr应用程序的核心,它提供了一个低内存占用、高性能、多线程的执行环境和一组丰富的可用特性,Zephyr生态系统的翻译 2021-01-04 17:22:51 · 349 阅读 · 0 评论 -
NCS-OS系列5 :设备驱动模型
NCS-OS系列5 :设备驱动模型文章目录NCS-OS系列5 :设备驱动模型一、简介二、标准驱动英文原版链接如下:https://docs.zephyrproject.org/latest/reference/drivers/index.html一、简介Zephyr内核支持多种设备驱动程序。驱动程序是否可用取决于板子和驱动程序。Zephyr设备驱动模型为配置作为系统一部分的驱动程序提供了一致性的设备模型。设备模型负责初始化配置到系统中的所有驱动程序。每种类型的驱动程序(例如UART、SPI、翻译 2021-01-04 16:20:13 · 629 阅读 · 0 评论 -
NCS-OS系列3 :devicetree介绍
NCS-OS系列3 :devicetree介绍文章目录NCS-OS系列3 :devicetree介绍前言一、devicetree概念二、语法和结构三、Unit address示例3.1 内存映射外设3.2 I2C外设3.3 SPI外设3.4 存储器3.5 内存映射flash3.6 内存分区四、重要属性介绍4.1 compatible4.2 label4.3 reg4.4 status4.5 interrupts五、Aliases and chosen nodes六、输入输出文件6.1 输入文件6.2 脚本翻译 2021-01-03 21:40:45 · 1060 阅读 · 0 评论 -
NCS-OS系列4 :如何创建编译一个ncs工程
NCS-OS系列3 :如何创建编译一个ncs工程文章目录NCS-OS系列3 :如何创建编译一个ncs工程前言一、创建工程1,创建文件目录2,创建工程源文件3,创建CmakeList.txt文件4,创建prj.conf文件5,配置devicetree的overlay文件二、编译工程1.使用west编译2.使用CMake和ninja烧录1.使用west烧录2.使用板子支持的烧录工具总结前言目前Nordic部分芯片开发基于nRF Connect SDK也就是NCS SDK进行,ncs SDK基于zephy原创 2021-01-03 18:22:27 · 768 阅读 · 0 评论 -
NCS-OS 系列2:NCS-SDK kconfig语法简介
NCS-OS 系列2:NCS-SDK kconfig语法简介概述目前Nordic部分芯片开发基于nRF Connect SDK也就是NCS SDK进行,ncs SDK基于zephyr系统进行开发,这里对NCS SDK的结构做一个简单的介绍。本文基于Noridc官方发布的文档,以nRF9160为实例进行分析,示例代码均以9160平台为基础。备注:本系列中,代码截图时,一般会把路径一起截进去,找不到文件的时候,可以看下截图里面的文件路径进行查找。概念Kconfig的作用是用来配置内核,它就是各种配置界原创 2021-01-03 17:39:04 · 654 阅读 · 0 评论 -
NCS-OS系列1 : NCS-SDK编译过程解析
概述目前Nordic部分芯片开发基于nRF Connect SDK也就是NCS SDK进行,ncs SDK基于zephyr系统进行开发,这里对NCS SDK的结构做一个简单的介绍。本文基于Noridc官方发布的文档,以nRF9160为实例进行分析,示例代码均以nRF9160平台为基础。备注:本系列中,代码截图时,一般会把路径一起截进去,找不到文件的时候,可以看下截图里面的文件路径进行查找。构建过程总览nRF Connect SDK的构建过程和zephyr的构建过程是一致的,主要分为两个阶段:配置翻译 2021-01-03 13:31:55 · 1587 阅读 · 0 评论 -
ncs devicetree gpio.h 相关宏定义使用说明
关于gpio的PIN及Flag说明: * gpio1: gpio@... { * compatible = "vnd,gpio"; * #gpio-cells = <2>; * }; * * gpio2: gpio@... { * compatible = "vnd,gpio"; * #gpio-cells = <2>; * }; * *原创 2020-12-31 17:30:03 · 1253 阅读 · 0 评论 -
devicetree.h常用宏定义使用说明
DT_NODELABEL(label)根据devicetree 的 node label获取node id,注意,node label和label属性不是一种概念。 * serial1: serial@40001000 { * label = "UART_0"; * status = "okay"; * current-speed = <115200>; * ... *原创 2020-12-29 17:27:15 · 2011 阅读 · 0 评论 -
使用vscode调试ncs时头文件包含问题
说明使用vscode来查看ncs的代码时,头文件处会出现如下图所示的红色波浪线,也就是未包含相应头文件的问题,这里记录下相应的解决方案。解决方案1,ctrl+shift+p,打开配置选项,选择c/c++ edit configurations,此时根目录下会出现 .vscode文件夹,如下图所示:此时会自动包含根目录下的子目录,但是依然会有波浪线,这是因为c/c++的标准头文件未被包含进来,还需要添加标准头文件的路径。在我电脑上为:{ "configurations": [原创 2020-12-27 16:11:01 · 1388 阅读 · 1 评论 -
NCS-OS 系列0:NCS-SDK简介
NCS-OS 系列0:NCS-SDK简介概述目前Nordic部分芯片开发基于nRF Connect SDK也就是NCS SDK进行,ncs SDK基于zephyr系统进行开发,这里对NCS SDK的结构做一个简单的介绍。本文基于Noridc官方发布的文档,以nRF9160为实例进行分析,示例代码均以nRF9160平台为基础。备注:本系列中,代码截图时,一般会把路径一起截进去,找不到文件的时候,可以看下截图里面的文件路径进行查找。关于nRF Connect SDKnRF Connect SDK由No原创 2020-12-25 15:35:20 · 2289 阅读 · 0 评论