完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在将代码合并为一个基本的 DFU 结构、UART 接口,
,当我移动我的代码并替换"Blinky" 的 main.c 时。 编译器错误信息将显示如下。 但如果我屏蔽 UART 异步 RX 读取和 cJSON. 编纂者可以通过 请教 谢谢 /Applications/ModusToolbox/tools_3.2/gcc/bin/.../lib/gcc/arm-none-eabi/11.3.1/.../..../....././arm-none-eabi/bin/ld: 地址 0x100301c4 of /Users/andyjery/mtw1/DFU_EV2_PowerKit/blinky_cm4/build/APP_CY8CKIT-062S4/Debug/blinky_cm4.elf section `.text' is not within region `flash_app1'. /Applications/ModusToolbox/tools_3.2/gcc/bin/.../lib/gcc/arm-none-eabi/11.3.1/.../..../...../arm-none-eabi/bin/ld:/Users/andyjery/mtw1/DFU_EV2_PowerKit/blinky_cm4/build/APP_CY8CKIT-062S4/Debug/blinky_cm4.elf section `.ARM.exidx'不适合区域 "flash_app1"。 /Applications/ModusToolbox/tools_3.2/gcc/bin/.../lib/gcc/arm-none-eabi/11.3.1/.../..../....././arm-none-eabi/bin/ld: 地址 0x100301c4 of /Users/andyjery/mtw1/DFU_EV2_PowerKit/blinky_cm4/build/APP_CY8CKIT-062S4/Debug/blinky_cm4.elf section `.text' is not within region `flash_app1'. /Applications/ModusToolbox/tools_3.2/gcc/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../arm-none-eabi/bin/ld: section .cy_app_signature LMA [000000001002fffc,000000001002ffff] 与 .text 部分重叠 LMA [0000000010020000,00000000100301c3] /Applications/ModusToolbox/tools_3.2/gcc/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../arm-none-eabi/bin/ld: `flash_app1'区域溢出 0 个字节 collect2: error: ld returned 1 exit status make[4]:*** [/Users/andyjery/mtw1/DFU_EV2_PowerKit/blinky_cm4/build/APP_CY8CKIT-062S4/Debug/blinky_cm4.elf] *** 错误 1 make[3]:*** [secondstage_build] 错误 2 make[2]:*** [build] 错误 2 make[1]:*** [build_application_bootstrap] 错误 2 make:*** [secondstage_build] 错误 2 |
|
相关推荐
1个回答
|
|
从您提供的错误信息来看,问题出在链接器(ld)上。错误信息表明,您的代码中的某个地址(0x100301c4)不在指定的 flash_app1 区域内。这可能是由于代码大小超出了 flash_app1 区域的限制,或者是内存布局配置不正确。
为了解决这个问题,您可以尝试以下步骤: 1. 检查代码大小:确保您的代码大小没有超过 flash_app1 区域的大小。您可以使用编译器的 -Xlinker --print-memory-usage 选项来查看内存使用情况。 2. 检查内存布局:确保您的 linker script(通常是 .ld 文件)正确配置了 flash_app1 区域的大小和位置。您可以在 ModusToolbox IDE 中找到这个文件,通常位于项目的 "Linker Script" 文件夹中。 3. 优化代码:如果代码大小确实超过了 flash_app1 区域的限制,您可以尝试优化代码,例如移除不必要的功能、使用更紧凑的数据结构等。 4. 调整 flash_app1 区域大小:如果可能的话,您可以尝试增加 flash_app1 区域的大小。这可能需要修改芯片的配置或使用不同的芯片型号。 5. 检查 UART 异步 RX 读取和 cJSON 库:您提到屏蔽这两个部分后,编译器可以通过。请确保这两个部分在您的代码中正确实现,并且没有引入额外的内存占用。 6. 重新编译和链接:在进行上述更改后,重新编译和链接您的项目,以确保问题得到解决。 希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多关于您的项目和代码的详细信息,以便我能更好地帮助您。 |
|
|
|
只有小组成员才能发言,加入小组>>
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
5540 浏览 2 评论
4082 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3596 浏览 9 评论
1208 浏览 8 评论
3501 浏览 7 评论
419浏览 2评论
251浏览 2评论
358浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
5551浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
422浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 02:18 , Processed in 0.677795 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号