Article View: pl.comp.lang.c
Article #310183Re: Coroutines w (GNU) C
From: brak
Date: Fri, 13 Mar 2020 12:26
Date: Fri, 13 Mar 2020 12:26
29 lines
4843 bytes
4843 bytes
On Friday, March 13, 2020 at 1:12:44 AM UTC+1, Maciek Godek wrote: > W dniu czwartek, 12 marca 2020 20:17:25 UTC+1 użytkownik brak napisał: > > > Bo najwidoczniej alternatywy były jeszcze gorsze. > > > > > IMHO dyskusja C vs C++ nie powinna abstrahować od platformy na jakiej > > uruchamiany jest program. > > Moim zdaniem dyskusja C vs C++ zawsze będzie raczej biciem piany, niż wymianą argumentów. Nie bez przyczyny zwykło się mawiać "de gustibus non est disputandum". > > A mówiąc ogólniej, dyskusje techniczne nie powinny abstrahować od uwarunkowań problemu, dla którego szuka się rozwiązania. Dokładnie tak. Dlatego dołączyłem się do wątku. Zamiast ciekawej dyskusji jak rozwiązać problem powstała wirtualna przepychana. > Jeżeli masz projekt, który już działa na RTOSie, to zgadzam się z Tobą jak najbardziej: zdecydowanie lepiej użyć wątku, niż jakiegoś wątłego mechanizm w rodzaju tego, który zaproponowałem. Osobiście odmawiam pisania na uC bez RTOS-a. Aczkolwiek ;) czasem jest wymaganie typu 8-bitowy AVR z 128 bajtami RAM-u. > > Jednak tutaj sytuacja była o tyle osobliwa, że ze wstępnej analizy wyszło mi, że dla tworzonej aplikacji RTOS nie będzie potrzebny. Założyłem, że jeżeli potrzeba użycia go się pojawi, to go dodam. > > I w trakcie rozwoju projektu wymagania lekko się zmieniły: uznaliśmy, że być może będziemy mieli jedno peryferium, które być może będzie potrzebowało odrębnego wątku (który na dodatek będzie musiał pracować w trybie uśpienia). > > W dalszym ciągu nie jest pewne, czy zastosujemy peryferium w ostatecznym produkcie. Przeportowanie aplikacji na RTOSa jest pewnym kosztem, który musielibyśmy ponieść, żeby móc skorzystać z prawdziwego wątku. > > Tymczasem koszt dodania do projektu takiej korutyny jest dużo niższy od strony czasowej, zaś w moim wyobrażeniu elastyczność korzystania z trybów low-power jest większa, niż w przypadku RTOSa, który zawsze nakłada na system jakieś swoje ograniczenia (już chociażby to, że oprócz dokumentacji kontrolera musielibyśmy wertować dokumentację albo źródła tego czy innego RTOSa podniosłoby koszt czasowy projektu). > > Tym bardziej, że - jak wspominałem - ten wątek może się ostatecznie okazać niepotrzebny. Zgadzam się w 100%. To wymagania oraz racjonalność decydują o użytych "klockach" a nie dogmat prawie religijny. Tryb low-power na RTOS-ie to koszmar a narzut na portowanie jest zwykle tak duży, że programowanie barmetal w C jest w pełni uzasadnione i rozsądne.
Technical Details
Message-ID:
<a9c22fd3-1595-4eae-bc56-ed59a8dd0fb6@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mailReferences:
<4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <0e0786af-7b58-4070-b8cd-81f1bda1f432@googlegroups.com> <r0q9iv$23b$1@dont-email.me> <20200128233003.4bf9d9eb@mateusz> <1a207604-09fa-43f2-8d0a-e3ff51b183f4@googlegroups.com> <r0sf4i$d46$1@dont-email.me> <5e5f4069$0$519$65785112@news.neostrada.pl> <r3t1sc$r41$1@dont-email.me> <5e645e9a$0$17354$65785112@news.neostrada.pl> <r42dg3$r77$1@dont-email.me> <5e64e5a9$0$17350$65785112@news.neostrada.pl> <r42p67$o5b$1@dont-email.me> <5e6555bd$0$554$65785112@news.neostrada.pl> <r43mjb$fg2$1@dont-email.me> <5e6595ce$0$17348$65785112@news.neostrada.pl> <r46320$5hf$1@dont-email.me> <44f694e7-bd52-4b71-aa69-678f8840c27c@googlegroups.com> <r46apv$q4c$1@dont-email.me> <d42e80c7-3cd2-4ce7-a31c-5e39278bffa7@googlegroups.com> <r48ppk$aoi$1@dont-email.me> <89cfb34d-bd57-4a7a-8c94-c2dcdeb02e03@googlegroups.com> <r49vg7$fa1$1@dont-email.me> <31adf521-11e2-4e85-ae62-2e9bb7b9f0a6@googlegroups.com> <20200311150044.15019d69@mateusz> <r4b8nv$oiq$2@dont-email.me> <dc2df496-2154-4f6b-949e-a326b66b7fe9@googlegroups.com> <0148e4d2-49ca-43c2-9edf-cde5b90096f4@googlegroups.com> <570584ca-bf58-4ecd-b476-971206c177df@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 2002:a0c:ecc3:: with SMTP id o3mr12360584qvq.163.1584102366449; Fri, 13 Mar 2020 05:26:06 -0700 (PDT) X-Received: by 2002:a25:aa51:: with SMTP id s75mr17206559ybi.171.1584102366120; Fri, 13 Mar 2020 05:26:06 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Fri, 13 Mar 2020 05:26:05 -0700 (PDT) In-Reply-To: <570584ca-bf58-4ecd-b476-971206c177df@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=94.75.104.42; posting-account=bPtBjgoAAAAfdBpBzgPHKLRKJStITuTz NNTP-Posting-Host: 94.75.104.42 References: <4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <0e0786af-7b58-4070-b8cd-81f1bda1f432@googlegroups.com> <r0q9iv$23b$1@dont-email.me> <20200128233003.4bf9d9eb@mateusz> <1a207604-09fa-43f2-8d0a-e3ff51b183f4@googlegroups.com> <r0sf4i$d46$1@dont-email.me> <5e5f4069$0$519$65785112@news.neostrada.pl> <r3t1sc$r41$1@dont-email.me> <5e645e9a$0$17354$65785112@news.neostrada.pl> <r42dg3$r77$1@dont-email.me> <5e64e5a9$0$17350$65785112@news.neostrada.pl> <r42p67$o5b$1@dont-email.me> <5e6555bd$0$554$65785112@news.neostrada.pl> <r43mjb$fg2$1@dont-email.me> <5e6595ce$0$17348$65785112@news.neostrada.pl> <r46320$5hf$1@dont-email.me> <44f694e7-bd52-4b71-aa69-678f8840c27c@googlegroups.com> <r46apv$q4c$1@dont-email.me> <d42e80c7-3cd2-4ce7-a31c-5e39278bffa7@googlegroups.com> <r48ppk$aoi$1@dont-email.me> <89cfb34d-bd57-4a7a-8c94-c2dcdeb02e03@googlegroups.com> <r49vg7$fa1$1@dont-email.me> <31adf521-11e2-4e85-ae62-2e9bb7b9f0a6@googlegroups.com> <20200311150044.15019d69@mateusz> <r4b8nv$oiq$2@dont-email.me> <dc2df496-2154-4f6b-949e-a326b66b7fe9@googlegroups.com> <0148e4d2-49ca-43c2-9edf-cde5b90096f4@googlegroups.com> <570584ca-bf58-4ecd-b476-971206c177df@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <a9c22fd3-1595-4eae-bc56-ed59a8dd0fb6@googlegroups.com> Subject: Re: Coroutines w (GNU) C From: brak <jerzdy@gmail.com> Injection-Date: Fri, 13 Mar 2020 12:26:06 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit