Arm Atmel Studio 6中未定义的引用

Arm Atmel Studio 6中未定义的引用,arm,atmel,Arm,Atmel,我正在创建一个简单的程序来熟悉Atmel Studio 6(在Win 7 X64上运行),使用ASF为SAM4S微控制器提供的库/驱动程序。在编译过程中,我在startup_sam4s.c文件中发现了几个(19个)未定义的引用错误。我听说这通常意味着项目中缺少文件/缺少链接器文件,但我(合理地)相信我已将所有必需的文件添加到解决方案中 这些错误都是“未定义的对szero的引用”类型的错误,并且与bug报告中提到的错误完全相同(尽管使用不同的微控制器系列)。我已经按照修复说明进行了操作,但没有效果

我正在创建一个简单的程序来熟悉Atmel Studio 6(在Win 7 X64上运行),使用ASF为SAM4S微控制器提供的库/驱动程序。在编译过程中,我在startup_sam4s.c文件中发现了几个(19个)未定义的引用错误。我听说这通常意味着项目中缺少文件/缺少链接器文件,但我(合理地)相信我已将所有必需的文件添加到解决方案中

这些错误都是“未定义的对szero的引用”类型的错误,并且与bug报告中提到的错误完全相同(尽管使用不同的微控制器系列)。我已经按照修复说明进行了操作,但没有效果。我还尝试过重新安装、升级到v6.1(应该可以修复上述bug)、更改链接器脚本文件夹的权限(它似乎无法找到链接器脚本的位置),并对所有内容进行注释,以确保问题不是由我的程序引起的

如果有人能就这一问题的起因提出一些建议,我将不胜感激。提前谢谢


编辑:嗯。重新启动了机器并再次启动了Atmel Studio,然后再次执行了错误修复过程,现在我只收到三个错误:未定义对write in Writer.c的引用,未定义对Readr.c的引用,以及我之前的一个错误,ld返回了1个退出状态。

奇怪的是,在另一台计算机上重新安装6.1并使用现有的main.c文件创建新的解决方案后,它工作得非常好:然后在以前的计算机上重新安装并将解决方案传输到该计算机上,将其永久修复。

奇怪的是,在另一台计算机上重新安装6.1并使用现有的main.c文件创建新的解决方案后,它工作得很好:然后在以前的计算机上重新安装并将解决方案转移到它上,永久性地修复了它。

通过不调用
printf()
,我可以消除以下错误消息:

undefined reference to `_write` writer.c undefined reference to `_read` readr.c ld returned 1 exit status collect2.exe 对`_write`writer.c的未定义引用 对`_read`readr.c的未定义引用 ld返回1个退出状态collect2.exe
通过不调用printf()
,我可以消除以下错误消息:

undefined reference to `_write` writer.c undefined reference to `_read` readr.c ld returned 1 exit status collect2.exe 对`_write`writer.c的未定义引用 对`_read`readr.c的未定义引用 ld返回1个退出状态collect2.exe
\u szero
等错误是由链接器脚本引起的。这是零段的开始,通常称为BSS。我认为CMSIS工具的用户并不多。如果有人能帮助你,你可能需要提供更多的信息。尤其是那些使用过ARM cpu的人,但不是这个确切的工具集。
\u szero
等错误是由链接器脚本引起的。这是零段的开始,通常称为BSS。我认为CMSIS工具的用户并不多。如果有人能帮助你,你可能需要提供更多的信息。特别是那些使用ARM cpu的人,但不是这个确切的工具集。