Zephyr RTOS -- 创建并编译一个新的工程

前言

本人正在学习 Zephyr,一个可移植性较强,可以兼容多种开发板及物联网设备的操作系统,如果你感兴趣,可以点此查看我的 学习笔记总述 进行了解!

 

摘要

前面已经介绍了如何搭建 Zephyr 开发环境 以及 nRF Connect SDK 开发环境 。现在来介绍一下如何创建一个新的工程。

 

1. 工程目录结构简介

在开始创建工程之前,需要先了解一下 Zephyr 项目工程的基本目录结构。

Zephyr 内核的基本目录包括内核源代码、配置选项以及内核的一些预定义编译选项。
位于应用程序目录中的文件包括应用程序的预定义(例如应用程序相关的配置选项)和应用程序的源代码,最简单形式的应用程序具有以下内容:

工程文件
├── CMakeLists.txt
├── prj.conf
└── src
         └── main.c

  • CMakeLists.txt:此文件告诉构建系统在哪里可以找到其他应用程序文件,并将应用程序目录与Zephyr 的 CMake 构建系统链接。该链接提供了 Zephyr 的构建系统支持的功能,例如特定于电路板的内核配置文件,在真实或仿真硬件上运行和调试已编译二进制文件的功能,以及更多功能。
  • 内核配置文件:应用程序通常提供一个 Kconfig 配置文件(通常称为 prj.conf),用于指定一个或多个内核配置后选项相关的值。这些应用程序设置与特定于主板的设置合并以生成内核配置。如果被忽略,则将会使用应用程序已存在的内核配置选项值;如果应用程序没有该选项值,则将会使用内核的默认配置值。
  • 应用程序源代码文件:应用程序通常会提供一个或多个由 C 或者汇编语言编写的应用程序相关的文件。这些文件通常位于一个叫做 src 的子目录中。

当然,还有关于硬件的配置文件 .overlay 文件,当需要进行相应的硬件配置时,需要用到这个文件进行修改,这样我们的目录结构就变成了下面这样:

工程文件
├── CMakeLists.txt
├── prj.conf
├── <boards>.overlay
└── src
         └── main.c

其中的 .overlay 文件的命名是根据你使用的开发板类型来的,本次使用的是 nrf52dk_nrf52832,所以 .overlay 文件的名字命名为 nrf52dk_nrf52832.overlay。当然,名称可以自定义设置,也可以添加多个 .overlay 文件,具体操作后面会进行介绍。

 

2. 创建工程文件

本次使用的是 nrf52dk_nrf52832,后续编译以此为例。

 

2.1 创建工程目录及源文件

首先,找个位置,创建你的工程文件夹。在此,我在 F 盘目录下新建一个名为 zephyr_prj 的工程文件夹。然后在该文件夹下创建一个 src 的文件夹,再在 src 的文件夹下新建一个 main.c 来存放此次的主逻辑代码:

主逻辑main.c

main.c 中添加主代码:

#include <zephyr.h>
#include <sys/printk.h>

void main(void)
{
	printk("zephyr_prj test start !!!");
}

 

2.2 创建 CMakeLists.txt 文件

src 的同级目录下新建一个 CMakeLists.txt 的文件:

工程文件夹

然后在创建的 CMakeLists.txt 的文件中添加如下内容:

cmake_minim
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值