- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
使用BSP Assistant 后,ModusToolbox™ 开发的应用出现build errors报错 – KBA236587
Community Translation:Build-errors-after-using-ModusToolbox-BSP-Assistant
问题描述: 使用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。