Comments (8)
.text' will not fit in region
iram1_0_seg'
Looks like because of new added SDK functionality your code can not fit into region size.
Try with following commands for user1.bin and user2.bin
make DEVICE=EVB_ONLY APP=1
make DEVICE=EVB_ONLY APP=2
this will reduce count of drivers for our modules to the minimum so hopefully your code will fit into region.
Let me know if this helps.
from esp8266.
i have just made a fresh clone of the repo with the following result:
xtensa-lx106-elf-ar ru .output/eagle/debug/lib/libdriver.a .output/eagle/debug/obj/hw_timer.o .output/eagle/debug/obj/uart.o .output/eagle/debug/obj/gpio16.o .output/eagle/debug/obj/pwm.o .output/eagle/debug/obj/i2c_extention.o .output/eagle/debug/obj/spi.o .output/eagle/debug/obj/key.o .output/eagle/debug/obj/i2c_master.o
xtensa-lx106-elf-ar: creating .output/eagle/debug/lib/libdriver.a
make[2]: Leaving directory '/home/chris/Dokumente/ESP8266/IoT Firmware/olimex/driver'
xtensa-lx106-elf-gcc -L../lib -nostdlib -T../ld/eagle.app.v6.new.1024.app1.ld -Wl,--no-check-sections -u call_user_start -Wl,-static -Wl,--start-group -lc -lgcc -lhal -lphy -lpp -lnet80211 -llwip -lwpa -lmain -ljson -lupgrade -lssl -lsmartconfig -lcrypto user/.output/eagle/debug/lib/libuser.a driver/.output/eagle/debug/lib/libdriver.a user/modules/.output/eagle/debug/lib/libmod.a -Wl,--end-group -o .output/eagle/debug/image/eagle.app.v6.out
/opt/Espressif/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/bin/ld: .output/eagle/debug/image/eagle.app.v6.out section `.text' will not fit in region `iram1_0_seg'
collect2: error: ld returned 1 exit status
../Makefile:371: recipe for target '.output/eagle/debug/image/eagle.app.v6.out' failed
make[1]: *** [.output/eagle/debug/image/eagle.app.v6.out] Error 1
make[1]: Leaving directory '/home/chris/Dokumente/ESP8266/IoT Firmware/olimex'
Makefile:316: recipe for target '.subdirs' failed
make: *** [.subdirs] Error 2
changed to 90b90cb
make was successful
from esp8266.
- Do you try to compile firmware with or without modifications?
- What is the exact command sequence you use to compile the source?
from esp8266.
without modificatons
mkdir test
cd test
git clone https://github.com/OLIMEX/ESP8266.git
cd ESP8266/IoT\ Firmware
make clean
make DEVICE=1 APP=1
Result
make[2]: Leaving directory '/home/chris/test/ESP8266/IoT Firmware/olimex/driver'
xtensa-lx106-elf-gcc -L../lib -nostdlib -T../ld/eagle.app.v6.new.1024.app1.ld -Wl,--no-check-sections -u call_user_start -Wl,-static -Wl,--start-group -lc -lgcc -lhal -lphy -lpp -lnet80211 -llwip -lwpa -lmain -ljson -lupgrade -lssl -lsmartconfig -lcrypto user/.output/eagle/debug/lib/libuser.a driver/.output/eagle/debug/lib/libdriver.a user/modules/.output/eagle/debug/lib/libmod.a -Wl,--end-group -o .output/eagle/debug/image/eagle.app.v6.out
/opt/Espressif/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/bin/ld: .output/eagle/debug/image/eagle.app.v6.out section `.text' will not fit in region `iram1_0_seg'
collect2: error: ld returned 1 exit status
../Makefile:371: recipe for target '.output/eagle/debug/image/eagle.app.v6.out' failed
make[1]: *** [.output/eagle/debug/image/eagle.app.v6.out] Error 1
make[1]: Leaving directory '/home/chris/test/ESP8266/IoT Firmware/olimex'
Makefile:316: recipe for target '.subdirs' failed
make: *** [.subdirs] Error 2
Maybe helpful
xtensa-lx106-elf-gcc -v
Using built-in specs.
COLLECT_GCC=xtensa-lx106-elf-gcc
COLLECT_LTO_WRAPPER=/opt/Espressif/xtensa-lx106-elf/libexec/gcc/xtensa-lx106-elf/4.8.5/lto-wrapper
Target: xtensa-lx106-elf
Configured with: /opt/Espressif/crosstool-NG/.build/src/gcc-4.8.5/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=xtensa-lx106-elf --prefix=/opt/Espressif/xtensa-lx106-elf --with-local-prefix=/opt/Espressif/xtensa-lx106-elf/xtensa-lx106-elf/sysroot --with-sysroot=/opt/Espressif/xtensa-lx106-elf/xtensa-lx106-elf/sysroot --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG crosstool-ng-1.22.0-55-gecfc19a' --disable-__cxa_atexit --enable-cxx-flags='-fno-exceptions -fno-rtti' --with-gmp=/opt/Espressif/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-mpfr=/opt/Espressif/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-mpc=/opt/Espressif/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-isl=/opt/Espressif/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-cloog=/opt/Espressif/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-libelf=/opt/Espressif/crosstool-NG/.build/xtensa-lx106-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-libgomp --disable-libmudflap --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-nls --disable-multilib --enable-languages=c,c++
Thread model: single
gcc version 4.8.5 (crosstool-NG crosstool-ng-1.22.0-55-gecfc19a)
from esp8266.
Strange i have no such problems. The only difference I see is gcc and crosstool version
xtensa-lx106-elf-gcc -v
Using built-in specs.
COLLECT_GCC=xtensa-lx106-elf-gcc
COLLECT_LTO_WRAPPER=/home/tefan/workspace/esp-open-sdk/xtensa-lx106-elf/libexec/gcc/xtensa-lx106-elf/4.8.2/lto-wrapper
Target: xtensa-lx106-elf
Configured with: /home/tefan/workspace/esp-open-sdk/crosstool-NG/.build/src/gcc-4.8.2/configure --build=x86_64-build_unknown-linux-gnu --host=x86_64-build_unknown-linux-gnu --target=xtensa-lx106-elf --prefix=/home/tefan/workspace/esp-open-sdk/xtensa-lx106-elf --with-local-prefix=/home/tefan/workspace/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot --disable-libmudflap --with-sysroot=/home/tefan/workspace/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG 1.20.0' --disable-__cxa_atexit --with-gmp=/home/tefan/workspace/esp-open-sdk/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-mpfr=/home/tefan/workspace/esp-open-sdk/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-mpc=/home/tefan/workspace/esp-open-sdk/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-isl=/home/tefan/workspace/esp-open-sdk/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-cloog=/home/tefan/workspace/esp-open-sdk/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-libelf=/home/tefan/workspace/esp-open-sdk/crosstool-NG/.build/xtensa-lx106-elf/buildtools --enable-lto --enable-target-optspace --disable-libgomp --disable-libmudflap --disable-nls --disable-multilib --enable-languages=c,c++
Thread model: single
gcc version 4.8.2 (crosstool-NG 1.20.0)
from esp8266.
I try to find a solution with the toolchain ( maybe a eraliery commit as a workaround).
I think i was read something about a similar problem in unofficial DevKit for windows
from esp8266.
Today I ran into same problem when installing toolchain to different location. It turned out that for some reason two of the library files are missing. Hope that the issue is fixed with commit 48b948b
Can you check if this works for you?
from esp8266.
I had same problem, and discovered that there is a version of libgcc.a supplied in the SDK with numerous functions removed that are in the esp8266 ROM. If your built libgcc.a is in your path first, it will include these functions and the result will be too large.
The attached xtensa-lx106-elf-ar script will remove the functions from the built library and then your programs will compile.
Use it as follows:
export PATH=$(TOOLCHAIN)/bin:${PATH}
cd $(TOOLCHAIN)/lib/gcc/xtensa-lx106-elf/<version>
xtensa-lx106-elf-ar -M < strip_libgcc_funcs.txt
from esp8266.
Related Issues (20)
- WEBCLIENT - no request freeing from list HOT 1
- IoT Firmware Websocket "freezes" on frame segmentation at TCP level HOT 7
- Enhancement: Upgrade SDK to 1.5.1 (16.1.2016) (IoT Firmware) HOT 2
- IoT Firmware: Default config settings after complete flashing HOT 6
- How to adapte 8Mbit flash with iot_firmware project? HOT 1
- What's the purpose of bringing out SD_CLK to SD_CMD? (EVB board) HOT 1
- memcpy in fnc jsonparse_object_str copies 1 byte to much HOT 1
- MQTT example must be updated with changes to PubSubClient HOT 1
- WebClient.webclient_recv - Finishing chunked message hotfix
- Webserver does not respond after reconnect
- Tho functions move into flash instead of RAM HOT 4
- RX and TX pin are messed up HOT 1
- it is possible to add webserver/websocket port config in web app HOT 5
- WPA2-PEAP Support HOT 1
- Status/event Messages: field "device" to fill with host name HOT 1
- Compiling Issue HOT 1
- Conection betwen ESPs
- Compile with SDK 2.1.0
- HTML page it's not show in web Server
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from esp8266.