打印
[ModusToolbox™]

使用BSP Assistant 后,ModusToolbox™ 开发的应用出现build errors报错

[复制链接]
103|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
IFX_OwenSu|  楼主 | 2023-9-27 14:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题描述: 使用BSP Assistant 后,ModusToolbox™ 开发的应用出现build errors报错,如下:
proj_cm0p.elf section '.text' will not fit in region 'flash'
ld.exe: region 'flash' overflowed by 8500 bytes
#error "Unhandled Device/PinPackage combination"
回答:
这类问题常见于多核代码环境,代码中既有自定义链接脚本,又有启动代码和BSP配置文件。在这种情况下使用BSP Assistant 更改设备,会自动备份自定义文件,然后将其替换为默认文件。此时,BSP Assistant 会显示如下警告信息:
WARNING:[PATH]/bsps/TARGET_APP_CY8CPROTO-062S3-4343W/COMPONENT_CM0P/TOOLCHAIN_GCC_ARM/linker.ld had local edits.  A backup was placed in [PATH]/bsps/TARGET_APP_CY8CPROTO-062S3-4343W/COMPONENT_CM0P/TOOLCHAIN_GCC_ARM/linker.ld.bak.
WARNING:[PATH]/bsps/TARGET_APP_CY8CPROTO-062S3-4343W/COMPONENT_CM4/TOOLCHAIN_GCC_ARM/linker.ld had local edits.  A backup was placed in [PATH]/bsps/TARGET_APP_CY8CPROTO-062S3-4343W/COMPONENT_CM4/TOOLCHAIN_GCC_ARM/linker.ld.bak.
BSP Assistant可列出修改/添加的文件,并提供代码差异对比工具查看差异部分。具体操作细节,请参阅BSP Assistant用户手册
  • 调整flash 空间分配
多核代码环境下,CM0p 镜像需要更多flash空间来运行自定义链接脚本。而BSP自带的默认链接脚本不适用于多核设计,没有为CM0p分配足够的flash空间。所以 BSP Assistant 使用默认链接脚本替代自定义链接脚本后,程序出现build errors报错。解决步骤如下:
  • 在CM0p链接脚本中,把flash空间最小化至0x4400。请在.bak 文件中进行检查,确保修改成功。
  • 在CM4链接脚本中,使用FLASH_CM0P_SIZE 命令,修改flash空间大小,与CM0p链接脚本中数值保持一致。
  • 在CM0p project Makefile中,设置/更新CY_CORTEX_M4_APPL_ADDR定义,完成修改CM4镜像的起始地址。
其他原因
如果上述步骤后问题仍未得到解决,对比原*.bak 文件和替换后的新文件的差异,做出相应修改,直至不再出现build errors。


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:英飞凌科技股份公司
简介:关于英飞凌——我们致力于打造一个更加便利、安全和环保的世界,在赢得自身成功发展的同时,积极践行企业社会责任。

35

主题

100

帖子

3

粉丝