seeyou_jpg 2024-03-08 16:52 采纳率: 46.2%
浏览 86
已结题

stm32编译错误,导致无法成功输出hex文件

"no source": Error: command-line: #564: cannot open embedded assembler output file "C:\WINDOWS\TEMP\p5564-2": No such file or directory
....\Drivers\BSP\LED\led.c: 0 warnings, 1 error
"....\Output\atk_f103.axf" - 17 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed: 00:00:03

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-03-08 16:53
    关注

    引自免费微信小程序:皆我百晓生

    当STM32编译过程中遇到“no source: Error: command-line: #564: cannot open embedded assembler output file”错误时,通常意味着编译器在尝试写入临时文件时遇到了问题。具体到你的情况,它无法打开位于"C:\WINDOWS\TEMP\p5564-2"的文件。

    解决此类问题可以按照以下步骤进行排查和操作:

    1. 权限问题

      • 检查C盘的Temp文件夹是否有足够的读写权限。确保当前用户账户拥有对C:\WINDOWS\TEMP目录的完全控制权限。
    2. 磁盘空间

      • 确认C盘(特别是Temp文件夹)是否有足够的剩余空间以供编译器生成临时文件。
    3. 临时文件冲突

      • 可能存在其他进程正在使用或锁定该临时文件,尝试重启IDE或者电脑清除可能存在的临时文件锁。
    4. IDE配置

      • 在你的STM32 IDE中检查项目的构建路径设置,确保编译器使用的临时文件输出路径正确且可写。
    5. 清理构建

      • 清理并重新构建项目,这通常会清理掉旧的临时文件并生成新的。
    6. 环境变量

      • 检查系统环境变量TMPTEMP是否指向有效的临时文件夹路径,并确认路径有效且可写。

    如果上述常规解决方案无效,你还可以尝试以下针对性操作:

    • 尝试更改IDE的临时文件生成路径设置,将其指向一个绝对路径,比如在非系统分区创建一个新的临时文件夹,并赋予其足够权限。

    对于IAR EWARM、Keil MDK或其他STM32开发环境,相应的设置方法需要参考对应IDE的帮助文档。在实际操作中,请务必根据你的实际情况调整上述建议。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月8日
  • 创建了问题 3月8日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀