# zephy_west_scripts **Repository Path**: Ethan-ZYS/zephy_west_scripts ## Basic Information - **Project Name**: zephy_west_scripts - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-28 - **Last Updated**: 2025-12-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 脚本仓库获取 ### 1. 在zephyr模板工程的目录中运行命令,克隆该脚本仓库 ``` git clone http://192.168.8.221/zephyr-rtos/scripts.git manifest/scripts ``` ### 2. 运行命令 ``` west --help ``` 若出现 ``` extension commands from project manifest (path: manifest): module: operate module in the local project ``` 则表示该脚本已在正在位置安装。 ## 命令用法 ### 1. 创建硬件驱动模块 ``` west module -a foo -t driver -u <项目远程仓库地址> --deps <依赖项> ``` 其中: - 必须:"-a"表示添加模块,其参数为添加的模块名 - 必须:"-t"后的参数为指定该模块为硬件驱动模块 - 可选:-u 远程仓库地址 - 可选:--deps 该硬件驱动所依赖的其他模块 成功后,运行命令 ``` ls modules/foo ``` 可以看到在项目路径下出现了一个modules/foo的文件夹, 里面的内容为 ``` CMakeLists.txt Kconfig README.md doc dts include src tests zephyr ``` 该命令自动创建了Cmake, config以及测试模块等信息 并且运行 ``` cat manifest/west.yml ``` 可以看到在"projects"下出现了 ``` - import: name-allowlist: - cmsis - fatfs - hal_stm32 - hal_st - hal_nxp - hal_ti - hal_nordic path-prefix: extern name: zephyr path: zephyr remote: zephyr revision: main - name: foo path: modules/foo revision: main url: undefined ``` 关于foo的信息, 这说明foo这个模块已经注册到zephyr的配置系统里, 然后对该模块进行相应源码编写即可. ### 2. 创建软件模块 软件模块的使用方法跟硬件模块的使用方法一致,只是生成的文件中没有设备树等相关文件和文件夹, 即 ``` west module -a loo -t library ``` ### 3. 创建board 命令为 ``` west module -a coo -t board -q stm32f429xx ``` 其中的"-a"与创建软件模块和硬件驱动模块一致, 表示为指定名称,"-t"后接"board"表示创建的是一个板子, -q表示为qualifiers,即MCU的类型 成功后可以看到在项目文件夹下多了一个boards/coo文件夹,里面的内容为: ``` CMakeLists.txt Kconfig.defconfig board.yml coo.yml doc Kconfig.coo board.cmake coo.dts coo_defconfig ``` 里面包含所有移植新板到zephyr RTOS的所有配置文件. ### 4. zephyr自带模块导入 因为网络环境原因,从zephyr官方的GitHub导入如stm32_hal或者lvgl等模块非常不方便,因此该命令提供一种从公司gitlab导入自带模块的方法,即 ``` west module -z lvgl -u http://192.168.8.221/zephyr-rtos/lvgl.git ``` 导入成功后运行 ``` west list ``` 即可以看到新导入的模块 ``` lvgl extern/modules/lib/gui/lvgl 1ed1ddd881c3784049a92bb9fe37c38c6c74d998 https://github.com/zephyrproject-rtos/lvgl ``` ### 5. 删除自有模块 ``` west module -d 模块名 ``` 即可删除自由模块,注意该命令不可删除zephyr自带模块 ## 结语 以上就是该拓展命令"west module"的基本用法,关于更多的使用方法可以运行 ``` west module --help ``` 此命令查看