From b6d37fcc1373a158f94ce1efede76a5960ad7ac1 Mon Sep 17 00:00:00 2001 From: yelvlab Date: Mon, 30 Dec 2024 23:57:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9readme=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 4 ++-- README.md | 20 +++++++++++++++++++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ba40a6c..ed06994 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,11 +11,11 @@ string(TIMESTAMP CURRENT_DATE "%Y-%m-%d") # Options 1 set(OPT1 "") -#set(OPT1 "_NONE") +#set(OPT1 "_[SW_IIC]") # Options 2 set(OPT2 "") -#set(OPT2 "_NONE") +#set(OPT2 "_[NO_LED]") enable_language(C) enable_language(CXX) diff --git a/README.md b/README.md index f53230e..1a1fe8a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,25 @@ # gd32e23x_template -本项目为GD32E230Fx系列的基于Clion的CMake开发的工程模板。本人暂未入门,强行上强度,放弃keil,拥抱开源。遂尝试使用arm-none-eabi-gcc进行开发。 +本项目为`GD32E230Fx`系列的基于Clion的CMake开发的工程模板。本人暂未入门,强行上强度,放弃keil,拥抱开源。遂尝试使用arm-none-eabi-gcc进行开发。 有幸寻得[@mo10 ](https://github.com/mo10)大佬的帮助,本项目的基础目录架构与CMakeLists.txt与toolchain.cmake均为大佬提供。 +## 关于本项目 +本项目默认的芯片型号为`GD32E230F4`,但是可以根据需要修改为其他型号,具体修改方法请参考下方`关于链接脚本`的说明。 +### 版本号 +默认版本号为`0.0.1`,在`CMakeLists.txt`中修改`PROJECT_VERSION`即可。 +### 项目名称 +默认项目名称为`gd32e23x_template`,在`CMakeLists.txt`中修改`PROJECT_NAME`即可。请先修改项目名称再配置编译环境。 +### 软件IIC与硬件IIC +本项目中提供了软件IIC与硬件IIC的驱动,但是默认使用硬件IIC,如果需要使用软件IIC,请在`board_config.h`中取消注释`// #define SOFTWARE_IIC`(line 8)。 +### 编译选项 +本项目预留了两个编译选项,`OPT1`与`OPT2`,默认均为空,请根据需要自行修改,例如`OPT1`为`_[HW_IIC]`,`OPT2`为`_[NO_LED]`。 +`OPT1`与`OPT2`均在`CMakeLists.txt`中可修改。 +### 关于编译日期 +本项目在`CMakeLists.txt`中添加了编译日期。 + +### 关于led +本项目默认开启了LED闪烁,并使用TIMER16进行定时。 + + ## 关于C标准库的printf的重写 在Keil开发中,ARMClang有自己的microLIB,所以直接调用,然后重写fputc函数即可,但在gcc中需要重写`_write`函数,本项目模板中已经在`main.c`中完成重写。 同时需要添加`--spaces=nano.spaces`编译参数。