Skocz do zawartości

Co wydaje się łatwe, a tak naprawdę jest dość trudne do zrobienia?


Treker

Pomocna odpowiedź

@H1M4W4R1 Starajmy się nie tworzyć offtopu, chociaż temat jak dla mnie bardzo ciekawy. @Treker może warto wydzielić jako oddzielny wątek?

Jak chodzi o programowanie w asemblerze, to wystarczy opanować jak kompilator C tworzy i wywołuje procedury - później program można pisać tak samo jak w języku wysokiego poziomu, po prostu roboty jest więcej.

Ale moim zdaniem pisanie aplikacji w asemblerze to nie jest najlepsze wykorzystanie czasu i umiejętności. W tym kompilatory radzą sobie już całkiem dobrze i nie trzeba ich wyręczać.

Asembler jest bardzo fajny jeśli chcemy programować na poziomie systemowym - przykładowo chcemy napisać własny RTOS, albo jego namiastkę. Oczywiście pisanie kolejnego systemu może nie mieć sensu, ale to bardzo ciekawe ćwiczenie, które pozwala trochę lepiej poznać działanie procesora.

Kolejne zastosowanie programowania w asemblerze to procedury obsługi przerwań i wyjątków. W przypadku Cortex-M nie jest to już wymagane, ale Cortex-A nadal potrzebuje wsparcia w asemblerze.

W nowych Cortex-M33 oraz wszystkich Cortex-A mamy jeszcze TrustZone, tutaj również asembler się może przydać do napisania własnego monitora, albo chociaż zrozumienia co robi gotowy kod.

Moim zdaniem znajomość chociaż jednego asemblera jest bardzo cenna i wcale nie taka trudna jak się wydaje. Natomiast pisanie zwykłych aplikacji w tym języku to niekoniecznie dobry pomysł.

 

Edytowano przez Elvis
Link do komentarza
Share on other sites

23 godziny temu, Treker napisał:

które dla początkujących elektroników i majsterkowiczów wyglądają na stosunkowo proste, a tak naprawdę są dość trudne?

  • Elektronika analogowa
  • Wzmacniacze operacyjne
  • Łączenie analogówki z cyfrówką
  • Filtrowanie zasilania
  • Prawidłowo zaprojektowanie PCB
  • Projektowanie urządzeń na baterię
  • Anteny
  • programowanie wielowątkowe
  • programowanie sterowników w "kernel space"

Ogólnie im więcej wiesz przewidujesz problemy, które mogą się pojawić. Ze wszystkich powyższych jak zadziała to super, a jak nie działa to może być poważne wyzwanie. To jest moja lista rzeczy, których osobiście nie doceniłem pod względem trudności.

  • Lubię! 2
Link do komentarza
Share on other sites

5 minut temu, pmochocki napisał:
  • programowanie sterowników w "kernel space"

Tego tematu sobie na forum nie przypominam, ale może warto byłoby go kiedyś opisać? Tutaj podobnie jak z asemblerem jestem zdania że to nie aż takie trudne, ale mogę się mylić.

Link do komentarza
Share on other sites

6 minut temu, Elvis napisał:

Tego tematu sobie na forum nie przypominam, ale może warto byłoby go kiedyś opisać? Tutaj podobnie jak z asemblerem jestem zdania że to nie aż takie trudne, ale mogę się mylić.

No ogólnie nie jest trudne. Ale jak masz urządzenie typu dekoder satelitarny, sprzedawany od roku w nakładzie szejscio cyfrowym i nagle się okazuje, że po updacie kernela dostajesz "kernel panic" jak odłączysz kabel SACRT, gdy jednocześnie jest podłączony kabel HDMI. 

W ten sposób dostałem dostałem pierwszą pracę po studiach w Szwecji. Niby łatwe, ale nikt przez dwa tygodnie nie mógł znaleźć, że mutex jest przetrzymywany przez sterownik i2c dostarczony przez STMicroelectronics... 

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

@pmochocki W sumie nie chodziło mi o pisanie sterowników dla dekoderów produkowanych w milionach, myślałem raczej o podstawach na RaspberryPi.

Ale chyba znowu odchodzimy od tematu. Natomiast w pełni się zgodzę, że o wiele trudniejsze niż się wydaje jest pisanie programów, które będą używane w seryjnie produkowanych urządzeniach. I to nawet jeśli nie będą to miliony rocznie 🙂

Link do komentarza
Share on other sites

9 minut temu, Elvis napisał:

@pmochocki W sumie nie chodziło mi o pisanie sterowników dla dekoderów produkowanych w milionach, myślałem raczej o podstawach na RaspberryPi

To samo mogło teoretycznie wydarzyć na Raspberry Pi. Ogólnie jak pojawi się problem, to jak jest w kernel space, to jest on trudniejszy do debugowania.... 

To samo na Windowsie. Masz problem w sterowniku. Po 2 sekundach dostajesz TDR i wiesz na dzień dobry tylko tyle że prawdopodobnie u Ciebie coś 2 sekundy temu się zważyło...

Jak działa to jest super i jest prosto. Jak pojawia się problem to jest zong... 

Link do komentarza
Share on other sites

23 godziny temu, Elvis napisał:

mikrokontrolerów STM32F7/H7

Co do H7 się nie wypowiem, jeszcze leży w "do zrobienia" natomiast co do F7 to się nie zgodzę. 

Taki STM32F722 w obudowie 64 pin to taka bardziej rozbudowana F4. Wiele modułów "kopiuje" się w wprost. Choćby część interfejsów z DMA

Link do komentarza
Share on other sites

2 minuty temu, Elvis napisał:

A jak dbasz o spójność pamięci cache w STM32F7

Na etapie "prostych projektów", o których pisałeś nawet nie ma potrzeby o tym myśleć. Zrobiłem już kilka takich i nawet nie wiem o czym pisałeś 🙂

 

Edytowano przez Zealota
Link do komentarza
Share on other sites

41 minut temu, Elvis napisał:

jeśli miałbyś kiedyś wolną chwilę na napisanie krótkiego artykułu z wprowadzeniem do programowania sterowników dla Windowsa, bardzo chętnie przeczytam.

Sam bym chętnie przeczytał. Niestety zawodowo zajmuję się dość wyspecjalizowaną częścią sterownika Windows i jeśli chodzi pogłębianie wiedzy są inne priorytety. Hobbitycznie bardziej zajmuję się Linuxem, bo w pracy na co dzień nie mam z nim styczności. 

Może kiedyś, ale nie w najbliższym czasie... 

  • Lubię! 1
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.