Jak przyspieszyć Arduino w najprostszy możliwy sposób?

  Рет қаралды 35,240

Majsterkowanie i nie tylko

Majsterkowanie i nie tylko

Күн бұрын

Podmiana kilku znaków w pliku i kod szybszy o 50%, albo i lepiej. Prościej się chyba nie da.

Пікірлер: 48
@pawkapawka-yv1np
@pawkapawka-yv1np 9 күн бұрын
Kiedyś pisząc w Borland Pascal początkowo robiłem wstawki w asemblerze, ale później zacząłem sprawdzać jaki kod wypluwa kompilator i dzięki temu nauczyłem się pisać tak, aby wynik kompilacji był bardzo wydajny. W tym czasie jeszcze studiowałem i jak oddałem program zaliczeniowy to wykładowca pytał czemu tak dziwnie piszę. Opowiedziałem jak działa ten kompilator i jaki efekt uzyskuję. Miał minę jakby nam się role zamieniły, bo mój wykład był dosyć spójny i trwał z 10 minut. Przy czym pisałem na kartce przykłady kodu w Pascalu i Asemblerze z pamięci. Byłem wtedy na etapie tworzenia komercyjnych programów a Pascalu. Dawne czasy.
@5mxg
@5mxg 8 күн бұрын
Tą samą metodę miałem opisać :-) Na dodatek ja miałem bugi kompilatora w złożonych wyrażeniach logicznych lub w podstawianiu 32 bitowej liczby 0
@PiotrSygutPL
@PiotrSygutPL 8 күн бұрын
👍
@Edappl
@Edappl 2 күн бұрын
Wystarczy poprawić makefile
@pierdzielak
@pierdzielak 3 күн бұрын
Teraz sobie wyobrażam ludzi którzy tylko na słuch szukają w programie OS zamiast 0S (zero S) i ich zdziwienie że nic się nie znalazło :)
@__MINT_
@__MINT_ 3 күн бұрын
To właśnie zero-S by nie znaleźli. To jest O-s (litera O).
@rafatomczyk3622
@rafatomczyk3622 9 күн бұрын
nie polecam używać O3 na avr-gcc chyba że masz za dużo włosów na głowie. Ten kompilator w O3 nieraz generuje błędny kod i można się zdziwić
@__MINT_
@__MINT_ 9 күн бұрын
Dzięki za cynk, będę czujny. Dobrym rozwiązaniem będzie praca na domyślnym -Os i przełączenie na -O3 dopiero przy finalnej wersji kodu. Jak coś się wtedy zacznie sypać, to od razu wiadomo, dlaczego.
@rafatomczyk3622
@rafatomczyk3622 9 күн бұрын
@__MINT_ proponuje O2 albo Os właśnie
@cactuslist
@cactuslist 4 күн бұрын
Na O3 kompilator potrafi sobie conieco wywalic z kodu
@Rogall27
@Rogall27 8 күн бұрын
A możecie polecić jakąś strone na której znajde gotowe projekty i wsady do Arduino?
@__MINT_
@__MINT_ 8 күн бұрын
Nie znam takich. Wszystko piszę sam.
@Rogall27
@Rogall27 8 күн бұрын
@__MINT_ Rozumiem a ja zaczynam dopiero przygodę z Arduino i każdy taki gotowy projekt niekoniecznie skomplikowany pomógłby dodatkowo oprócz teorii poznawać w praktyce język programowania.
@__MINT_
@__MINT_ 8 күн бұрын
W sieci jest tego pełno, wystarczy poszukać. Wpisz [projekt] z dopiskiem "Arduino". Wyskoczy cała masa wyników.
@MarIo-rt6gk
@MarIo-rt6gk 7 күн бұрын
ChatGPT
@Fabi....
@Fabi.... 9 күн бұрын
👍👊
@wiktorstanek7942
@wiktorstanek7942 8 күн бұрын
A jaki to oscyloskop uzywasz z fnirsi, i czy polecasz do zastosowań niewymagajacych - szukam czegos niedrogiego i nieduzego?
@__MINT_
@__MINT_ 8 күн бұрын
Fnirsi 1013D. Do analogówki i cyfrówki do 20MHz w zupełności wystarcza. Jak nie zależy Ci na ultraprecyzyjnym pomiarze parametrów sygnału, to polecam ten sprzęt.
@klabun
@klabun 3 күн бұрын
Super
@alm434
@alm434 7 күн бұрын
Jest jeszcze -Ofast
@ogurrrr
@ogurrrr 3 күн бұрын
I on zawiera -O3 i inne
@timwip7787
@timwip7787 9 күн бұрын
Pisać bezpośrednio po rejestrach
@__MINT_
@__MINT_ 9 күн бұрын
No, to właśnie robią moje funkcje. Jakbym dał tutaj digitalWrite(), to nawet z -O3 wypadłoby fatalnie, i to względem tej nieoptymalizowanej funkcji z -Os
@timwip7787
@timwip7787 9 күн бұрын
Arduino nigdy nie nie będzie szczytem wydajności, nawet równiną, a raczej tylko dnem. Jest proste, ale nie wydajne.
@piotrkuranty8512
@piotrkuranty8512 6 күн бұрын
A Powedz jak przyspieszyć sam kompilator arduino. Na jednym komputerze najprostszy program potrafi minutę kompilowac gdzie na innym ten sam program skompiluje i wgra za pstrykniecie palców.
@__MINT_
@__MINT_ 6 күн бұрын
Wyłączyć optymalizacje, dołożyć RAMu, podkręcić procka, ograniczyć procesy w tle. Albo zmienić komputer.
@piotrkuranty8512
@piotrkuranty8512 6 күн бұрын
@__MINT_ kurcze ale to kompilator jest taki zasobożerny? Mam łapka z i5 8gen i 8Gb ramu i kompilacja to jakiś horror
@__MINT_
@__MINT_ 6 күн бұрын
Po prostu sprawdź, co jest tutaj wąskim gardłem. Może pamięć jest zapchana pod korek innymi procesami.
@kubakuba5153
@kubakuba5153 5 күн бұрын
​@@piotrkuranty8512 kompilator z arduino ide jest ultra wolny, projekt speediuno który zajmuje ok 98% pamięci kompiluje w ponad 2 minuty, kompilator pratformio wraz z visual studio code generuje to samo w 20 sekund
@predatormq-9a890
@predatormq-9a890 8 күн бұрын
Btw jak sprawuje sie taki oscyloskop ? I jaki to jest model ?
@__MINT_
@__MINT_ 8 күн бұрын
Fnirsi 1013D. Do analogówki i cyfrówki do 20MHz w zupełności wystarcza. Jak nie zależy Ci na ultraprecyzyjnym pomiarze parametrów sygnału, to polecam ten sprzęt.
@BogdanStefanski-c1u
@BogdanStefanski-c1u 5 күн бұрын
Jak można w pamięci usunąć zegar programowań ?
@__MINT_
@__MINT_ 5 күн бұрын
Nie rozumiem pytania
@Chapucero_Helecho
@Chapucero_Helecho 8 күн бұрын
ucięło kluczową linijkę u góry 😢
@norbertjaworowski6314
@norbertjaworowski6314 9 күн бұрын
Sprawdź też czas przy asemblerze 🤔
@__MINT_
@__MINT_ 9 күн бұрын
Nie będzie jakiejś wielkiej różnicy. Obecnie na jeden bit danych idzie niecałe 8 cykli zegara (w wersji ręcznie optymalizowanej), i kilka cykli więcej w wersji zwykłej. 4 cykle idą na sterowanie I/O, na sprawdzanie warunków i skoki pozostają niecałe 4. Ciężko zejść niżej.
@alexloktionoff6833
@alexloktionoff6833 7 күн бұрын
O3 moze zwiekszyc rozmiar w 1.5 razy I sie nie zmisci. Lepiej dodac _attribute_ O3 tylko do niezbednych funcie w codzie
@__MINT_
@__MINT_ 7 күн бұрын
Albo szybki kod, albo mały rozmiar, nie można mieć wszystkiego. Ale jak komuś się chce, to można decydować dla każdej funkcji.
@alexloktionoff6833
@alexloktionoff6833 7 күн бұрын
@@__MINT_ no tak ale dla całego projektu to raczej zabardzo.
@wilcekmay9052
@wilcekmay9052 2 күн бұрын
kup ESP32 xD a przy okazji na mikrokontrolerach akurat rozmiar kodu ma znaczenie więc polecam optymalizacje
@__MINT_
@__MINT_ 2 күн бұрын
ESP32 to inna bajka, i po części pójście na łatwiznę. To ma być wyzwanie, takie jak optymalizacje do granic możliwości na AVR. Dopóki kod mieści się w pamięci, jego rozmiar nie ma znaczenia
@wilcekmay9052
@wilcekmay9052 Күн бұрын
@@__MINT_ tak, ale jak będziesz mieć wypchaną pamięć, a potem będziesz chciał dołączyć coś do kodu, np jakiś kolejny czujnik, to się nagle okaże że trzeba refactor całości robić, a to będzie bardzo czasochłonne. Nie lepiej od razu pilnować by nie był niepotrzebnie duży?
@__MINT_
@__MINT_ Күн бұрын
Wszystko zależy od tego, jak sobie rozplanujesz projekt. Ja zazwyczaj z góry wiem, czego od niego oczekuję, i od samego początku staram się optymalizować kod. Nie dokładam kolejnych, wcześniej nieplanowanych elementów.
@SloikOgorkow
@SloikOgorkow 9 күн бұрын
chodzi jak złułf i pływający
@TPGxyz
@TPGxyz 8 күн бұрын
Lepiej użyć clang z flagą -Oz
@__MINT_
@__MINT_ 8 күн бұрын
W dokumentacji pisze, że -Oz zmniejsza rozmiar wynikowego wsadu jeszcze bardziej od -Os. A nie o to tutaj chodzi, równie dobrze wsad może 32KB zająć, ale ma chodzić jak najszybciej się da. Nie chcę widzieć na oczy rzeczy typu użycie pętli (czyli instrukcji warunkowej) aby przesunąć 16 bitową zmienną o 4 bity w lewo (takie przekręty robił avr-gcc). Daje się 4 razy add i adc, i zrobione
@E2IPLAYER
@E2IPLAYER 8 күн бұрын
Masakra ale odkrycie
@cyklop1977
@cyklop1977 8 күн бұрын
ok
ChatGPT pisze mi program na ARDUINO. A.I. ZABIERA PRACĘ PROGRAMISTOM!!!
10:43
СИНИЙ ИНЕЙ УЖЕ ВЫШЕЛ!❄️
01:01
DO$HIK
Рет қаралды 3,3 МЛН
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 148 МЛН
When you have a very capricious child 😂😘👍
00:16
Like Asiya
Рет қаралды 18 МЛН
LEWY mObywatel. Po co dzieci go kupują?
8:38
Niebezpiecznik
Рет қаралды 104 М.
Darmowe Arduino ze śmieci, jak zrobić płytkę rozwojową?
15:11
Majsterkowanie i nie tylko
Рет қаралды 30 М.
Podgrzewacz do Lutowania w Akcji | MECHANIC IX5 ULTRA | Hit czy Kit?
8:19
DC-DC Converter Made From Scratch. What Can Go Wrong?
10:20
Majsterkowanie i nie tylko
Рет қаралды 13 М.
Pociągi do odblokowania. O IMPULSACH i NEWAGU | #KolejNaCyber
42:05
CyberDefence24
Рет қаралды 48 М.
Manufacturing Flaws In Chinese Soldering Station. How To Fix Them?
11:27
Majsterkowanie i nie tylko
Рет қаралды 11 М.
СИНИЙ ИНЕЙ УЖЕ ВЫШЕЛ!❄️
01:01
DO$HIK
Рет қаралды 3,3 МЛН