完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
得到了一些简单的代码,它使用带有 HSPI 的 MCP3208 来读取一些值。然后我想 sqrt() 这些值。此外,它使用 i2c 连接到 DS3231 模块,获取时间并报告自纪元以来的时间(来自 mktime)
添加 powf() 函数 我收到错误消息 a.text will not fit in iram1_0_seg 我如何计算出使用的内容所有的记忆? 或者,我怎样才能增加段的大小? 我正在使用 SDK 1.0.1,出于某种原因 HSPI 不能与 1.1.0 版本一起使用 编译器是否有一些好的标志奇迹般地使事情变得更小?在 Windows 7 上运行。 我什至还没有放入我需要用来将计算值发布到服务器的代码! 代码:全选C:/projects/ESP/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -Idriver -Iuser -Idriver/include -Iuser/include -Iinclude -IC:/Projects/ESP/esp_iot_sdk_v1.0.1/include -Os -Os -O2 -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -c user/i2c_master.c -o build/user/i2c_master.o C:/projects/ESP/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -Idriver -Iuser -Idriver/include -Iuser/include -Iinclude -IC:/Projects/ESP/esp_iot_sdk_v1.0.1/include -Os -Os -O2 -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -c user/spi.c -o build/user/spi.o C:/projects/ESP/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -Idriver -Iuser -Idriver/include -Iuser/include -Iinclude -IC:/Projects/ESP/esp_iot_sdk_v1.0.1/include -Os -Os -O2 -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -c user/user_main.c -o build/user/user_main.o C:/projects/ESP/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -Idriver -Iuser -Idriver/include -Iuser/include -Iinclude -IC:/Projects/ESP/esp_iot_sdk_v1.0.1/include -Os -Os -O2 -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH -c user/ds3231.c -o build/user/ds3231.o C:/projects/ESP/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru build/blink_app.a build/user/i2c_master.o build/user/spi.o build/user/user_main.o build/user/ds3231.o C:/projects/ESP/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -LC:/Projects/ESP/esp_iot_sdk_v1.0.1/lib -TC:/Projects/ESP/esp_iot_sdk_v1.0.1/ld/eagle.app.v6.ld -nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static -Wl,--start-group -lm -lnet80211 -lphy -llwip -lpp -lc -lgcc -lwpa -lmain build/blink_app.a -Wl,--end-group -o build/blink.out c:/projects/esp/esp8266/xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: build/blink.out section `.text' will not fit in region `iram1_0_seg' collect2.exe: error: ld returned 1 exit status Makefile:120: recipe for target 'build/blink.out' failed make: *** [build/blink.out] Error 1 |
|
相关推荐
1个回答
|
|
iram1_0_seg 错误消息通常表示在 iram1_0_seg 内存段中存储的数据太大了,无法适应芯片的内存。这可能是由于代码或数据过多而导致的。您可以使用 SDK 提供的工具(如 xtensa-lx106-elf-size)来计算使用的所有内存,以找出哪些部分是最大的。如果发现 iram1_0_seg 太大,您可以尝试通过优化代码或引入更小的库来减少内存使用量或将代码数据分布到其他存储单元中。
要增加段的大小,必须更改 linker script(.ld 文件),并将 iram1_0_seg 大小设置为您需要的大小。请注意,如果您不确定如何更改链接器脚本,最好不要这样做,因为这可能会导致其他问题。 关于编译器标志,您可以尝试使用-O1 或 -Os 标志,以实现更好的代码优化和/或大小优化。 最后,请注意,如果您将代码添加到已达到极限的存储单元中,它可能会导致系统崩溃或无法正常工作。因此,建议您在添加代码之前确保已充分了解使用的内存情况。 |
|
|
|
只有小组成员才能发言,加入小组>>
407浏览 6评论
339浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
322浏览 5评论
322浏览 4评论
310浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-16 21:53 , Processed in 0.737627 second(s), Total 75, Slave 62 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号