# CH32F103C8XWOS **Repository Path**: xwos/CH32F103C8XWOS ## Basic Information - **Project Name**: CH32F103C8XWOS - **Description**: 此工程是在CH32F103C8上移植XWOS的示例工程。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-07-24 - **Last Updated**: 2024-08-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 介绍 本项目包括一个示例工程。此工程是在CH32F103C8上移植XWOS的示例工程。 + 硬件:[BluePill-Plus](https://gitee.com/WeAct-TC/BluePill-Plus) + IDE:Eclipse Embedded C/C++ + MCU:CH32F103C8 ![BluePill-Plus](Doc/BluePillPlus.jpg) ## XWOS 玄武操作系统(XWOS®)开发于2015年,是一款运行在嵌入式微控制器上的通用实时操作系统, 主要面向可靠、实时、安全的应用领域,包括汽车、物联网、工控等。 + + + + # 下载源码 ```shell git clone --recursive https://gitee.com/xwos/CH32F103C8XWOS.git ``` ## 源码结构 + XWOS:XWOS + Board:电路板描述层 + CH32FmwLib:GD官方的Firmware库 + App:用户程序 + Tools:工具 + Doc:文档 + DebugConfiguration:调试配置 + CHANGELOG.md:变更日志 + LICENSE.txt:开源协议 + README.md:使用说明 + .git:git仓库 + .gitignore:git commit时忽略的文件 + .gitmodules:git子仓库 + .gitemplate:git commit的模板 + .cproject:IDE工程文件 + .project:IDE工程文件 + .settings:IDE工程文件 # 开发环境搭建指南 ## 安装编译环境 `xwtc` 是XWOS编译的工具集合,可以从百度网盘下载,按照内部 **说明.md** 安装就可。 + + 提取码:xwos 若用户使用 **Ubuntu** 作为开发环境,需要额外安装一些工具: ```shell sudo dpkg-reconfigure dash # 选择“否” sudo apt install build-essential sudo apt-add-repository ppa:kelleyk/emacs sudo apt-get update sudo apt install emacs28 # 如果是无图形界面的服务器,改为emacs28-nox ``` ## pyocd + 需要先安装python3 + Ubuntu: `sudo apt install python3` + Windows: + 用途:为gdb提供调试服务 + 安装: `pip3 install pyocd` ## 安装IDE + [Eclipse Embedded](https://www.eclipse.org/downloads/packages/) + 选择下载 **Eclipse IDE for Embedded C/C++ Developers** ## 导入工程 通过菜单 **File --> Open Projects from File System...** 可导入工程。 ## 编译 有两种方法可以编译,两种方法结果产生一样: + 打开终端,并将当前路径切换到工程的 `Board` 目录,执行 `make` 命令。 + 在IDE中点击 **编译** 按钮。 ## 调试 + 菜单: **Run --> Debug Configurations...** + **CH32F103C8XWOS-pyocd.launch** : **gdb** + **pyocd** + **DAPLink** ### 调试技巧 #### 重启调试 调试过程复位系统: + 在程序的入口处设置一个断点; + 按住复位按键; + 在右键菜单中选择 **Restart** ; + 释放复位按键; + 按一下F5。 # 客制化 ## 工程改名 1. 可通过命令 `find . -type f -name "*CH32F103C8XWOS*"` 搜索所有文件名包含 `CH32F103C8XWOS` 的文件,将其改为 **新工程名** 。 2. 可通过命令 `find . -path "./.git" -prune -o -type f -exec grep -i -H "CH32F103C8XWOS" {} \;` 搜索所有内容包含 `CH32F103C8XWOS` 的文件, 然后依次打开,将其全部替换为 **新工程名** 。 ## 连接到外部静态库 可在文件 `board/lib.mk` 中定义外部静态库: + `EINCDIRS` :外部静态库头文件列表 + `EINCDIRS_gcc` :只对gcc编译器生效的外部静态库头文件列表 + `EINCDIRS_llvm` :只对clang编译器生效的外部静态库头文件列表 + `ELIBS` :外部静态库列表 + `ELIBS_gcc` :只对gcc编译器生效的外部静态库列表 + `ELIBS_llvm` :只对clang编译器生效的外部静态库列表