呃没错,又是我,我又来开新坑了:
这次尝试移植zephyr~这个是一个比较新的RTOS,由linux基金会提供支持~
windows安装
先装环境
winget install Kitware.CMake Ninja-build.Ninja oss-winget.gperf Python.Python.3.12 Git.Git oss-winget.dtc wget 7zip.7zip
然后找个目录,作为zephyr工作区。
创建一个python虚拟环境
py -3.12 -m venv .venv
然后激活这个环境
先允许当前用户运行脚本:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser 然后激活:
..venv\Scripts\Activate.ps1 再安装west pip install west 因为已经建好了目录,因此 west init . west update 之后就可以按教程来了: Get the Zephyr source code: 获取 Zephyr 源代码:
导出 Zephyr CMake 包 。这样 CMake 就可以自动加载构建 Zephyr 应用程序所需的样板代码。
west zephyr-export
Install Python dependencies using west packages.
使用 west packages 安装 Python 依赖项。
python -m pip install @((west packages pip) -split ' ')
跑完以上的,一个工作区就建好了。这个zephyr有点像ROS,有工作区之类的概念,构建方式也类似。这里我们只用工作区方式做好了,反正库需求不大。 和freertos不同,这个不算一个中间件,反而算是整个开发平台。从MCU出发变成了从RTOS出发,也有点像RT-Thread吧。 因此,安装好后我们第一步就是构建我们自己的BSP,然后在这个板级支持包上进行开发。
构建Zephyr H723xx BSP
首先新建一下目录,apps/base_frame(只要在apps下新建文件夹就行,名字什么的无所谓)。
一个项目的组成主要是:CMakelist.txt,类似于KConfig的prj.conf,还有src/下的核心代码(一般来说也可以加个include这样)