2400513_zh-CN

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

2400513_zh-CN

2400513_zh-CN

S32K311 RTD 5.0 - 链接器错误:.non_cacheable_bss与 .int_results 溢出和重叠

您好,NXP团队:

我正在使用以下环境开发一个S32K311项目:

  • MCU: S32K311

  • IDE: S32 设计工作室 3.6.7

  • RTD: S32K3_RTD_5.0.0_D2408_ASR_REL_4_7_REV_0000_20241002

  • AUTOSAR: 4.7

问题

项目初期进展顺利。

随着项目的推进,我启用并配置了多个 RTD 驱动程序,包括 ADC、eMIOS、LCU、ICU、PIT、PORT、LPUART、LPSPI、TRGMUX、MCL 以及我的应用程序所需的其他外设。

集成这些驱动程序后,项目在链接阶段失败,并出现以下错误:

.non_cacheable_bss will not fit in region 'int_sram_no_cacheable'

section .int_results overlaps section .non_cacheable_bss

region 'int_sram_no_cacheable' overflowed by 440 bytes

collect2.exe: error: ld returned 1 exit status

存储器布局

默认链接器脚本包含以下 SRAM 区域:

int_sram              : ORIGIN = 0x20400000, LENGTH = 0x00003F00
int_sram_fls_rsv      : ORIGIN = 0x20403F00, LENGTH = 0x00000100
int_sram_no_cacheable : ORIGIN = 0x20404000, LENGTH = 0x00003B00
int_sram_results      : ORIGIN = 0x20407B00, LENGTH = 0x00000100
int_sram_shareable    : ORIGIN = 0x20407C00, LENGTH = 0x00000400

链接器报告.non_cacheable_bss该部分超出分配的 int_sram_no_cacheable 区域约440 字节

问题

  1. 在 S32K311 上启用多个 RTD 驱动程序时,这种内存使用量是否正常?

  2. 是否有推荐的方法来减小 .non_cacheable_bss 的大小?

  3. 是否建议修改链接器脚本并增加 int_sram_no_cacheable 区域?如果是这样,S32K311 的推荐内存布局是什么?

  4. 是否有任何 RTD 配置选项可以减少分配给不可缓存部分的内存?

  5. 有人在集成多个RTD外设时遇到过类似的问题吗?

任何指导或建议都将不胜感激。

谢谢!

Re: S32K311 RTD 5.0 - Linker error: .non_cacheable_bss overflow and overlap with .int_results

@Esakki

以下讨论帖可能对您有所帮助,因为它们讨论了类似的问题,并提供了一些有用的故障排除建议。

此外,还有一份 S32K3 应用笔记,更详细地解释了链接器文件和启动代码,包括如何修改和自定义内存区域。

AN14893 :S32K3xx 链接器文件和启动代码

最后一个帖子包含了与代码优化技术相关的一些建议。

S32K3xx 如何优化 APP 代码以获得更高性能


BR,VaneB

标记 (1)
无评分
版本历史
最后更新:
2 周之前
更新人: