如何将Atmel ASF添加到VSCode中进行SAMD微控制器开发
基于VSCode的Atmel ASF库SAMD裸机开发配置方案(MacOS环境)
配置不生效的核心原因
你之前修改配置不生效,基本是三个问题导致:没有指定ARM架构的语法识别模式、没有添加对应SAMD型号的宏定义、ASF的分层包含路径没有补全。不需要修改全局settings.json,仅配置当前项目工作区的.vscode目录下的配置文件即可。
步骤1:正确配置c_cpp_properties.json
直接替换你的工作区c_cpp_properties.json内容,注意把路径占位符、MCU型号宏替换为你实际使用的参数:
{ "configurations": [ { "name": "MacOS-SAMD-ASF", "includePath": [ "${workspaceFolder}/**", // 替换为你本地ASF库的实际存放路径 "/你的本地路径/ASF/x版本号/sam0/utils/**", "/你的本地路径/ASF/x版本号/sam0/drivers/**", "/你的本地路径/ASF/x版本号/thirdparty/CMSIS/Include/**", "/你的本地路径/ASF/x版本号/sam0/utils/header_files/**", // 替换为你使用的具体SAMD型号对应的头文件路径 "/你的本地路径/ASF/x版本号/sam0/utils/cmsis/samd21/include/**" ], "defines": [ // 必须定义你使用的MCU型号,ASF靠这个宏匹配对应寄存器定义 "__SAMD21G18A__", "DEBUG" ], "compilerPath": "/usr/local/bin/arm-none-eabi-gcc", // 替换为你本地ARM GCC的安装路径 "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "gcc-arm" } ], "version": 4 }
步骤2:补充说明
- 配置完重启VSCode即可生效,不需要修改全局settings.json的include和browse路径
- 如果需要在VSCode内直接编译烧录,新增
tasks.json配置arm-none-eabi-gcc编译任务、openocd烧录任务即可
Platformio裸机SAMD开发兼容方案
Platformio支持SAMD裸机开发,不需要使用官方封装的框架:
- 新建项目时选择对应SAMD型号,framework选择
custom - 在
platformio.ini中手动添加ASF的头文件路径、源文件路径,自定义链接脚本即可,比纯VSCode配置更省时间
内容的提问来源于stack exchange,提问作者Mugen
相关产品推荐
相关产品推荐

