沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录
2022/1/26 7:06:05
本文主要是介绍沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- 沁恒CH32F103C8T6(一): Keil5环境配置,示例运行和烧录
- 沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录
StdPeriphLib_CH32F1封装库
封装库地址
- GitHub StdPeriphLib_CH32F1
- Gitee 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 开发环境
创建项目
- 在 PlatformIO Home界面, 点击 "New Project"
- Project Name: 输入项目名
- Board: 选择 STM32F103C8T6 Generic 或 Bluepill F103C8 Generic
- Framework: CMSIS
- Location: 取消勾选, 指定项目路径
- 点击 "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环境配置, 示例运行和烧录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法
- 2024-08-21【Linux】gnome桌面环境切换KDE Plasma
- 2024-08-19如何安装 VMware Tools (macOS, Linux, Windows)
- 2024-08-15Linux部署Scrapy教程:入门级指南
- 2024-07-29linux命令行下好用的性能监控工具atop
- 2024-07-04Linux系统上离线升级SSH服务的具体操作步骤-icode9专业技术文章分享
- 2024-06-0600-macOS和Linux安装和管理多个Python版本
- 2024-03-30[译]漫画SELinux概念