提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
@vscode
前言
开发msp430程序通过使用IAR EW FOR MSP430。现在想尝试使用vscode编写和编译代码,用iar调试和下载程序。
一、编译器
vscode仅是一个文本编辑工具,而不是类似IAR的集成开发环境,因此需要自己配置编译器。
1. windows程序-MinGW(gcc)
在windows运行的程序需要安装MinGW软件,然后安装gcc编译器。
2. msp430程序-(MSP430-GCC)
完全开源,需要处理可能的兼容性问题,比如头文件路径、库文件差异等。
3. msp430程序-(IAR编译器)
仅需配置json文件即可。
二、msp430-(IAR编译器)
1.安装工具
- IAR for msp430
- 开源工具链
- msp430-gcc
- openOCD(调试)
- MSPDebug(烧录,可选)
- vscode
- C/C++扩展(代码补全,调试)
- IAR插件(IAR语法高亮,可选)
- Cortex-Debug
其中1和2选择一个就行。
2.配置tasks.json
ctrl+shif+p,可以选择
编写tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Build Single File (IAR)",
"type": "shell",
"command": "cmd.exe", // 强制使用CMD解析器
"args": [
"/d", "/c", // 禁用自动路径转换
"\"\"D:\\Program_Design\\IAR Systems\\Embedded Workbench 8.5\\430\\bin\\icc430.exe\"", // 双引号包裹完整路径
"--core=430",
"-D__MSP430FR5994__",
"-I", "\"D:\\Program_Design\\IAR Systems\\Embedded Workbench 8.5\\430\\inc\"",
"-I", "\"${workspaceFolder}\\driverlib\\MSP430FR5xx_6xx\"", // driverlib.h所在路径
"-I", "\"${workspaceFolder}\\drivers\"",
"-I", "\"${workspaceFolder}\\FatFs\\source\"",
"-I", "\"${workspaceFolder}\\functions\"",
"-I", "\"${workspaceFolder}\\sdcard\"",
"-I", "\"${workspaceFolder}\\src\"",
"\"${file}\"",
"-o", "\"${workspaceFolder}\\Debug\\Obj\\${fileBasenameNoExtension}.o\""
],
"group": "build",
"problemMatcher": "$iar",
"options": {
"shell": {
"executable": "cmd.exe" // 确保使用CMD终端
}
}
},
{
"label": "Build Full 1Project (IAR)",
"type": "shell",
"command": "cmd.exe",
"args": [
"/d", "/c",
// 使用 IARBuild 编译整个工程
// 关键修复:对含空格的路径用双引号包裹
"\"\"D:\\Program_Design\\IAR Systems\\Embedded Workbench 8.5\\common\\bin\\IarBuild.exe\"", // 注意双重转义
"\"\"F:\\firmware\\td3.0\\td.ewp\"", // 工程文件路径同样处理
"-build",
"Debug", // 指定编译配置(Debug/Release)
"-log",
"all" // 输出详细日志
],
"group": "build",
"problemMatcher": "$iar",
"options": {
"shell": {
"executable": "cmd.exe",
"args": ["/d", "/c"]
}
}
}
]
}
注意:这里面关于双引号:
- 转义,需要使用\
- 路径里面有空格,需要多使用一个双引号包含路径
- cmd会合并相邻的双引号为单引号
编译
ctrl+shift+b,可以选择编译单个文件或者整个工程。可以选择的就是tasks.json里面定义的。
总结
主要难点在路径!!!后面再继续梳理。