正点原子阿波罗STM32F429IGT6移植zephyr rtos(三)---创建一个独立的应用工程

硬件平台:正点原子阿波罗STM32F429IGT6

zephyr版本:Zephyr version 4.2.0

开发环境:wsl ubuntu 24.4

前景提要:https://blog.csdn.net/godmial/article/details/142655494

上一篇文章说的是创建好我们自己的board之后,使用zephyr仓库里的MPU6050示例来做实验,缺点就是必须要改官仓里边的代码,这是不太好的,而且,如果想要使用zephyr做项目,就必须学会搭建使用自己的工程


一.为什么必须创建自己的 Zephyr App

在使用 Zephyr RTOS 进行开发时,官方强烈推荐你在工作区中创建属于你自己的应用(app)目录,而不是直接在 Zephyr 内核代码中进行开发。这样做有多个好处:


✅ 原因一:隔离用户代码和 Zephyr 内核代码

  • Zephyr 包含大量核心组件(内核、驱动、中间件等),直接修改其源码可能导致后续升级困难。
  • 将用户应用代码放在独立目录下,可避免和 Zephyr 内核耦合,提高项目结构清晰度。

✅ 原因二:更好地版本控制

  • 自己的 app 目录可以单独使用 Git 进行版本管理。
  • 可避免 Zephyr 更新时误修改或覆盖应用代码。

✅ 原因三:支持多种板子和配置

  • 独立 app 可为不同开发板设置不同的配置文件和目录结构(如 boards/prj.conf)。
  • 构建系统(west + CMake)支持灵活指定目标板和参数。

✅ 原因四:遵循官方推荐工作流

  • 官方推荐 workspace 结构:

    zephyrproject/
    ├── zephyr/        ← Zephyr RTOS 源码
    ├── modules/       ← 外部模块(可选)
    └── app/           ← 用户自己的应用程序
    
  • 有助于代码管理、模块扩展和多人协作。


✅ 原因五:方便复用和迁移

  • app 与 Zephyr 解耦,便于在不同项目、版本、工作区之间迁移。
  • 可快速移植到其他芯片或平台,仅需调整配置而无需重写逻辑。

✅ 总结一句话:

创建自己的 app 能让 Zephyr 开发更清晰、灵活、可维护,是官方推荐的最佳实践方式。

二.创建应用

1.创建项目文件夹

cd ~/zephyrproject/
mkdir app
cd app

这里假设你的应用目录名为 app,你可按需命名。


2. 添加代码

mkdir src
cd src
touch main.c
vim main.c

main.c 示例内容:

#include <stdio.h>
#include <zephyr/kernel.h>  

int main(void)
{
    printk("hello world.\r\n");
    return 0;  
}


3.添加配置文件

返回 app/ 并创建文件:

cd ..
touch CMakeLists.txt
vim CMakeLists.txt
  • CMakeLists.txt中添加代码

    cmake_minimum_required(VERSION 3.20.0)
    
    find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
    project(app LANGUAGES C)
    
    target_sources(app PRIVATE src/main.c)
    
    
touch prj.conf
touch app.overlay
  • prj.conf(可空文件,后续填写 Kconfig 设置)

  • app.overlay(可空文件,用于设备树覆盖)(blog.csdn.net)


4.编译运行

先不使用具体开发板,使用模拟器测试一下工程是否正常,在 app/ 目录下执行:

west build -b qemu_x86 -t run

示例输出:

SeaBIOS (version rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org)
Booting from ROM..
*** Booting Zephyr OS build v4.2.0-1048-g6c569c5bface ***
hello world.

参考链接

https://docs.zephyrproject.org/latest/develop/application/index.html#zephyr-workspace-app

https://blog.csdn.net/UnsicentificLLLL/article/details/132401326


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值