目录

StdPeriphLib_CH32F1封装库

封装库地址

StdPeriphLib_CH32F1 是用于 CH32F1 系列MCU的 SPL 风格封装库

  • 使用 arm-none-eabi-gcc 工具链
  • 兼容 Linux 下的 VSCode+PlatformIO 开发环境

文件结构

├── Debug                # 用于演示目的, 可选
├── Examples # 外设代码示例
├── StdPeriphDriver # 封装库代码和头文件, 必须
│ ├── inc
│ └── src
├── System # 系统配置文件, 必须
├── USB-Config # USB 配置, 可选
└── USB-Driver # USB 封装库, 可选
├── inc
└── src

根据与 STMicroelectronics STM32F103 SPL 封装库的对比, 两者在对应外设的部分基本上是一样的, 从寄存器地址, 变量名, 函数名, 甚至代码格式都是一样的.

这意味着如果不需要使用DAC和USB这些外设, 可以直接使用STM32F103 SPL进行开发.

前提

  • 已经安装 VSCode 和 PlatformIO 扩展
  • 在 PlatformIO 中, 已经安装 ST STM32 platform
  • ST-Link 模块用于下载

环境配置和示例运行

这个封装库经过调整, 适用于 PlatformIO 开发环境

创建项目

  1. 在 PlatformIO Home界面, 点击 "New Project"
  2. Project Name: 输入项目名
  3. Board: 选择 STM32F103C8T6 Generic 或 Bluepill F103C8 Generic
  4. Framework: CMSIS
  5. Location: 取消勾选, 指定项目路径
  6. 点击 "Finish"

这个操作会在前面指定的位置创建一个空项目.

导入 StdPeriphLib_CH32F1

将此仓库clone到本地,

# GitHub
git clone https://github.com/IOsetting/StdPeriphLib_CH32F1.git
# Gitee
git clone https://gitee.com/iosetting/std-periph-lib-ch32f1.git

重命名为lib并移入项目目录, 项目目录结构应当如下

├── include
├── lib
│ ├── Debug
│ ├── Examples
│ ├── StdPeriphDriver
│ ├── System
│ ├── USB-Config
│ └── USB-Driver
├── src
└── test

运行 GPIO 示例项目

将 lib/Examples/GPIO/GPIO_Toggle 目录下除了 ch32f10x_conf.h 以外的所有文件, 复制到 src 目录下. 不复制 ch32f10x_conf.h 文件是因为这个文件在 lib/System/ 下已经存在, 而且是一样的.

编译项目.

下载/烧录到开发板

编辑 platformio.ini, 添加一行 upload_flag 参数, 否则下载工具不能正确识别 CH32F103(以及其它国产克隆)芯片

upload_flags = -c set CPUTAPID 0x2ba01477

修改后的配置看起来应该是这样的

[env:bluepill_f103c8_ch32]
platform = ststm32
board = bluepill_f103c8
framework = cmsis
upload_flags = -c set CPUTAPID 0x2ba01477

然后使用STLink连接开发板, 点击下载就可以烧录至开发板

沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录的更多相关文章

  1. 沁恒CH32V103C8T6(二): Linux RISC-V编译和烧录环境配置

    目录 沁恒CH32V103C8T6(一): 核心板焊接和Windows开发环境配置 沁恒CH32V103C8T6(二): Linux RISC-V编译和烧录环境配置 硬件准备 CH32V103 开发板 ...

  2. 沁恒CH32F103C8T6(三): PlatformIO DAPLink和WCHLink下载配置

    目录 沁恒CH32F103C8T6(一): Keil5环境配置,示例运行和烧录 沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录 沁恒CH32F103C ...

  3. 沁恒CH32V003(二): Ubuntu20.04 MRS和Makefile开发环境配置

    目录 沁恒CH32V003(一): CH32V003F4P6开发板上手报告和Win10环境配置 沁恒CH32V003(二): Ubuntu20.04 MRS和Makefile开发环境配置 硬件准备 沁 ...

  4. Linux开发环境配置大全

    Linux开发环境配置 零章:通过xshell在linux上安装JDK8 壹章:通过xshell在linux上安装tomcat8 贰章:通过xshell在linux上安装mysql5.7(终极版) 叁 ...

  5. Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行(含系列目录)。

    前言: Taurus.MVC 微服务版本已经发布了:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. 以前都是框架发布时写点相关功能点的文章,没有形成 ...

  6. 沁恒CH32F103C8T6的开发和烧录配置说明

    概述 CH32F1系列是沁恒生产的32位Cortex-M3 MCU, 片上集成了时钟安全机制.多级电源管理. 通用DMA控制器等. 此系列具有 2 路 USB2.0接口.多通道 TouchKey. 1 ...

  7. C#进行CAD二次开发环境配置

    最近被公司分配到了做CAD二次开发.也是初次接触这方面的东西,其实是有些无从下手的感觉.因为公司这边也没有人有时间带我,只能是自己看书,然后再写一些Demo,再结合实际的应用来一点点的学习.废话不多说 ...

  8. JavaSE基础(二)--Java环境配置

    Java 开发环境配置 在本章节中我们将为大家介绍如何搭建Java开发环境. Windows 上安装开发环境 Linux 上安装开发环境 安装 Eclipse 运行 Java window系统安装ja ...

  9. Revit二次开发环境配置(Revit 2020 +Visual Studio 2019)

    Revit二次开发环境搭建(Revit 2019+Visual Studio 2017)准备内容 Revit 2019开发环境的搭建,需要安装的内容如下: Revit 2019(主要的开发环境) Vi ...

随机推荐

  1. fedora之自动寻找命令并提示安装PackageKit-command-not-found

    fedora 1.比如,我要用clang 命令编译代码,但是没有该指令.比如: clang main.cxx -o main 2.那么,输入未知命令,希望fedora会自动寻找相对应的包,再并提示安装 ...

  2. 【LeetCode】932. Beautiful Array 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 构造法 递归 相似题目 参考资料 日期 题目地址:h ...

  3. Codeforces 849A:Odds and Ends(思维)

    A. Odds and Ends Where do odds begin, and where do they end? Where does hope emerge, and will they e ...

  4. Kernel PCA for Novelty Detection

    目录 引 主要内容 的选择 数值实验 矩形框 spiral 代码 Hoffmann H. Kernel PCA for novelty detection[J]. Pattern Recognitio ...

  5. Kinaba及X-Pack插件安装

    Kibana可视化管理平台安装,以及Kibana安装X-Pack插件: 基于已经安装好的6.2.2版本的Elasticsearch,安装6.2.2版本的Kibana. 基于已经安装好的6.2.2版本的 ...

  6. MATLAB 设置示波器颜色和行列

    设置颜色 设置行列和图例 放大缩小显示

  7. java POJO中 Integer 和 int 的不同,用int还是用Integer

    https://www.jianshu.com/p/ff535284916f [int和Integer的区别] int是java提供的8种原始类型之一,java为每个原始类型提供了封装类,Intege ...

  8. centos7.5上安装go1.13.4

    一.安装 1.下载go1.13.4.linux-amd64.tar.gz 先进入官网https://golang.google.cn/ 再 https://golang.google.cn/doc/i ...

  9. 物理机异常断电,linux虚拟机系统磁盘mount失败,导致无法启动; kubectl 连接失败

    虚拟机 CentOS 7 挂载文件系统失败 上周五下班前没有关闭虚拟机和物理机, 今天周一开了虚拟机之后,发现操作系统启动失败. 原因跟 这篇文章描述的一模一样. 解决操作系统的文件系统挂载的问题之后 ...

  10. Servlet简单实现开发部署过程

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6512008683445027331/ 主要是从下面三个步骤实现我们的预期: (1)构建开发环境: (2)开发Ser ...