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

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日

悬赏问题

  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真
  • ¥15 关于#c语言#的问题,请各位专家解答!
  • ¥15 这个如何解决详细步骤
  • ¥15 在微信h5支付申请中,别人给钱就能用我的软件,这个的所属行业是啥?