RTV forum PL | NewsGroups PL

Jak zwiększyć pamięć flash i poprawnie skompilować projekt na ESP8266?

ESP8266 - rozmiar flasha

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak zwiększyć pamięć flash i poprawnie skompilować projekt na ESP8266?

Goto page Previous  1, 2

Atlantis
Guest

Mon Oct 22, 2018 3:43 pm   



On 10/22/18 4:00 PM, Zbych wrote:

Quote:
Jak usuwasz ICACHE_FLASH_ATTR to przemieszczasz funkcję z irom0.text do
.text, który ma tylko 32kB, więc tylko pogarszasz sytuację. Zrób
dokładnie odwrotnie i dodaj do kilku funkcji ICACHE_FLASH_ATTR.

Prawie wszędzie pododawałem ICACHE_FLASH_ATTR. W swoim kodzie miałem
tylko kilka funkcji bez tego parametru (m.in. główną pętlę i kilka
callbacków, które w przykładach były zrealizowane w ten sposób, więc
zostawiłem). Nic się nie zmieniło. Zresztą funkcja która "przeważa" też
jest ICACHE_FLASH_ATTR...

Nie wiem jak biblioteka esphttpd, ale w moim kodzie prawie wszystko w
tej chwili powinno trafiać do irom0.text.

Zbych
Guest

Mon Oct 22, 2018 4:54 pm   



Atlantis wrote on 22.10.2018 17:43:
Quote:
On 10/22/18 4:00 PM, Zbych wrote:

Jak usuwasz ICACHE_FLASH_ATTR to przemieszczasz funkcję z irom0.text do
.text, który ma tylko 32kB, więc tylko pogarszasz sytuację. Zrób
dokładnie odwrotnie i dodaj do kilku funkcji ICACHE_FLASH_ATTR.

Prawie wszędzie pododawałem ICACHE_FLASH_ATTR. W swoim kodzie miałem
tylko kilka funkcji bez tego parametru (m.in. główną pętlę i kilka
callbacków, które w przykładach były zrealizowane w ten sposób, więc
zostawiłem). Nic się nie zmieniło. Zresztą funkcja która "przeważa" też
jest ICACHE_FLASH_ATTR...

Nie wiem jak biblioteka esphttpd, ale w moim kodzie prawie wszystko w
tej chwili powinno trafiać do irom0.text.

Zawsze możesz sprawdzić czy funkcje trafiają do tego segmentu co trzeba
albo porównując rozmiar poszczególnych segmentów, albo robiąc
szczegółową mapę z nazwami funkcji.

Atlantis
Guest

Wed Oct 24, 2018 7:43 am   



On 22.10.2018 18:54, Zbych wrote:

Quote:
Zawsze możesz sprawdzić czy funkcje trafiają do tego segmentu co trzeba
albo porównując rozmiar poszczególnych segmentów, albo robiąc
szczegółową mapę z nazwami funkcji.

W jaki sposób? Wink
Czyli mam rozumieć, że źródło problemu nie leży w zbyt małej ilości
flasha, ale raczej jest jakiś problem ze skryptem linkera?

Zbych
Guest

Wed Oct 24, 2018 9:39 am   



W dniu 24.10.2018 o 09:43, Atlantis pisze:
Quote:
On 22.10.2018 18:54, Zbych wrote:

Zawsze możesz sprawdzić czy funkcje trafiają do tego segmentu co trzeba
albo porównując rozmiar poszczególnych segmentów, albo robiąc
szczegółową mapę z nazwami funkcji.

W jaki sposób? Wink
Czyli mam rozumieć, że źródło problemu nie leży w zbyt małej ilości
flasha, ale raczej jest jakiś problem ze skryptem linkera?

Problem polega na tym, że ktoś bezmyślnie przyjął położenie segmentu
..text. Domyślnie funkcje powinny być w większym (i wolniejszym)
segmencie a tylko wybrane funkcje powinny trafiać do tego szybszego (i
mniejszego) segmentu. A według tego co piszesz jest dokładnie na odwrót.

Możesz kazać linkerowi wyprodukować plik z mapą (-Wl,-Map=aaaaa.map) -
powinny być tam widoczne wszystkie funkcje i segmenty, do których trafiły.

Goto page Previous  1, 2

elektroda NewsGroups Forum Index - Elektronika Polska - Jak zwiększyć pamięć flash i poprawnie skompilować projekt na ESP8266?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map