-
Data: 2023-02-16 13:45:45
Temat: Re: C++ ośla łączka
Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 16/02/2023 12:46, Grzegorz Niemirowski wrote:
>> Do tego, co piszesz, służa bariery/fence.
> Możesz podać przykład na ATmegę?
Nie. Bo mowa o C ogólnie. Szczególne dla AVR stosujemy sztuczki
asemblerowe, nielegalne w danej sytuacji słowa kluczowe itd itp. Sam
fakt użycia "przerwania" jest z definicji nieistniejącym bytem w C i
wymaga poza-językowych narzędzi, bo sam język nie dostarcza wsparcia dla
przerwań wiec trudno tez, aby dostarczał mechnizmy ich wspierania.
Uwaga o volatile dotyczy *języka* C a nie implementacji tego na AVR.
Jeśli pytałbyś o ogólny C++ to zasugeroeałbym okolice:
https://mariadb.org/wp-content/uploads/2017/11/2017-
11-Memory-barriers.pdf
Czy poprawna implementacja na AVR istnieje - nie wiem. Może kiedyś zerknę.
>> Jeśli potraktujesz przerwania jako wątki preemptive, to tak naprawdę
>> piszesz o zagadnieniu dostępu do zmiennych przez kilka watków. Tego
>> zagadnienia *NIE* należy rozwiązywać za pomocą volatile, ono nie
>> powstało do tego i sie do tego NIE nadaje.
> Wiem. Nic o wątkach nie pisałem.
Mimo to przerwanie jest czymś identycznym z wątkiem preemptive. Ma te
same konsekwencje i dla dużych procesorów, szczególnie wielordzeniowych,
niesie z sobą dokładnie te same zagrożenia, co wątki. I nie jest tak, że
świat kończy się na 8051. Wielordzeniowe procesory embedded to nic
specjalnie dziwnego.
Tam, wszyscy programiści od volatile, wybiją sobie zęby o protokoły
synchronizacji cache, out-of-order execution itd itp.
PS. Zaznaczam, że nic nie pisałeś o AVR w poprzednim poście, wiec w
ogólnym wypadku, volatile nie może i nie powinno być uzywane w celu
synchronizacji zmiannych w przerwaniach. W szczególnym, kiedy znasz
konkretną architekturę, być może.
Następne wpisy z tego wątku
- 16.02.23 13:54 heby
- 16.02.23 14:35 J.F
- 16.02.23 15:23 Grzegorz Niemirowski
- 16.02.23 15:33 Piotr Gałka
- 16.02.23 15:37 J.F
- 16.02.23 16:05 Piotr Gałka
- 16.02.23 17:56 heby
- 16.02.23 18:01 heby
- 16.02.23 19:11 Grzegorz Niemirowski
- 16.02.23 19:22 Marek
- 16.02.23 19:27 Marek
- 16.02.23 19:56 heby
- 16.02.23 19:57 heby
- 17.02.23 02:28 JDX
- 17.02.23 02:35 JDX
Najnowsze wątki z tej grupy
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
Najnowsze wątki
- 2025-07-14 granice
- 2025-07-14 Awaria VM?
- 2025-07-14 Gdańsk => Programista Kotlin <=
- 2025-07-14 Warszawa => Junior Rekruter <=
- 2025-07-14 Warszawa => Specjalista rekrutacji IT <=
- 2025-07-14 Wkłady do zniczy...
- 2025-07-14 Warszawa => Specjalista ds. Sprzętu Komputerowego <=
- 2025-07-14 Re: PO chroniło i chroni policyjnych bandziorów [zawiasy za katowanie obywatela (Poznań czerwiec 2012)]
- 2025-07-14 Warszawa => International Freight Forwarder <=
- 2025-07-14 Warszawa => Recruiter 360 <=
- 2025-07-14 Re: Rz?Âd ZAKAZUJE magazyn?Â?w energii ?!! Nowe prawo od 14 lipca to SZOK! ??Â
- 2025-07-14 Warszawa => Sales Assistant <=
- 2025-07-13 Fałszywe alerty
- 2025-07-12 dlaczego gadacie z tym debilem
- 2025-07-13 Unia Europejska przygotowuje nowy podatek