电子说
【NCS随笔】
在介绍NCS工程之前,我们先看看大家熟悉的SEGGER工程(Keil同理):
左边的项目栏可以看到工程的配置,通过点击 User Include Directories添加头文件路径

对工程或者文件夹鼠标右击就可以添加文件或者.c文件管理文件等操作。
可以看出,Segger添加源文件和目录的方式比较直观,但是如果文件比较多,路径比较深的话效率就会比较低下。
Zephyr 使用CMake作为构建系统,CMake 是一个跨平台的构建工具,它通过读取CMakeLists.txt文件来生成平台特定的构建文件,
Zephyr 的构建系统基于GNUMake和 CMake ,但 CMake 是主要的配置入口。每个 Zephyr 项目(应用程序、驱动或模块)都需要一个或多个CMakeLists.txt文件来定义构建规则
我们可以打开一个例程参考,我这里使用ncs3.0.0的peripheral_uart例程
cmake_minimum_required:指定所需的最低 CMake 版本。find_package(Zephyr):查找并加载 Zephyr 的 CMake 工具链和模块project:定义项目名称,通常与应用程序名称一致target_sources:指定项目的源文件路径(如.c、.cpp文件)我们选择一个更加复杂的例程来分析v3.0.0nrfapplicationsnrf_desktop
configuration/nrf52840dk_nrf52840)CONFIG_DESKTOP_HID_REPORT_DESC(HID 报告描述符文件路径)src/main.c和 HID 描述符文件到构建nrf_desktop.ld上面的功能可能有点多,需要长期使用才知道大部分的功能,实际我们添加.c.h甚至.a&.lib文件只需要需要下面的指令就行了,添加在Cmakelists.txt
使用periphreal_uart例程
1、在src目录添加test文件夹,在test文件下创建CMakeList.txt文件,将这个文件下面的test.c和test.h包含进去
2、在periphreal_uart例程根目录下把test这个文件夹使用add_subdirectory(src/test)包含进去,这样就可以了




审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !