platformIO 自定义板子方法

PIO 自定义板子方法

1.为boards添加json文件

\platforms\ststm32\boards路径下添加或复制json文件。

并根据添加的板子MCU型号,修改json文件内容,如这边添加的是STM32G030F6系列:添加“bPill_g030.json”文件

{
  "build": {
    "core": "stm32",
    "cpu": "cortex-m0plus",
    "extra_flags": "-DSTM32G0xx -DSTM32G030xx",
    "f_cpu": "64000000L",
    "framework_extra_flags": {
      "arduino": "-D__CORTEX_SC=0"
    },
    "mcu": "stm32g030f6",
    "product_line": "STM32G030xx",
    "variant": "STM32G0xx/G030F6P"
  },
  "debug": {
    "default_tools": [
      "stlink"
    ],
    "jlink_device": "stm32g030f6",
    "onboard_tools": [
      "stlink"
    ],
    "openocd_target": "stm32g0x",
    "svd_path": "STM32G030.svd"
  },
  "frameworks": [
    "arduino"
  ],
  "name": "ST bPill-G030",
  "upload": {
    "maximum_ram_size": 8192,
    "maximum_size": 32768,
    "protocol": "serial",
    "protocols": [
      "blackmagic",
      "cmsis-dap",
      "dfu",
      "jlink",
      "serial",
      "stlink"
    ]
  },
  "url": "https://www.st.com/en/evaluation-tools/nucleo-g030f6.html",
  "vendor": "ST"
}

其中:

"variant": "STM32G0xx/G030F6P" :为PlarromIO的 \packages\framework-arduinoststm32\目录中对应的芯片 variant 文件夹,它是自定义板子IO和Arduino中IO名字对应所在文件夹。

name: 板子名称,可自定义

"protocol": "serial": 首选下载方法为Serial串口

2. 为板子添加variant

packages\framework-arduinoststm32\variants\在arduinoFramework中的 variants文件夹中,保存的是正对某块MCU芯片的板子变种。

包含文件及说明:

  1. boards_entry.txt : 包含通用变体板子声明,简化 board.txt 文件中的板子添加。
  2. generic_clock.c: 包含系统默认时钟配置函数WEAK void SystemClock_Config(void),WEAK弱函数,可在系统主程序中重定义修改系统时钟
  3. PinNamesVar.h:

2.1 复制一份variant_generic.cpp / .h 文件

​ 复制后的文件名修改为variant_XXX.cpp / .h ,这边的XXX一定要和第一步中的Json文件名字一致。修改后的文件夹内文件如下图:
在这里插入图片描述

2.2 修改文件宏定义

​ 修改重命名后的variant_BPILL_G030.cpp文件内的宏定义,宏定义名称格式为ARDUINO_XXX;其中XXX为 json文件名的全大写 形式。如下图:
在这里插入图片描述
​ 同时为generic_clock.c文件添加同用的宏定义,使其支持我们新定义的开发板,如下图:
请添加图片描述

2.3 *.ld 链接文件

如果你的以上文件夹内没有 *.ld 文件,自行想办法去获取对应芯片的 ld 文件,(去MDK目录下看看或使用cubemx生成一个项目试试)。 复制到本目录。

如果添加好编译仍然有问题,请试着在json中添加以下配置:
请添加图片描述

修改json文件后需要使用PIO重新 新建项目测试。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kimiyang123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值