文章目录
commit
20220525:issue-引用错误
20220527:issue-CMake管理源文件;kenel sleep;
20220614:添加NCS简介说明的官网URL、文档中心URL、GIT仓库地址
TBD
- ENV
- toolchain
- IED
- Board info
- Download (URL)
- toolchain
- IDE & Script-nordic
- Install (setting)
- toolchain
- IDE & Script-nordic
- Quick Start
- Create Demo
- Build & Flash
- 常用组件的使用
- GPIO
- Button
- Led
- GPIOTE(Task & Event)
- SPI
- I2C
- 定时器
- 延时
- xxxxxxxx
- GPIO
- 工程管理
- CMake 相关
- 实例
- BLE DTM
- Issue List
- 1. 头文件的具体实现问题
- 2. CMAKE编译连接的问题
前言
- 以为nordic 推荐使用nordic-connetc-SDK来开发,SDK整体组织架构类似于linux,对于内核开发的人来说用起来更顺手。
- 趋势,需要学习。
环境
1.新SDK的简介
1.1 官网介绍
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/index.html
remark: 内嵌一个Zephyr RTOS
1.2 git仓库
1.3 文档中心
2.下载并安装开发环境
创建一个demo并编译烧录(Quick Start)
常用组件的使用
1. GPIO
1.1 LED
1.2 Button
2. SPI
3. I2C
4. 定时器
5. 延时
k_msleep();
实例
DTM
issue list
1. 头文件未定义的问题
- 在main中添加一个dk_leds_init();函数,并在main.c中添加dk_buttons_and_leds.h的头文件,同时确保includePATH中存在该头文件的路径,即该头文件能被正确引用。
- 问题:undefined reference to `dk_leds_init’
- FIX:我没找到头文件的实现函数,添加具体实现函数后就解决了。
- remark:SDK中没有具体的实现函数?还是我哪里配置有些问题?开始参照官方的doc来开发比较好,我做这些修改就是为了验证include路径是否正确。
2. CMAKE编译连接的问题
- 工厂使用CMake来管理的,如果默认的CMAKE只编译main.c的源码,但是需要编译其他源文件,那就需要扩充编译范围。
- 问题:undefined reference to ‘xxxxxxxx’
- FIX:修改CMakeLists.txt文件,添加要编译的源码文件。举个最简单的例子:
target_sources(app PRIVATE src/main.c src/funcs.c) // 这样就添加了src/funcs.c的源文件