eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaC++ ośla łączkaRe: C++ ośla łączka
  • Data: 2023-02-17 21:08:01
    Temat: Re: C++ ośla łączka
    Od: Piotr Gałka <p...@c...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2023-02-17 o 02:28, JDX pisze:

    > Sugeruję jednak zapoznanie się ze skryptami linkera - zakładam, że
    > używacie GNU toolchaina.

    Nie mam pojęcia czego używamy. To nie na temat - wiem, że teraz brat
    przełącza się często między dwoma komputerami. Na jednym Win7 i jakaś
    stara wersja środowiska (kojarzy mi się, ze mówił, że czwarta) w której
    jest ileś rzeczy, które mu są potrzebne i drugi Win10 na którym nowa
    wersja (piata?) środowiska (bo wymaga WIN10) w której jest z kolei coś
    innego co jest mu potrzebne, ale brakuje tego czegoś, co było w starym.
    Nie umiem dokładniej bo jak mi miesiąc czy dwa temu o tym mówił to nie
    starałem się zapamiętać o co biega.

    > W sieci jest mnóstwo przykładów jak odczytać
    > adres początku danej sekcji, jej końca, jej długość i jak wyeksportować
    > te dane do linkowanego programu.
    >
    > Hint: Można sobie zdefiniować sekcję i umieścić w niej tylko jedną funkcję.

    Brat mówił, że większość rozwiązań opiera się na wymuszaniu na linkerze
    jakichś działań, ale nie chce się w to bawić. Na dziś przyjął, że
    napisze tę funkcję (chyba 10 bajtów) w assemblerze i wtedy będzie
    dokładnie znał jej rozmiar.
    Widział też jakieś rozwiązania polegające na tym, że kawałek kodu ląduje
    na stałe w RAMie. Tylko jakoś tak (nie wiem czy uzasadnienie) bardziej
    wierzę, że po 10 latach procedura we flashu nadal jest jaka była, a czy
    jakieś zakłócenie nie naruszy w tym czasie RAMu...

    > To podstawy:
    > https://developer.arm.com/documentation/ka002971/lat
    est
    > https://stackoverflow.com/questions/37004954/functio
    n-address-in-arm-assembly-have-one-byte-offset
    >
    > Przy czym należy dodać, że Corteksy M (M-profile) wspierają tylko zestaw
    > instrukcji Thumb/Thumb-2, a ten nieszczęsny bit został tam zapewne
    > dlatego, że ,,duże ARM-y" (A-profile i R-profile) oprócz zestawu Thumb
    > wspierają też zestaw instrukcji ARM.
    >

    To nasze (a właściwie mojego brata) pierwsze podejście do więcej niż
    8-bitowych procesorów (ja nigdy nic na mikrokontrolery nie pisałem).
    Właściwie to drugie podejście bo w grudniu już jedno urządzenie na
    EFM32HG309F64G-C-QFN24 wypuściliśmy.
    Na razie zostało nam kilkanaście (tymczasowo) zablokowanych urządzeń bo
    nie umiemy jeszcze komunikować się z nimi po interfejsie Debug.
    Skorzystaliśmy z ich defaultowego Bootloadera udającego RS232 na USB
    przez który ładowaliśmy nasz bootloader (niszcząc ich) i pod nim
    ładowaliśmy pierwszy program jako upgrade.
    P.G.

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: