eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAlternatywa dla ESP8266/ESP32? Moduł EMW3165. › Re: Alternatywa dla ESP8266/ESP32? Moduł EMW3165.
  • 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/

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: