硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1499|回复: 7
收起左侧

[Embedded Studio] Embedded studio编译失败,是什么原因?

[复制链接]

10

主题

52

回帖

82

积分

初级会员

积分
82
发表于 2024-7-27 17:11:46 | 显示全部楼层 |阅读模式
本帖最后由 quanshimutou 于 2024-7-29 09:23 编辑

没有定位到哪句错误,只给出 :Build failed, exit status 0x64   这个信息。是什么原因导致编译失败?


加了句这个
[C] 纯文本查看 复制代码
uint8_t RX_Data[24] __attribute__((section(".ARM.__at_0x30040000"))) = {0};



以前因为定义一个128KB的数组,发生过同样的错误,编译失败。

芯片是STM32H750,想指定变量运行时的地址,在SRAM中。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115454
QQ
发表于 2024-7-28 09:27:03 | 显示全部楼层
只有楼主描述的这些信息没法锁定问题,楼主这个是自己创建的工程还是MDK/IAR转换过来的
回复

使用道具 举报

10

主题

52

回帖

82

积分

初级会员

积分
82
 楼主| 发表于 2024-7-29 09:18:13 | 显示全部楼层
eric2013 发表于 2024-7-28 09:27
只有楼主描述的这些信息没法锁定问题,楼主这个是自己创建的工程还是MDK/IAR转换过来的

是CubeMX里为CubeIDE创建的,在CubeIDE里编译过。
之前定义一个128KB的数组的时候也是编译失败,出现这个提示。
这次想把数组运行到指定地址的RAM中,就这样写了
[C] 纯文本查看 复制代码
uint8_t RX_Data[24] __attribute__((section(".ARM.__at_0x30040000")))= {0}

因为是STM32H7系列想用DMA+串口,但是这变量默认的位置DMA访问不到。
回复

使用道具 举报

2

主题

66

回帖

72

积分

初级会员

积分
72
发表于 2024-7-29 15:27:12 | 显示全部楼层
要看你用的那个版本的Embedded Studio,另外链接器用的是SEGGER Linker还是GNU linker.
SEGGER Linker的话,这么写应该没问题、
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115454
QQ
发表于 2024-7-30 10:06:43 | 显示全部楼层
quanshimutou 发表于 2024-7-29 09:18
是CubeMX里为CubeIDE创建的,在CubeIDE里编译过。
之前定义一个128KB的数组的时候也是编译失败,出现这 ...

看看是不是这个

分享个Embedded Studio使用STM32H7的TCM,SRAM等五块内存方法,无需任何配置,简单易用
https://www.armbbs.cn/forum.php? ... 9721&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

10

主题

52

回帖

82

积分

初级会员

积分
82
 楼主| 发表于 2024-7-30 11:08:57 | 显示全部楼层
qinfeng173 发表于 2024-7-29 15:27
要看你用的那个版本的Embedded Studio,另外链接器用的是SEGGER Linker还是GNU linker.
SEGGER Linker的话 ...

没有找出原因,应该是设置的问题,我把Embedded Studio恢复默认设置,重新开始项目,就编译通过了。
回复

使用道具 举报

0

主题

7

回帖

7

积分

新手上路

积分
7
发表于 2024-10-31 19:03:36 | 显示全部楼层
quanshimutou 发表于 2024-7-30 11:08
没有找出原因,应该是设置的问题,我把Embedded Studio恢复默认设置,重新开始项目,就编译通过了。

兄弟,你是怎么恢复默认的
回复

使用道具 举报

10

主题

52

回帖

82

积分

初级会员

积分
82
 楼主| 发表于 2025-1-20 17:49:36 | 显示全部楼层
hy2270139582 发表于 2024-10-31 19:03
兄弟,你是怎么恢复默认的

卸载,再重装。
另外,我发现,SEGGER ES 编译不通过的时候,不提示错误原因,可以到CubeIDE去编译,会提示原因。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-26 14:02 , Processed in 0.290952 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表