# GD32F303CCXWOS
**Repository Path**: xwos/GD32F303CCXWOS
## Basic Information
- **Project Name**: GD32F303CCXWOS
- **Description**: 此工程是在GD32F303CC上移植XWOS的示例工程。
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-07-30
- **Last Updated**: 2026-03-01
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 介绍
本项目包括一个示例工程。此工程是在GD32F303CC上移植XWOS的示例工程。
+ 硬件:[BluePill-Plus](https://gitee.com/WeAct-TC/BluePill-Plus)
+ IDE:Eclipse Embedded C/C++
+ MCU:GD32F303CC

## XWOS
玄武操作系统(XWOS®)开发于2015年,是一款运行在嵌入式微控制器上的通用实时操作系统,
主要面向可靠、实时、安全的应用领域,包括汽车、物联网、工控等。
+
+
+
+
# 下载源码
```shell
git clone --recursive https://gitee.com/xwos/GD32F303CCXWOS.git
```
## 源码结构
+ XWOS:XWOS
+ Board:电路板描述层
+ GD32FmwLib: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工程文件
# 开发环境搭建指南
## vscode
调试需要先安装 [vscode](https://code.visualstudio.com/) 。
## 安装编译环境
`xwtc` 是XWOS编译的工具集合,可以从百度网盘下载,按照内部 **说明.md** 安装就可。
+
+ 提取码:xwos
+ **注意** :一定要设置环境变量 `XWTC` , `.vscode/launch.json` 中配置的gdb路径会使用此环境变量。
若用户使用 **Ubuntu-24.04** 作为开发环境,需要额外安装一些工具:
```shell
sudo dpkg-reconfigure dash # 选择“否”
sudo apt install build-essential
sudo apt install emacs # 如果是无图形界面的服务器,改为emacs-nox
```
## pyocd
+ 需要先安装python3
+ Ubuntu: `sudo apt install python3`
+ Windows:
+ 用途:为gdb提供调试服务
+ 安装
+ Ubuntu: `sudo apt install python3-pyocd`
+ Windows: `pip install pyocd`
# 客制化
## 工程改名
1. 可通过命令 `find . -type f -name "*GD32F303CCXWOS*"` 搜索所有文件名包含 `GD32F303CCXWOS` 的文件,将其改为 **新工程名** 。
2. 可通过命令 `find . -path "./.git" -prune -o -type f -exec grep -i -H "GD32F303CCXWOS" {} \;` 搜索所有内容包含 `GD32F303CCXWOS` 的文件,
然后依次打开,将其全部替换为 **新工程名** 。
## 连接到外部静态库
可在文件 `board/lib.mk` 中定义外部静态库:
+ `EINCDIRS` :外部静态库头文件列表
+ `EINCDIRS_gcc` :只对gcc编译器生效的外部静态库头文件列表
+ `EINCDIRS_llvm` :只对clang编译器生效的外部静态库头文件列表
+ `ELIBS` :外部静态库列表
+ `ELIBS_gcc` :只对gcc编译器生效的外部静态库列表
+ `ELIBS_llvm` :只对clang编译器生效的外部静态库列表