Sony Spresense SDK -VS 代码扩展 - 无效参数#include <arch/types.h> on fresh Build of HelloWorld
Sony Spresense SDK -VS code Extension - Invalid argument # include <arch/types.h> on fresh Build of HelloWorld
虽然生活往往令人沮丧,但我在构成 VS-Code 的庞大集团中发现了另一个有趣的错误,它是 'useful' 扩展列表...
背景故事:
首先 - 我购买了新的 Sony - Spresense 主板和扩展板用于开发和测试目的。一切都完好无损,产品和包装质量上乘。
第一步:
对于购买的每个微控制器,我总是在编程时测试设备提供的每个方面。我使用著名的 Arduino ide 在 Spresense 主板上抛出一些基本示例。它们都正确闪烁,工作正常,我很高兴看到设备正常工作!
问题:
此时我已经开始使用 arduino ide...我决定ided 下载 vscode 扩展,在 vscode 之后通过 Sony Spresense 网站设置 guide provided。
- 我注意到“setup guide”使用的是最新可用版本中的过时版本。
- 我尝试使用旧版本和最新版本,但都遇到了同样的问题。
- 每一步都被完美地遵循并且将设置 guide 与 T.
相匹配
- VsCode 正确安装和加载扩展、工作区和工作区配置。
- 我还按照在 windows 上安装 MSYS2 的说明进行操作,并验证它工作正常
全停错误:
很高兴看到我的第一个 hello world printf statment 巡航通过串行终端我开始项目 spresense 应用程序构建。
Makefile 通过检查目录和执行所需职责的步骤继续进行。
- 在 make build 即将结束时,我突然得到 --- BUILD ERROR
make[3]: 进入目录 '/c/msys64/home/Anon/spresense/sdk/apps/builtin'
在 C:/msys64/home/Anon/spresense/nuttx/include/sys/types.h:47:0 包含的文件中,
来自 C:/msys64/home/Anon/spresense/nuttx/include/nuttx/lib/builtin.h:51,
来自./builtin_list.c:44:
C:/msys64/home/Anon/spresense/nuttx/include/stdint.h:49:12: 致命错误:C:/msys64/home/Anon/spresense/nuttx/include/arch/types.h: 无效参数
包括
编译终止。
错误:arm-none-eabi-gcc 失败:1
命令:arm-none-eabi-gcc -M -fno-builtin -mabi=aapcs -ffunction-sections -fdata-sections -Wall -Wstrict-prototypes -Wshadow -Wundef -g -Os - fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -I. -isystem /c/msys64/home/Anon/spresense/nuttx/include -isystem /c/msys64/home/Anon/spresense/nuttx/../sdk/include -D__KERNEL__ -pipe -gdwarf-3 -I /c/msys64/home/Anon/spresense/sdk/apps/include ./builtin_list.c
make[3]: *** [/c/msys64/home/Anon/spresense/sdk/apps/Application.mk:209: .depend] 错误 1
make[3]: 离开目录'/c/msys64/home/Anon/spresense/sdk/apps/builtin'
Make 继续抛出 10 多个相同类型的错误,所有参数均无效..
我觉得这应该行得通...我的意思是在这个产品线背后的所有粉丝博览会上,人们会认为基本设置 guide 和 IDE 应该开箱即用...
我想我正在弄清楚为什么这条产品线在 public 领域惨遭失败...
最基本的代码
#include <sdk/config.h>
#include <stdio.h>
int myAppS_main(int argc, char *argv[])
{
printf("Hello Spresense!!!");
return 0;
}
我花了几天时间试图搞清楚这个问题,但据我所知,索尼通过 vscode.
提供了一个损坏的扩展程序
我不得不承认我有点难过....
在 win10 下开发,可以尝试使用 linux,因为这似乎是 Win10 使用 MSYS2 终端的问题。
上周我用我的 spresense 板做了同样的步骤。
但是我没有遇到这个问题...
我对此很感兴趣。
所以,如果你提供更多信息,我会调查的!
- 文件C:/msys64/home/Anon/spresense/nuttx/include/arch/types.h是否存在?你能打开文件吗?
- 你在SDK Config中选择了什么? (没有默认?)如果你可以提供一个“sdk.config”,你能在这个页面分享它吗?
- 您是否将 spresense sdk (/c/msys64/home/Anon/spresense) 用于其他用途?(构建检查或配置等...)
- 你的 MSYS2 版本是多少?
而且我认为,您可能可以使用下一个命令恢复您的环境,您可以试试吗?
$ cd /c/msys64/home/Anon/spresense/sdk
$ make distclean
嗯,
感谢@cmm 对构建完整性的确认。
我能够在另一台 windows 10 计算机上安装开发堆栈,但没有最新的功能更新。只是为了确保这不会造成问题。
在我对知识的巨大追求中,我觉得经过长时间的研究,我可能找到了解决问题的方法。
我可以验证的是:
VS Code 已完全更新
MSYS2 已正确安装并从终端完全更新
VS Code 扩展版本 1.20 已更新至当前版本
已在 VS Code 中将终端设置到 MSYS 目录并接受更改
SDK 配置是默认的,没有额外的配置选项
项目文件夹位置和 SDK 位置已在工作区配置中正确设置
每个步骤都按照描述的 SDK 入门指南完成
我认为发生了什么
- ......互联网安全程序.......
在安装 MSYS2 和 Vs Code ext 期间,我没有密切关注安装过程。当我开始工作时,我只是让它 运行。在此过程中,我不知不觉地进行了多次尝试,但都被我的防火墙和互联网安全协议阻止了。我真的不敢相信这整个问题实际上有多么愚蠢...
- 某些子模块似乎是从不同的服务器位置获取的。我检查了我的防火墙日志,出于某种原因,这些连接尝试被标记并被阻止。
时刻关注你的安装!!
在将标记的连接尝试和完整的开发堆栈列入白名单后 refresh/re 安装后,我能够克服困扰我的问题...
对于遇到此问题的任何人,我认为问题在于安装过程并确保在 MSYS 安装期间正确连接到外部服务器。
我不得不说...这个把我吓了一跳....:P
虽然生活往往令人沮丧,但我在构成 VS-Code 的庞大集团中发现了另一个有趣的错误,它是 'useful' 扩展列表...
背景故事:
首先 - 我购买了新的 Sony - Spresense 主板和扩展板用于开发和测试目的。一切都完好无损,产品和包装质量上乘。
第一步:
对于购买的每个微控制器,我总是在编程时测试设备提供的每个方面。我使用著名的 Arduino ide 在 Spresense 主板上抛出一些基本示例。它们都正确闪烁,工作正常,我很高兴看到设备正常工作!
问题:
此时我已经开始使用 arduino ide...我决定ided 下载 vscode 扩展,在 vscode 之后通过 Sony Spresense 网站设置 guide provided。
- 我注意到“setup guide”使用的是最新可用版本中的过时版本。
- 我尝试使用旧版本和最新版本,但都遇到了同样的问题。
- 每一步都被完美地遵循并且将设置 guide 与 T. 相匹配
- VsCode 正确安装和加载扩展、工作区和工作区配置。
- 我还按照在 windows 上安装 MSYS2 的说明进行操作,并验证它工作正常
全停错误:
很高兴看到我的第一个 hello world printf statment 巡航通过串行终端我开始项目 spresense 应用程序构建。
Makefile 通过检查目录和执行所需职责的步骤继续进行。
- 在 make build 即将结束时,我突然得到 --- BUILD ERROR
make[3]: 进入目录 '/c/msys64/home/Anon/spresense/sdk/apps/builtin' 在 C:/msys64/home/Anon/spresense/nuttx/include/sys/types.h:47:0 包含的文件中, 来自 C:/msys64/home/Anon/spresense/nuttx/include/nuttx/lib/builtin.h:51, 来自./builtin_list.c:44: C:/msys64/home/Anon/spresense/nuttx/include/stdint.h:49:12: 致命错误:C:/msys64/home/Anon/spresense/nuttx/include/arch/types.h: 无效参数
包括
编译终止。 错误:arm-none-eabi-gcc 失败:1 命令:arm-none-eabi-gcc -M -fno-builtin -mabi=aapcs -ffunction-sections -fdata-sections -Wall -Wstrict-prototypes -Wshadow -Wundef -g -Os - fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -I. -isystem /c/msys64/home/Anon/spresense/nuttx/include -isystem /c/msys64/home/Anon/spresense/nuttx/../sdk/include -D__KERNEL__ -pipe -gdwarf-3 -I /c/msys64/home/Anon/spresense/sdk/apps/include ./builtin_list.c make[3]: *** [/c/msys64/home/Anon/spresense/sdk/apps/Application.mk:209: .depend] 错误 1 make[3]: 离开目录'/c/msys64/home/Anon/spresense/sdk/apps/builtin'
Make 继续抛出 10 多个相同类型的错误,所有参数均无效..
我觉得这应该行得通...我的意思是在这个产品线背后的所有粉丝博览会上,人们会认为基本设置 guide 和 IDE 应该开箱即用...
我想我正在弄清楚为什么这条产品线在 public 领域惨遭失败...
最基本的代码
#include <sdk/config.h>
#include <stdio.h>
int myAppS_main(int argc, char *argv[])
{
printf("Hello Spresense!!!");
return 0;
}
我花了几天时间试图搞清楚这个问题,但据我所知,索尼通过 vscode.
提供了一个损坏的扩展程序我不得不承认我有点难过....
在 win10 下开发,可以尝试使用 linux,因为这似乎是 Win10 使用 MSYS2 终端的问题。
上周我用我的 spresense 板做了同样的步骤。 但是我没有遇到这个问题...
我对此很感兴趣。 所以,如果你提供更多信息,我会调查的!
- 文件C:/msys64/home/Anon/spresense/nuttx/include/arch/types.h是否存在?你能打开文件吗?
- 你在SDK Config中选择了什么? (没有默认?)如果你可以提供一个“sdk.config”,你能在这个页面分享它吗?
- 您是否将 spresense sdk (/c/msys64/home/Anon/spresense) 用于其他用途?(构建检查或配置等...)
- 你的 MSYS2 版本是多少?
而且我认为,您可能可以使用下一个命令恢复您的环境,您可以试试吗?
$ cd /c/msys64/home/Anon/spresense/sdk
$ make distclean
嗯,
感谢@cmm 对构建完整性的确认。
我能够在另一台 windows 10 计算机上安装开发堆栈,但没有最新的功能更新。只是为了确保这不会造成问题。
在我对知识的巨大追求中,我觉得经过长时间的研究,我可能找到了解决问题的方法。
我可以验证的是:
VS Code 已完全更新
MSYS2 已正确安装并从终端完全更新
VS Code 扩展版本 1.20 已更新至当前版本
已在 VS Code 中将终端设置到 MSYS 目录并接受更改
SDK 配置是默认的,没有额外的配置选项
项目文件夹位置和 SDK 位置已在工作区配置中正确设置
每个步骤都按照描述的 SDK 入门指南完成
我认为发生了什么
- ......互联网安全程序.......
在安装 MSYS2 和 Vs Code ext 期间,我没有密切关注安装过程。当我开始工作时,我只是让它 运行。在此过程中,我不知不觉地进行了多次尝试,但都被我的防火墙和互联网安全协议阻止了。我真的不敢相信这整个问题实际上有多么愚蠢...
- 某些子模块似乎是从不同的服务器位置获取的。我检查了我的防火墙日志,出于某种原因,这些连接尝试被标记并被阻止。
时刻关注你的安装!!
在将标记的连接尝试和完整的开发堆栈列入白名单后 refresh/re 安装后,我能够克服困扰我的问题...
对于遇到此问题的任何人,我认为问题在于安装过程并确保在 MSYS 安装期间正确连接到外部服务器。
我不得不说...这个把我吓了一跳....:P