eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaRynek pracy STM32
Ilość wypowiedzi w tym wątku: 355

  • 221. Data: 2022-07-19 22:05:42
    Temat: Re: Rynek pracy STM32
    Od: heby <h...@p...onet.pl>

    On 19/07/2022 21:20, Janusz wrote:
    > Mylisz się, używa się jako informację żeby kompilator nie optymalizował
    > tej zmiennej

    Jesli kompilator wyoptymzliował Ci tą zmienną, a nie powinien, to masz
    buga w kodzie, który załatałeś nieprawidłowym volatile.

    Nie masz pojęcia o programowaniu.


  • 222. Data: 2022-07-19 22:07:23
    Temat: Re: Rynek pracy STM32
    Od: heby <h...@p...onet.pl>

    On 19/07/2022 21:25, Janusz wrote:
    >> Jak by powiedział, to od razu by się obrazili, jak Janusz.
    > Możesz się odstosunkować ode mnie?

    Nie mogę. Łżesz z powodu ignoracji. Jesli ktoś to robi, to nie można
    pozostać bezczynnym, nalezy rozgniatać w miejscu.


  • 223. Data: 2022-07-19 22:08:26
    Temat: Re: Rynek pracy STM32
    Od: Dawid Rutkowski <d...@w...pl>

    wtorek, 19 lipca 2022 o 20:01:37 UTC+2 heby napisał(a):
    > On 19/07/2022 18:35, Janusz wrote:
    > > Ale na avr-ze to nie pójdzie bo ten procek nie wykonuje programu z ram-u
    > > (architektura Harvard) więc żadnej kopi nie uruchomi.
    > Tutaj masz dwa przykłady napisne przed chwilą na kolanie:
    >
    > Polimorfizm statyczny:
    > https://pastebin.com/wDavM1vq
    >
    > A tu dynamiczny:
    > https://pastebin.com/dFjzVsCn
    >
    > Oba migają diodą jak szalone, na moim Harvardowym Arduino z biednym
    > AVRkiem. Co mogę mieć źle, że mam dobrze?

    Ciekawe jakie różnice w skompilowanym kodzie.
    AVR ma rozkaz call register?


  • 224. Data: 2022-07-19 22:09:49
    Temat: Re: Rynek pracy STM32
    Od: heby <h...@p...onet.pl>

    On 19/07/2022 21:32, Janusz wrote:
    > Przecież to samo mogę napisać w komentarzu i skopiować na początek pliku

    I kto gwarantuje że to co napisano w komentarzu ma jakiekolwiek
    powiązanie z tym co znajdzie w reszcie pliku?


  • 225. Data: 2022-07-19 22:15:22
    Temat: Re: Rynek pracy STM32
    Od: heby <h...@p...onet.pl>

    On 19/07/2022 22:08, Dawid Rutkowski wrote:
    > Ciekawe jakie różnice w skompilowanym kodzie.

    Nie ma sensu porównywać. Statyczny polimorfizm ma większe szanse za
    zerowe obciązenie, dynamiczny prawie na pewno będzie fizycznie wołał
    metody wirtualne. Ale sprawdzę, jak znajdę chwię, w środowisku Arduino
    jeszcze nie robiłem objdumpa.

    > AVR ma rozkaz call register?

    ijmp i icall?

    http://ww1.microchip.com/downloads/en/devicedoc/atme
    l-0856-avr-instruction-set-manual.pdf


  • 226. Data: 2022-07-19 22:15:31
    Temat: Re: Rynek pracy STM32
    Od: "Grzegorz Niemirowski" <g...@g...net>

    heby <h...@p...onet.pl> napisał(a):
    > Jesli kompilator wyoptymzliował Ci tą zmienną, a nie powinien, to masz
    > buga w kodzie, który załatałeś nieprawidłowym volatile.

    Co to znaczy, że nie powinien? Jakie to jest nieprawidłowe volatile? Janusz
    podał 3 poprawne przykłady użycia volatile.

    --
    Grzegorz Niemirowski
    https://www.grzegorz.net/


  • 227. Data: 2022-07-19 22:37:26
    Temat: Re: Rynek pracy STM32
    Od: heby <h...@p...onet.pl>

    On 19/07/2022 22:15, Grzegorz Niemirowski wrote:
    >> Jesli kompilator wyoptymzliował Ci tą zmienną, a nie powinien, to masz
    >> buga w kodzie, który załatałeś nieprawidłowym volatile.
    > Co to znaczy, że nie powinien?

    Janusz Twierdzi, że kompilator zredukował mu kod do zera, który robił
    coś z jakąs zmienną.

    Odrzucając hipoteze o bugu w kompilatorze:

    Jedynym powodem, że jakiś kod korzystajacy ze zmiennej został
    wyoptymalizowana do zera, to że kompilator w kodzie nie zakładał zmian
    tej zmiennej w zewnątrznych funkcjach, lub mógł je wyliczyć statycznie
    widąc cały kod.

    Skoro tak, to miał prawo zoptymalizować ten kod do zera.

    Janusz narzeka że tak sie stało.

    Wnioskuje więc że:
    1) to nie była zmienna a register - tutaj nalezy użyć volatile
    2) to była zmienna modyfikowana w innym wątku albo przerwaniu - wtedy
    volatile można uzyć tylko, jesli procesor nie wspiera barier. Nawet
    mikrokontrolerowe ARMy miewają bariery.

    https://developer.arm.com/documentation/den0024/a/Th
    e-A64-instruction-set/Memory-access-instructions/Mem
    ory-barrier-and-fence-instructions

    > Jakie to jest nieprawidłowe volatile?

    Użyte w sytuacji, kiedy tak naprawdę chcesz barierę. Bariera mówi
    kompilatorowo: uwaga, ta zmienna może zostać zmodyfikowana przez inny,
    nieznany czynnik, w tym miejscu nie wolno jej przechować ani zakładać że
    ma jakaś starą wartość po przejściu bariery.

    > Janusz podał 3 poprawne przykłady użycia volatile.

    Zaznaczenie "volatile" na zmiennej powoduje, że kompialator wyłączy
    cacheowanie jej wartości, co uniemożliwi optymalizację kodu.

    Tymczasem prawie na pewno w algorytmie jest bug, albo wcale nie chodziło
    o wyłaczenie optymalizacji, tylko o poinformowanie kompilatora, że
    zmienna może być zmodyfikowana poza tym kodem. Od tego są bariery.

    Dla procesorów posiadajacychc cache, baeriery są *JEDYNYM* sposobem
    zapewnienia synchronizacji stanu zmiennych między watkami. Na niektórych
    złośliwych architekturach możliwe jest, że mimo volatile, zmiana
    zmiennej w wątku A nigdy nie będzie widoczna w wątku B bez użycia
    bariery. Na innych może się zdażyć, że zapis z jednego watku w
    kolejności A a potem B, bedzie widziany w innym wątku jako zapis B a
    potem A. Tutaj znowu, volatile nic nie pomoże - od tego są bariery.

    Ponieważ Janusz nie przedstawił spornego kawałka kodu - nie wiadomo
    dlaczego kompilator usunął mu ten kod. Wiec można sobie na sucho
    pogdybać w jakich okolicznościach może i dlaczego volatile nie jest od
    tego, do czego go źle używają prawie wszyscy.

    https://en.wikipedia.org/wiki/Memory_barrier

    [...] The keyword volatile does not guarantee a memory barrier to
    enforce cache-consistency. Therefore, the use of volatile alone is not
    sufficient to use a variable for inter-thread communication on all
    systems and processors.[...]

    PS. To nie aby ja podałem 3 przykłady, w tym dwa błedne ;) ?


  • 228. Data: 2022-07-19 22:47:02
    Temat: Re: Rynek pracy STM32
    Od: Janusz <j...@o...pl>

    W dniu 2022-07-19 o 21:47, Grzegorz Niemirowski pisze:
    > Janusz <j...@o...pl> napisał(a):
    >> Przecież to samo mogę napisać w komentarzu i skopiować na początek
    >> pliku gdzie opisuję wszystkie zmiany albo mieć  osobnym pliku opisowym
    >> bez całych ceregieli z SVN-em.
    >
    > To nie jest to samo.
    Się domyślam, w zastosowaniach jednoosobowych mi wystarczy.

    W systemie kontroli wersji masz opis do zmiany
    > (commita) obejmującej różne linie w różnych plikach. Widzisz, że w
    > zmianie z dnia tego i tego, o komentarzu takim a takim, w pliku a.c
    > wstawiłeś te linijki a te zmodyfikowałeś, a w pliku b.c takie linijki
    > skasowałeś. Każda lininijka kodu ma opis (powiązanie ze zmianą, która
    > jej dotknęła). Opisy w treści pliku nijak tego nie zapewniają. Nie
    > mówiąc już o historii linii, w tym tych usuniętych.
    Całe szczęście nie jestem zawodowym programistą chociaż kilka zawodowych
    programów popełniłem ale było to w czasach Clipera i nikt wtedy o
    svn-ach nie słyszał.
    Teraz piszę w zasadzie dla siebie.

    Piszesz jakbyś nigdy
    > nie używał systemu kontroli wersji.
    Próbowałem ale sie poddałem, zbyt pokopane żeby tracić na to czas,
    myślałem że jest to bardziej intuicyjne.

    > https://docs.github.com/assets/cb-135736/images/help
    /repository/git_blame.png
    Nic mi ten obrazek nie mówi, może poza lewym panelem gdzie są jak
    przypuszczam wymienieni ci którzy coś grzebali w kodzie.

    --
    Janusz


  • 229. Data: 2022-07-19 22:47:35
    Temat: Re: Rynek pracy STM32
    Od: Janusz <j...@o...pl>

    W dniu 2022-07-19 o 22:09, heby pisze:
    > On 19/07/2022 21:32, Janusz wrote:
    >> Przecież to samo mogę napisać w komentarzu i skopiować na początek pliku
    >
    > I kto gwarantuje że to co napisano w komentarzu ma jakiekolwiek
    > powiązanie z tym co znajdzie w reszcie pliku?
    Ja, bo to dla siebie robię.

    --
    Janusz


  • 230. Data: 2022-07-19 22:48:36
    Temat: Re: Rynek pracy STM32
    Od: Janusz <j...@o...pl>

    W dniu 2022-07-19 o 22:07, heby pisze:
    > On 19/07/2022 21:25, Janusz wrote:
    >>> Jak by powiedział, to od razu by się obrazili, jak Janusz.
    >> Możesz się odstosunkować ode mnie?
    >
    > Nie mogę. Łżesz z powodu ignoracji. Jesli ktoś to robi, to nie można
    > pozostać bezczynnym, nalezy rozgniatać w miejscu.
    Możesz mnie wiesz gdzie pocałować.

    --
    Janusz

strony : 1 ... 10 ... 22 . [ 23 ] . 24 ... 30 ... 36


Szukaj w grupach

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: