在32K限制之前没有获得足够的空间错误!怎么回事?

3个职位/0个新职位
最后一篇文章
布莱恩
离线
最后一次见到:5年11个月前
专家 硕士
已加入:2014-10-16 18:10
在32K限制之前没有获得足够的空间错误!怎么回事?

我使用DA14580上的Keil-uvision编译器得到这个错误

\out\full\U emb(输出\完整\U emb)_系统内存.axf:错误:L6406E:执行区域中没有与.hardfault\u handler.o(.text)匹配的任何选择器的空间。
\out\full\U emb(输出\完整\U emb)_系统内存.axf:错误:L6406E:执行区域中没有与.gpio.o(i.gpio\u SetPinFunction)匹配的任何选择器的空间。
\out\full\U emb(输出\完整\U emb)_系统内存.axf:错误:L6406E:执行区域中没有与.gpio.o(i.gpio\u ConfigurePin)匹配的任何选择器的空间。
\out\full\U emb(输出\完整\U emb)_系统内存.axf:错误:L6406E:执行区域中没有空间。任何与gpio.o(i.gpio\u SetInactive)匹配的选择器。
\out\full\U emb(输出\完整\U emb)_系统内存.axf:错误:L6406E:执行区域中没有空间。任何与gpio.o(i.gpio\u SetActive)匹配的选择器。
\out\full\U emb(输出\完整\U emb)_系统内存.axf:错误:L6406E:执行区域中没有空格。任何与d2f.o(.text)匹配的选择器。
\out\full\U emb(输出\完整\U emb)_系统内存.axf:错误:L6406E:执行区域中没有与.arch\u main.o(.constdata)匹配的任何选择器的空间。
\out\full\U emb(输出\完整\U emb)_系统内存.axf:错误:L6406E:执行区域中没有与.ffixui.o(.text)匹配的任何选择器的空间。
\out\full\U emb(输出\完整\U emb)_系统内存.axf:错误:L6406E:执行区域中没有空格。任何与f2d.o(.text)匹配的选择器。
\out\full\U emb(输出\完整\U emb)_系统内存.axf:错误:L6406E:执行区域中没有空格。任何与strcpy.o(.text)匹配的选择器。
\out\full\U emb(输出\完整\U emb)_系统内存.axf:错误:L6406E:执行区域中没有与.ANY选择器匹配的app.o(.constdata)的空间。
\out\full\U emb(输出\完整\U emb)_系统内存.axf:错误:L6406E:执行区域中没有与.ffltui.o(.text)匹配的任何选择器的空间。
\out\full\U emb(输出\完整\U emb)_系统内存.axf:错误:L6406E:执行区域中没有与.gpio.o(.constdata)匹配的任何选择器的空间。
\out\full\U emb(输出\完整\U emb)_系统内存.axf:错误:L6406E:执行区域中没有与.o.o(.text)匹配的任何选择器的空间。
\out\full\U emb(输出\完整\U emb)_系统内存.axf:错误:L6407E:聚合大小为0x300字节的节无法放入任何选择器。

但是,我使用的编译器的有限版本应该在32K时退出。据我所知,32K小于DA14580上的可用空间。为什么我会犯这个错误呢?

GCB布莱尔
离线
最后一次见到:4年7个月前
硕士
已加入:2014-09-08 10:21
会是32K吗

是不是32K与数据/常量/代码有关,不包括RAM?

布莱恩
离线
最后一次见到:5年11个月前
专家 硕士
已加入:2014-10-16 18:10
我开始相信

我开始相信32K限制只是代码和常量(比如字符串)。