固件开发
nRF Connect SDK 基础课程
9.1/10 (6993)
21392 已注册
详情
基础级别
8 节课
完成需 8-10 小时
结业证书
先决条件
- 具备 C 语言编程的基础知识
- 具有一定的嵌入式系统软件开发经验
硬件要求
- 以下任一开发硬件:nRF54LM20 DK、nRF54L15 DK、nRF54LS05 DK、nRF7002 DK、nRF5340 DK、nRF52840 DK、nRF52833 DK、nRF52 DK、nRF9160 DK、nRF9161 DK、nRF9151 DK、nRF9151 SMA DK、Thingy:53、Thingy:91 X 或 Thingy:91
- 第 6 课的特殊硬件要求
系统要求
- 运行 Windows、macOS 或 Linux 的计算机
- 最新版本的 Web 浏览器
软件要求
我们将在整个课程中介绍如何下载和安装这些工具:
支持的 SDK 版本
- nRF Connect SDK v3.3.0-preview2 – v1.6.0
- nRF54LS05 DK 需要 nRF Connect SDK v3.3.0-preview2 或更高版本
- nRF54LM20 DK 需要 nRF Connect SDK v3.1.1 或更高版本
- nRF54L15 DK 和 Thingy:91 X 需要 nRF Connect SDK v2.8.0 或更高版本
- nRF9151 DK 需要 nRF Connect SDK v2.6.0 或更高版本
- nRF9161 DK 或 nRF7002 DK 需要 nRF Connect SDK v2.5.0 或更高版本
课程描述
nRF Connect SDK 基础课程是一门自学进度的实践性在线课程,重点学习使用高度可扩展且功能丰富的 nRF Connect SDK 进行固件
开发的基础知识。nRF Connect 软件开发工具包
包含一个名为 Zephyr RTOS 的高度可配置实时操作系统,以及广泛的示例、
应用协议、协议栈、库 和 硬件驱动程序。在课程结束时,您将对 nRF Connect SDK 及其结构 和 内容有
深入的了解。您将学习如何开发基于 RTOS 的
便携式应用程序,这些程序可以在任何 Nordic Semiconductor 设备(nRF54、nRF53、nRF52、nRF70 或 nRF91
系列)上运行。除此之外,您还将获得与常用
外设/系统模块和外部传感器接口的丰富实践经验,这将使您有信心将这些知识和技术
应用到您的项目中。
您将学到什么
- 建立对 nRF Connect SDK 的基础理解
- 学习如何使用 devicetree 描述硬件
- 学习如何使用 Kconfig 配置软件模块
- 通过使用常用硬件外设(GPIO、UART、I2C)的动手练习进行实践
- 深入了解 Zephyr RTOS 101 - 执行模型、ISR、线程、线程生命周期以及任务间
通信/同步机制
谁应该参加这门课程?
本课程专为嵌入式软件工程师、固件开发人员或任何对微控制器
和嵌入式系统感兴趣的人员设计。
预计时间
完成本课程总共预计需要大约 8 到 10 小时。完成
课程所需的实际时间将很大程度上取决于您的技术背景和经验。
学习目标
- 了解 nRF Connect SDK 的结构和内容
- 学习如何下载和安装 nRF Connect SDK
- 研究 West,它是 nRF Connect SDK 中的核心命令行实用程序
- 学习如何构建示例和应用程序
- 学习如何将示例和应用程序烧录到开发板
- 运行您的第一个应用程序 Blinky,它会切换 Nordic 开发板上的 LED 状态
- 研究 devicetree API
- 研究板级 devicetree .dts
- 研究 SoC 级 devicetree .dtsi
- 了解 devicetree 绑定文件
(.yaml)和 compatible 属性的用途 - 了解设备驱动模型
- 分析设备驱动 API 与设备驱动实现之间的解耦,以及获取设备指针的必要性
- 研究通用 GPIO 接口 API <zephyr/drivers/gpio.h>
- 通过动手练习实践配置 GPIO 引脚,学习如何对 GPIO 引脚进行读/写,以及如何为输入 GPIO 引脚设置中断
- 了解如何使用 Kconfig 配置文件来启用和配置 nRF Connect SDK 中可用的不同软件模块
- 研究应用程序配置文件和开发板配置文件,并了解它们之间的关系
- 学习如何使用 nRF Kconfig GUI 探索特定软件模块的可用配置选项
- 了解多镜像构建,以及如何将子镜像添加到您的应用程序中
- 通过动手练习实践从头开始创建应用程序、使用 Kconfig 添加模块以及修改 devicetree
- 学习如何使用 printk() 将字符串和格式化字符串打印到控制台,并了解 printk() 的局限性
- 学习如何使用 logger 模块将字符串和格式化字符串打印到控制台
- 学习如何使用 logger 模块对变量进行十六进制转储 (hexdump)
- 通过动手练习探索 logger 模块的功能
- 学习如何在 nRF Connect SDK 中添加和使用以下驱动程序:
- UART
- I2C
- 通过动手练习,学习如何通过 UART 与串口仿真器通信
- 使用 I2C 总线连接外部传感器
- 了解裸机应用程序与基于 RTOS 的应用程序之间的区别
- 熟悉 Zephyr RTOS 执行模型、ISR、线程、线程生命周期、任务间通信/同步机制以及调度器
- 学习与线程调度和同步相关的内核服务基础知识,例如:
- 线程、系统线程、工作队列线程
- 信号量、互斥锁
- 了解系统线程如何与 CPU 空闲和电源管理相关联
- 了解线程同步机制的必要性
- 通过动手练习实践创建不同的执行原语(如线程),并学习如何使用信号量和互斥锁在它们之间同步和传递数据
课程内容
展开全部
第 1 课 – nRF Connect SDK 简介
3 主题 | 1 测验
第 2 课 – 读取按钮并控制 LED
6 主题 | 1 测验
第 3 课 – nRF Connect SDK 应用程序的构成要素
4 主题 | 1 测验
第 4 课 – 向控制台打印消息和日志记录
5 主题 | 1 测验
第 5 课 – 串行通信 (UART)
3 主题 | 1 测验
第 6 课 – 串行通信 (I2C)
4 主题 | 1 测验
第 7 课 – 多线程应用程序
5 主题 | 1 测验
Lesson 8 – Thread synchronization
5 主题 | 1 测验
详情
基础级别
8 节课
完成需 8-10 小时
结业证书
先决条件
- 具备 C 语言编程的基础知识
- 具有一定的嵌入式系统软件开发经验
硬件要求
系统要求
- 运行 Windows、macOS 或 Linux 的计算机
- 最新版本的 Web 浏览器
软件要求
我们将在整个课程中介绍如何 下载和安装这些工具:
支持的 SDK 版本
- nRF Connect SDK => v3.4.0