eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAlternatywa dla ESP8266/ESP32? Moduł EMW3165. › Re: Alternatywa dla ESP8266/ESP32? Moduł EMW3165.
  • Data: 2018-10-31 16:02:11
    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):
    > Gdzie dokładnie trzeba umieścić tę linijkę?

    W definicji sekcji .irom0.text, tak jak zrobiłeś, bo chcemy aby objęła
    większy fragment linkowanego kodu.

    > Modyfikuję skrypt eagle.app.v6.ld, używany w moim projekcie.

    Na pewno ten? Poza tym tutaj ta sekcja jest dużo dłuższa:
    https://github.com/espressif/ESP8266_NONOS_SDK/blob/
    master/ld/eagle.app.v6.ld
    Możesz puścić make VERBOSE=1 i wkleić linijkę od linkowania?

    > Zmodyfikowany fragment wygląda następująco:
    > .irom0.text : ALIGN(4)
    > {
    > _irom0_text_start = ABSOLUTE(.);
    > *libmbedtls.a:(.literal .text .literal.* .text.*)
    > *libpp.a:(.literal.* .text .literal .text.*)
    > *libm.a:(.literal.* .text .literal .text.*)
    > *(.irom0.literal .irom.literal .irom.text.literal .irom0.text
    > .irom.text)
    > _irom0_text_end = ABSOLUTE(.);
    > } >irom0_0_seg :irom0_0_phdr
    > Niestety nie pomogło - projekt ciągle nie chce się kompilować,
    > wyrzucając te same błędy...

    Jeśli na pewno linker używa tego pliku, to powinno pomóc. Ewentualnie tak
    mocno wychodzisz poza zakres, że przesunięcie jednej biblioteki nie pomaga.
    Wtedy mozna dopisać węcej, np. libmain (w poprzednim poście się pomyliłem -
    chodziło właśnie o libmain, nie libm). Ewentualnie możesz zrobić tak, że
    zwiększysz obszar iram1 tak bardzo, aż projekt się zlinkuje. Definicję masz
    na początku skryptu:
    iram1_0_seg : org = 0x40100000, len = 0x8000
    Przykładowo można zmienić 0x8000 na 0x10000. Oczywiście kod wynikowy nie
    zmieści się w pamięci modułu, ale chodzi o to żeby przeanalizować wynikowy
    plik wykonywalny. Sprawdzić ile ostatecznie zajęły poszczególne sekcj i
    które funkcjeoraz z których bibliotek są w tych sekcjach. Można do tego użyć
    readelf albo przejrzeć plik .map jeśli jego generowanie jest uwzględnione w
    Makefile.

    --
    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: