logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

5 wskazówek dotyczących wykorzystania Visual Studio dla programistów systemów wbudowanych

ghost666 19 Cze 2023 11:24 1851 9
  • Być może słyszeliście niedawno o Visual Studio Code (VSC). W ostatnim czasie dużo mówi się o tym IDE z wielu przyczyn. W minionych kilku latach Visual Studio Code stało się popularnym środowiskiem programistycznym w całej branży, także embedded. Jest to opcja do samodzielnej konfiguracji, można ją łatwo dostosować za pomocą rozszerzeń i poprawek. Visual Studio Code to ekscytujące środowisko dla twórców oprogramowania wbudowanego, którzy chcą oddzielić się od łańcuchów narzędzi dostawców mikrokontrolerów i ułatwić integrację z procesami CI/CD. W poniższym poście wymienione zostanie pięć wskazówek dotyczących programowania z wykorzystaniem Visual Studio Code. Pomogą one programistom oprogramowania wbudowanego w jak najlepszym wykorzystaniu VSC.

    Porada 1 — zainstaluj odpowiednie rozszerzenia

    Dostosowanie Visual Studio Code do własnych potrzeb zaczyna się od pobrania i zainstalowania adekwatnych dodatków. Istnieje mnóstwo pluginów, które stworzono do tego IDE. Pewne z nich są oficjalnymi narzędziami firmy Microsoft, inne pochodzą od różnych firm z branży systemów wbudowanych, a niektóre to po prostu doskonałe projekty hobbystyczne, które zostały otwarte i są utrzymywane przez niezależne zespoły.

    Oczywiście jest to kwestia bardzo subiektywna, jakie dokładnie rozszerzenia są dla nas użyteczne. Jednakże programiści zajmujący się systemami wbudowanymi muszą zbadać, na przykład dodatki dla:

    * Interakcji z mikrokontrolerem, takiej jak programowanie czy debugowanie;
    * Podświetlania składni;
    * Wsparcia dla narzędzi budowania wsadu;
    * Formatowania i oceny jakości kodu/detekcji błędów;
    * Rozszerzeń specyficznych dla konkretnych mikrokontrolerów.

    Jednymi z ulubionych dodatków autora artykułu są:

    * Embedded Tools;
    * Cortex Debug;
    * Github Copilot;
    * Keil Studio Pack Extension;
    * Docker.

    Na rynku dostępna jest ogromna ilość rozszerzeń, z czego wiele dedykowanych do systemów wbudowanych. Dokładniejszy przegląd tych pluginów znaleźć można np. tutaj, w artykule pod tytułem: „Visual Studio Code Extensions for Embedded Software Development”. Z materiału wybrać można interesujące i potrzebne nam dodatki. Trzeba jednak pamiętać, że niekoniecznie niezbędne okażą się wszystkie opisane. Należy dobrać te, które sprawdzają się w naszym, konkretnym przypadku, a następnie wyłączyć lub odinstalować te niewartościowe.

    Porada 2 — konfigurowanie preferowanego mapowania klawiatury

    Po rozszerzeniach najlepszą rzeczą, jaką można zrobić, aby przystosować Visual Studio Code do własnych potrzeb, jest wybranie mapy skrótów klawiszowych, która najbardziej odpowiada naszym preferencjom czy przyzwyczajeniom. Większość programistów korzystała wcześniej z jakiegoś edytora tekstu, którego skróty są po prostu z czasem zakorzenione w ich pamięci mięśniowej. Visual Studio Code oferuje rozszerzenia umożliwiające dostosowanie skrótów do popularnych map klawiszy, takich jak znane z VIM, Sublime, Eclipse itp.

    Można nawet mieć dziwne, dostosowane preferencje, jeśli mamy nietypowe wymagania lub nawyki. Na przykład autor tego artykułu lubi skróty do nawigacji po kodzie z Eclipse, ale te do edycji tekstu wielowierszowego woli w wersji znanej z Sublime Text. Kod programu Visual Studio umożliwia programistom zaadaptowanie poszczególnych klawiszy skrótów za pomocą menu Skróty klawiaturowe. (Mogą znajdować się w różnych miejscach w zależności od środowiska hosta. W przypadku autora było to w menu Kod->Ustawienia->Skróty klawiaturowe, ale w systemie Windows może to być np. Plik->Preferencje->Skróty klawiaturowe).

    Dostosowywanie skrótów powinno być jedną z pierwszych rzeczy, które należy zrobić, aby środowisko Visual Studio Code było dla nas naturalniejsze w użytkowaniu i pozwalało na maksymalizację własnej wydajności. Bez tego wykonywanie operacji może być nieco irytujące.

    Porada 3 — należy wykorzystywać terminal

    Być może odpowiedni terminal jest jednym z najlepszych narzędzi, jakie można spożytkować jako programista. Visual Studio Code pozwala na dostęp do terminala z poziomu środowiska poprzez menu Terminal->Nowy terminal. Więc jedno z pierwszych działań, które można przeprowadzić, jest upewnienie się, że jest on w tle otwarty. Fajną rzeczą jest to, że można nawet stworzyć podzielony terminal, idealny do uruchamiania sesji debugowania GDB (jeśli chcemy robić to z jego poziomu).

    Typowa konfiguracja polega na spakowaniu środowiska kompilacji do kontenera Dockerowego i uruchomieniu procesów i narzędzi do kompilacji z poziomu okna terminala. Ciekawą kwestią w tej konfiguracji jest to, że nie trzeba mieć otwartego kodu w jednym oknie, a terminala w innym. Zamiast tego można mieć obie te rzeczy w jednym, co sprawia, że wszystko jest bardzo wydajne. Często wykorzystujemy równolegle inny terminal, z którego inicjujemy np. polecenia skryptowe Pythona, więc podzielony pozwala szybko przechodzić pomiędzy poszczególnymi oknami tam i z powrotem.

    Z terminala korzystać trzeba mądrze. Może być potężnym narzędziem dla programistów. Jeśli jednak nie czujecie się zbyt dobrze z tym instrumentem, istnieje szereg innych, które ułatwiają użytkowanie go. Na przykład niektóre z nich wyodrębniają szczegóły w terminalu, inne pomagają debugować, podświetlają składnię etc. Może to być pomocne, ale aby realnie debugować kod i zrozumieć, co dzieje się z systemem, trzeba od czasu do czasu przejść na najniższy poziom.

    Porada 4 — dostosowanie konfiguracji uruchamiania narzędzi debugowania

    Po napisaniu programu, który jest gotowy do przetestowania, budujemy go. A następnie wdrażamy aplikację lokalnie na hoście lub w docelowym systemie osadzonym. Konfiguracja uruchamiania programu Visual Studio Code informuje środowisko, co należy zrobić po zainicjowaniu całości. Środowisko to pozwala programistom na zaadaptowanie tej konfiguracji i tworzenie wielu własnych, w których edytować można różne parametry, dedykując system do sytuacji takich jak:

    * Debugowanie na docelowej platformie;
    * Zwolnienie platformy;
    * Symulacje na hoście.

    Na przykład dla płytki rozwojowej z układem STM32, gdy korzystamy z rozszerzenia Cortex-Debug, możemy w pliku launch.json zapisać takie dostosowania, że system będzie wskazywał na plik .elf z kodem do uruchomienia. A dalej wykonywał go w tworzonej aplikacji do wyznaczonego momentu, gdy zatrzyma się i przekaże zarządzenia do wybranego serwera debugowania. Konfiguracja wygląda następująco:

    Kod: JSON
    Zaloguj się, aby zobaczyć kod


    Nie trzeba jednakże ograniczać się tylko do jednej! Na przykład, gdyby w całości znajdowało się wiele systemów do debugowania lub różne rozszerzenia stosowane byłyby w zależności do okoliczności, można by uwzględnić dodatkowe konfiguracje, takie jak pokazana poniżej:

    Kod: JSON
    Zaloguj się, aby zobaczyć kod


    Istnieje wiele drobnych elementów, które można w ten sposób dostosować do naszych potrzeb, dzięki czemu środowisko Visual Studio Code sprawi, że poczujemy się jak w domu.

    Porada 5 — poznawanie mniej znanych funkcji

    W krótkim artykule można zawrzeć tylko tyle informacji na temat Visual Studio Code... Jest jednak wiele naprawdę fajnych opcji, jakie zapewnia to środowisko. Ostatnia z porad jest więc dosyć otwarta i zaleca zapoznawanie się z funkcjami oferowanymi przez VSC. Na przykład, jeśli mamy dwóch zdalnych programistów, którzy muszą sparować swój program lub współdziałać, można to z łatwością zrobić! Ponadto programista może zaprosić innego do sesji, a następnie zarówno edytować, jak i współpracować bezpośrednio w Visual Studio Code przy pisaniu kodu. To może pozwolić pokonać np. konieczność udostępniania ekranu przez zespoły lub wykorzystywania narzędzia typu Zoom, gdzie i tak tylko jedna osoba może dokonywać operacji na kodzie.

    Kolejną funkcją, która wydaje się bardzo ciekawa, jest obsługa edycji wielowierszowej. Obecnie wspiera to więcej edytorów. Jednak istnieją funkcje, w których można liniowo edytować kilka wierszy lub znajdować określone słowa w pliku i zmieniać je wszystkie jednocześnie! Jest to o wiele lepsze, niż konieczność przejrzenia całego kodu, gdy chcemy zmodyfikować nazwę zmiennej. (Jeśli utrzymujemy krótkie funkcje i niewielkie moduły, to i tak warto korzystać z takich narzędzi, mimo iż to trywialny problem!).

    Podsumowanie

    Visual Studio Code może zapewnić zespołom zajmującym się oprogramowaniem wbudowanym konfigurowalną i elastyczną przestrzeń programistyczną wykraczającą poza możliwości oferowane przez np. Eclipse. Każdy programista może dostosować swoje środowisko do własnych preferencji i potrzeb przy zachowaniu procesów zespołowych. Obsługa oprogramowania wbudowanego, zwłaszcza debugowania, jest opóźniona względem innych środowisk, ale stało się oczywiste, że wielu dostawców już postrzega Visual Studio Code jako krytyczne narzędzie wsparcia. Wskazówki, które omówione zostały w tym artykule, powinny pomóc rozpocząć pracę z danym instrumentem w możliwie efektywny sposób, jednakże najlepszym sposobem na opanowanie VSC jest korzystanie z niego i napisanie kodu!

    Źródło: https://www.embedded.com/5-visual-studio-code-tips-for-embedded-developers/

    Fajne? Ranking DIY
    O autorze
    ghost666
    Tłumacz Redaktor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    https://twitter.com/Moonstreet_Labs
    ghost666 napisał 11960 postów o ocenie 10197, pomógł 157 razy. Mieszka w mieście Warszawa. Jest z nami od 2003 roku.
  • #2 20623043
    khoam
    Poziom 42  
    Dla układów ESP32 korzystam z rozszerzenia ESP-IDF VS Code Extension i jestem z niego bardzo zadowolony. Link
    Mogę również polecić rozszerzenia: Better C++ Syntax oraz Clang-Format.
  • #3 20623062
    gulson
    Administrator Systemowy
    Bardzo uniwersalny edytor, darmowy, szybki a teraz będą dodawać CopilotaX.
  • #4 20623079
    ghost666
    Tłumacz Redaktor
    gulson napisał:
    Bardzo uniwersalny edytor, darmowy, szybki a teraz będą dodawać CopilotaX.


    Copilot będzie za darmo?
  • #6 20623100
    ghost666
    Tłumacz Redaktor
    khoam napisał:
    ghost666 napisał:
    Copilot będzie za darmo?

    Jest tzw. free trial: https://marketplace.visualstudio.com/items?itemName=GitHub.copilot

    5 wskazówek dotyczących wykorzystania Visual Studio dla programistów systemów wbudowanych


    Wiem, że jest Free Trial - od dawna był, nawet beta-testowałem to kiedyś przed wejściem, ale teraz jakoś ciężko mi wysupłać środki na to, bo baardzo mało kodu klepię teraz.
  • #7 20623101
    gulson
    Administrator Systemowy
    Pewnie nie będzie za darmo CoPilotX od Microsoftu.

    Super czarny styl, marzy mi się elektroda taka.
  • #9 20637111
    pepedombo
    Poziom 11  
    Ktos testowal z stm8 i stm32? Mialem okazje sprwadzic wtyczke visualGDB, ale w visual studio - slabo to sobie radzi, bardzo slabo, wlasciwie w ogole, jedynie IDE lepsze niz starozytny soft od stm.
  • #10 20637149
    ghost666
    Tłumacz Redaktor
    pepedombo napisał:
    Ktos testowal z stm8 i stm32? Mialem okazje sprwadzic wtyczke visualGDB, ale w visual studio - slabo to sobie radzi, bardzo slabo, wlasciwie w ogole, jedynie IDE lepsze niz starozytny soft od stm.


    Nie wiem, ja jestem od lat ślepym wyznawcą Keila ;) ale pewnie można lepiej. Jedyne co mnie kusi w nowocześniejszych środowiskach, to to, że można korzystać podobno z Copilota od Microsoftu, a to wydaje mi się, może mocno przyspieszać pracę nad kodem... tylko pytanie jaka jest jakoś kodu w repo, na którym Copilot się uczył ;).
REKLAMA