-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: "Grzegorz Niemirowski" <g...@p...onet.pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Alternatywa dla ESP8266/ESP32? Moduł EMW3165.
Date: Wed, 31 Oct 2018 14:20:09 +0100
Organization: ATMAN - ATM S.A.
Lines: 51
Message-ID: <prca68$5no$1@node2.news.atman.pl>
References: <5bd56498$0$502$65785112@news.neostrada.pl>
<5bd6af89$0$498$65785112@news.neostrada.pl>
<5bd6b3e3$0$486$65785112@news.neostrada.pl>
<pr8112$dai$1@node1.news.atman.pl>
<5bd82631$0$487$65785112@news.neostrada.pl>
<a...@n...neostrada.pl>
<5bd86659$0$508$65785112@news.neostrada.pl>
<5bd8a12a$0$487$65785112@news.neostrada.pl>
<5bd9798b$0$477$65785112@news.neostrada.pl>
<prc1pi$tdk$1@node2.news.atman.pl>
<5bd99205$0$490$65785112@news.neostrada.pl>
NNTP-Posting-Host: 89-74-238-96.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="UTF-8"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1540992008 5880 89.74.238.96 (31 Oct 2018 13:20:08 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Wed, 31 Oct 2018 13:20:08 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: OE PowerTool 4.5
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7571
X-WWW: http://www.grzegorz.net/
Xref: news-archive.icm.edu.pl pl.misc.elektronika:737774
[ ukryj 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
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
Najnowsze wątki
- 2025-05-15 Nowy rodzaj zagrożenie ze strony elektryków :)
- 2025-05-15 Bus inpostu, przemycający ludzi, walnął w nocy w tira zaparkowanego na autostradzie 5 ofiar
- 2025-05-15 Alert RCB w sprawie dziewczynki
- 2025-05-15 Kurierski bus przemycał ludzi i zasnął nad ranem za kierownicą.
- 2025-05-15 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-05-14 Tsue i smsy
- 2025-05-14 Biedna kobieta jechała samochodem na targ aby sprzedać klamoty i dostała 300 zł mandatu
- 2025-05-14 hot spot traci connected device
- 2025-05-14 John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- 2025-05-14 John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- 2025-05-14 Wariant rumuński
- 2025-05-14 Rolnicy protestują w Szczecinie
- 2025-05-14 Rolnicy protestują w Szczecinie
- 2025-05-14 Rolnicy protestują w Szczecinie
- 2025-05-14 Niemcy: Przychody ze sprzedaży produktów Fairtrade w 2024r. wzrosły o rekordowe 13% do 2,9GEUR