-
Data: 2018-10-31 14:20:09
Temat: Re: Alternatywa dla ESP8266/ESP32? Moduł EMW3165.
Od: "Grzegorz Niemirowski" <g...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Atlantis <m...@w...pl> napisał(a):
> Pierwsze pytanie, a raczej wątpliwość: czy stosowane przeze mnie
> biblioteki (przede wszystkim ta do serwera http) będą zgodne z
> alternatywnym SDK?
To alternatywne bazuje w dużym stopniu na oficjalnym więc ewentualne
przeportowanie nie powinno być trudne.
> Po drugie, czy ta modyfikacja dotyczy tylko kodu użytkownika? Bo z tego
> co widzę, to u mnie głównym źródłem problemu są biblioteki z SDK, które
> linker umieszcza w RAM-ie.
Dotyczy kodu użytkownika, bo brane są oryginalne skrypty linkera. Nie bałbym
się jednak tych skryptów edytować ani tym bardziej z ich względu zmieniać w
ogóle platformę :) Jako przykład wziąłem ten projekt:
https://github.com/QB4-dev/esp_nano_httpd_basic_exam
ple Po kompilacji
sprawdzam rozmiar sekcji:
.irom0.text 203076 1075908608
.text 25796 1074790400
Nie jest źle, większość poszła do Flasha. Jednak IRAM jest w większości
zapełniony i trzeba coś z tym zrobić. Komendą readelf sprawdzam co poszło do
IRAMu. Okazuje się, że mnóstwo znajdujących się tam funkcji pochodzi z
biblioteki libpp. Trzeba by ją przenieść do Flasha. Zaglądam do skryptu
linkera (eagle.app.v6.old.1024.app1.ld) i widzę, że są już tam linijki
przenoszące niektóre biblioteki do sekcji irom0.text. Dodałem więc
analogiczną linijkę dla libpp:
*libpp.a:(.literal.* .text.*)
Niestety nic to nie dało. Szybkie googlanie podpowiedziało, że trzeba
przenieść też sekcje bez kropki w środku nazwy. Dopisana linijka będzie więc
miała postać:
*libpp.a:(.literal.* .text .literal .text.*)
Rekompilacja i... sukces!
.irom0.text 218020 1075908608
.text 10628 1074790400
Zaoszczędzone 15 kB :) Google podpowiada, że mozna jeszcze przenieść libm.
Wtedy mamy:
.irom0.text 223188 1075908608
.text 3496 1074790400
Jeszcze lepiej, zużyte tylko nieco ponad 10% IRAMu a prawie wszystko mamy we
Flashu. Wystarczyło dopisać dwie linijki. I pewnie obejdzie sę bez zmiany
SDK. Być może właśnie na te modyfikacje skryptu linkera natrafiałeś.
A jeśli nie chcesz modyfikować skryptu linkera, to możesz zrobić z drugiej
strony: zmodyfikować bibliotekę zmieniając w niej nazwy sekcji. Mozna to
zrobić komendą objcopy:
xtensa-lx106-elf-objcopy --rename-section .text=.irom0.text --rename-section
.literal=.irom0.literal libpp.a
--
Grzegorz Niemirowski
https://www.grzegorz.net/
Następne wpisy z tego wątku
- 31.10.18 15:15 Atlantis
- 31.10.18 16:02 Grzegorz Niemirowski
- 02.11.18 10:00 Atlantis
- 02.11.18 10:33 Grzegorz Niemirowski
- 02.11.18 10:51 Atlantis
- 05.11.18 00:29 Grzegorz Niemirowski
- 05.11.18 13:10 Atlantis
- 05.11.18 14:58 Grzegorz Niemirowski
- 07.11.18 22:18 Cezar
Najnowsze wątki z tej grupy
- Położyłem dwa telefony obok siebie
- Przekaźnik na szynę DIN (?)
- Taśma LED
- Jak odróżnić myjki wibrujące od ultradźwiękowych.
- Ledy na wyłączniku czasowym błyskają
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- RCD wybija
- Re: Kompensacja mocy biernej przy 230VAC
- Łożysko ślizgowe - jaki olej
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- Współczesny falomierz
- Zasilacz 7V na szynę DIN
- Waga z legalizacją
Najnowsze wątki
- 2025-04-09 Czy blokowanie sali obrad Sejmu przez PO-opozycje pod rządami PiS już się przedawniło? [mecenas Giertych dołki kopie?]
- 2025-04-09 Koniec produkcji Leapmotor T03
- 2025-04-09 Pruszków => Specjalista ds. public relations <=
- 2025-04-09 Rzeszów => International Freight Forwarder <=
- 2025-04-09 Ryga => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i Kad
- 2025-04-09 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-04-09 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-04-09 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-04-09 Warszawa => Senior Product Manager <=
- 2025-04-09 Warszawa => Starszy Konsultant SAP FICO <=
- 2025-04-09 Warszawa => NMS System Administrator <=
- 2025-04-07 C++. Podróż Po Języku - komentarz
- 2025-04-08 Warszawa => Presales - Inżynier Wsparcia Technicznego IT <=
- 2025-04-08 Pomnik Polaków w Berlinie - OK! - ale co z ustawą o mniejszości polskiej?
- 2025-04-08 Uniwersytet Jagielloński zawiesza protestujących studentów