Closed bsculley closed 7 years ago
You need to use ESP module with a large amount of flash memory.
This is not about memory size on a particular hardware module.
I have not even gotten to the point of flashing the module, I’m just trying to link the executable.
I am using the default eagle.app.v6.ld file:
/ This linker script generated from xt-genldscripts.tpp for LSP . /
/ Linker Script for ld -N /
MEMORY
{
dport0_0_seg : org = 0x3FF00000, len = 0x10
dram0_0_seg : org = 0x3FFE8000, len = 0x14000
iram1_0_seg : org = 0x40100000, len = 0x8000
irom0_0_seg : org = 0x40210000, len = 0x5C000
}
PHDRS
{
dport0_0_phdr PT_LOAD;
dram0_0_phdr PT_LOAD;
dram0_0_bss_phdr PT_LOAD;
iram1_0_phdr PT_LOAD;
irom0_0_phdr PT_LOAD;
}
There is some issue here that needs to be resolved. I’m willing to work on it but have no idea what to do.
Thank you.
Bob
From: Mikhail Grigorev [mailto:notifications@github.com]
Sent: Wednesday, February 22, 2017 12:01 AM
To: CHERTS/esp8266-devkit esp8266-devkit@noreply.github.com
Cc: bsculley bsculley@IntegratedSoftwareSvcs.com; Author author@noreply.github.com
Subject: Re: [CHERTS/esp8266-devkit] Unable to link (.text' will not fit in region
iram1_0_seg') (#39)
You need to use ESP module with a large amount of flash memory.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/CHERTS/esp8266-devkit/issues/39#issuecomment-281596389 , or mute the thread https://github.com/notifications/unsubscribe-auth/AFN-MyCdugTjfot5j1m8VdJQ0tUhMyCyks5re-slgaJpZM4MHyQz . https://github.com/notifications/beacon/AFN-MxyDPI0ixqAB3LNvcN_pgAZ3-bb_ks5re-slgaJpZM4MHyQz.gif
The error is telling you that you don't have enough space in IRAM segment. If you previously was compiling against SDK 1.5.x, in current UDK, SDK version 2.0.0 used as default, and this version use more IRAM for it's needs. Check your code and annotate all non-ISR methods with ICACHE_FLASH_ATTR - if not help, google it. This issue is well known and it's not related to UDK.
Thanks for the response.
Just for clarity, and because I didn’t write the code I’m trying to compile, how can I distinguish an ISR method from any other?
Bob
From: Valeriy Kucherenko [mailto:notifications@github.com]
Sent: Wednesday, February 22, 2017 5:02 AM
To: CHERTS/esp8266-devkit esp8266-devkit@noreply.github.com
Cc: bsculley bsculley@IntegratedSoftwareSvcs.com; Author author@noreply.github.com
Subject: Re: [CHERTS/esp8266-devkit] Unable to link (.text' will not fit in region
iram1_0_seg') (#39)
The error is telling you that you don't have enough space in IRAM segment. If you previously was compiling against SDK 1.5.x, in new UDK SDK version 2.0.0 used as default and this version use more IRAM for it's needs. Check your code and annotate all non-ISR methods with ICACHE_FLASH_ATTR - if not help, google it. This issue is well known and it's not related to UDK.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/CHERTS/esp8266-devkit/issues/39#issuecomment-281662810 , or mute the thread https://github.com/notifications/unsubscribe-auth/AFN-MzslEDZD8XLivqkSGuBxOo_qh1uBks5rfDG2gaJpZM4MHyQz . https://github.com/notifications/beacon/AFN-MwRoFQxkKf1OofZfj6ewm0ViC67Vks5rfDG2gaJpZM4MHyQz.gif
Well... ISR handlers are ISR handlers... This require knowledge of firmware you trying to build. I can give you only one clue - check for gpio_intr_handler_register - this is GPIO interrupt register handler.
Ok, thanks. I think I can do that.
I appreciate your help.
Bob
From: Valeriy Kucherenko [mailto:notifications@github.com]
Sent: Wednesday, February 22, 2017 5:13 AM
To: CHERTS/esp8266-devkit esp8266-devkit@noreply.github.com
Cc: bsculley bsculley@IntegratedSoftwareSvcs.com; Author author@noreply.github.com
Subject: Re: [CHERTS/esp8266-devkit] Unable to link (.text' will not fit in region
iram1_0_seg') (#39)
Well... ISR handlers are ISR handlers... This require knowledge of firmware you trying to build. I can give you only one clue - check for gpio_intr_handler_register - this is GPIO interrupt register handler.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/CHERTS/esp8266-devkit/issues/39#issuecomment-281665267 , or mute the thread https://github.com/notifications/unsubscribe-auth/AFN-MzFpYitO1WRvAq3-2ebL4E3kQg_uks5rfDRigaJpZM4MHyQz . https://github.com/notifications/beacon/AFN-M2-NISG5HBlzCKKYQPYVhcMHMv8cks5rfDRigaJpZM4MHyQz.gif
Fast look at firmware you trying to build I have noticed that the methods already have ICACHE_FLASH_ATTR attribute specified. You can also try to build against old SDK - just change SDK_BASE in makefile to point to ESP8266_SDK_1541 (of course you need to have this version)
Great, can you point me to where I can download the 1541 version of the SDK?
Bob
From: Valeriy Kucherenko [mailto:notifications@github.com]
Sent: Wednesday, February 22, 2017 5:17 AM
To: CHERTS/esp8266-devkit esp8266-devkit@noreply.github.com
Cc: bsculley bsculley@IntegratedSoftwareSvcs.com; Author author@noreply.github.com
Subject: Re: [CHERTS/esp8266-devkit] Unable to link (.text' will not fit in region
iram1_0_seg') (#39)
Fast look at firmware you trying to build I have noticed that the methods already have ICACHE_FLASH_ATTR attribute specified. You can also try to build against old SDK - just change SDK_BASE in makefile to point to ESP8266_SDK_1541
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/CHERTS/esp8266-devkit/issues/39#issuecomment-281666028 , or mute the thread https://github.com/notifications/unsubscribe-auth/AFN-M-QAuShYZbXCrq8xk_A-VqTR2apPks5rfDUugaJpZM4MHyQz . https://github.com/notifications/beacon/AFN-M_Yl-2vV7ORsAY1201iqMRNLCdsQks5rfDUugaJpZM4MHyQz.gif
Success!! The project builds without errors using this version of the SDK.
Thanks again,
Bob
From: Valeriy Kucherenko [mailto:notifications@github.com]
Sent: Wednesday, February 22, 2017 5:57 AM
To: CHERTS/esp8266-devkit esp8266-devkit@noreply.github.com
Cc: bsculley bsculley@IntegratedSoftwareSvcs.com; Author author@noreply.github.com
Subject: Re: [CHERTS/esp8266-devkit] Unable to link (.text' will not fit in region
iram1_0_seg') (#39)
http://bbs.espressif.com/viewtopic.php?f=46 http://bbs.espressif.com/viewtopic.php?f=46&t=2198 &t=2198 http://bbs.espressif.com/viewtopic.php?f=46 http://bbs.espressif.com/viewtopic.php?f=46&t=2376 &t=2376
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/CHERTS/esp8266-devkit/issues/39#issuecomment-281675770 , or mute the thread https://github.com/notifications/unsubscribe-auth/AFN-M33X8dkSJ8NJlriQlaDGpW87k1_Tks5rfD6hgaJpZM4MHyQz . https://github.com/notifications/beacon/AFN-M5bIRLdBtH-prIQZD2fHT5lIk4ujks5rfD6hgaJpZM4MHyQz.gif
Is it possible to know which code is included in the iram segment and the size of each module?
I would like to use the current SDK, but have no way to know by how much the limit is exceeded or which modules might be optimized or eliminated to fit.
Bob
From: Valeriy Kucherenko [mailto:notifications@github.com]
Sent: Wednesday, February 22, 2017 5:57 AM
To: CHERTS/esp8266-devkit esp8266-devkit@noreply.github.com
Cc: bsculley bsculley@IntegratedSoftwareSvcs.com; Author author@noreply.github.com
Subject: Re: [CHERTS/esp8266-devkit] Unable to link (.text' will not fit in region
iram1_0_seg') (#39)
http://bbs.espressif.com/viewtopic.php?f=46 http://bbs.espressif.com/viewtopic.php?f=46&t=2198 &t=2198 http://bbs.espressif.com/viewtopic.php?f=46 http://bbs.espressif.com/viewtopic.php?f=46&t=2376 &t=2376
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/CHERTS/esp8266-devkit/issues/39#issuecomment-281675770 , or mute the thread https://github.com/notifications/unsubscribe-auth/AFN-M33X8dkSJ8NJlriQlaDGpW87k1_Tks5rfD6hgaJpZM4MHyQz . https://github.com/notifications/beacon/AFN-M5bIRLdBtH-prIQZD2fHT5lIk4ujks5rfD6hgaJpZM4MHyQz.gif
Ok, optimisation – I’m sure of it…
The older versions of the SDK use up less room – actually 1.5 onwards is pretty much ok, but there’s still room left depending on the optimisation and the setting I think of that Eagle file.
From: Bob Sculley [mailto:bsculley@IntegratedSoftwareSvcs.com]
Sent: 22 February 2017 14:11
To: 'CHERTS/esp8266-devkit' reply@reply.github.com
Cc: pete@scargill.org
Subject: RE: [CHERTS/esp8266-devkit] Unable to link (.text' will not fit in region
iram1_0_seg') (#39)
Success!! The project builds without errors using this version of the SDK.
Thanks again,
Bob
From: Valeriy Kucherenko [mailto:notifications@github.com]
Sent: Wednesday, February 22, 2017 5:57 AM
To: CHERTS/esp8266-devkit <esp8266-devkit@noreply.github.com mailto:esp8266-devkit@noreply.github.com >
Cc: bsculley <bsculley@IntegratedSoftwareSvcs.com mailto:bsculley@IntegratedSoftwareSvcs.com >; Author <author@noreply.github.com mailto:author@noreply.github.com >
Subject: Re: [CHERTS/esp8266-devkit] Unable to link (.text' will not fit in region
iram1_0_seg') (#39)
http://bbs.espressif.com/viewtopic.php?f=46 http://bbs.espressif.com/viewtopic.php?f=46&t=2198 &t=2198 http://bbs.espressif.com/viewtopic.php?f=46 http://bbs.espressif.com/viewtopic.php?f=46&t=2376 &t=2376
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/CHERTS/esp8266-devkit/issues/39#issuecomment-281675770 , or mute the thread https://github.com/notifications/unsubscribe-auth/AFN-M33X8dkSJ8NJlriQlaDGpW87k1_Tks5rfD6hgaJpZM4MHyQz . https://github.com/notifications/beacon/AFN-M5bIRLdBtH-prIQZD2fHT5lIk4ujks5rfD6hgaJpZM4MHyQz.gif
In the current version of the SDK (2.1.1) I am unable to link a project [https://bitbucket.org/scargill/hackitt] that previously worked.
The error is: section
.text' will not fit in region
iram1_0_seg'.Any help in understanding what this means and how to troubleshoot it is appreciated. Especially understanding what items are included in the .text section and the relative space used by each item.
I'm running Windows 10 with Eclipse Neon as the IDE and the default eagle.app.v6.ld file located in C:\Espressif\ESP8266_SDK\ld.