Skip to content
Snippets Groups Projects

Instalacja wymaganych narzędzi

Windows

Kompilator arm-gcc

Rekomendowanym kompilatorem jest gcc-arm-none-eabi, version 7-2018-q2-update, dostępny pod tym linkiem lub z dysku. Domyślnie kompilator zainstaluje się pod ścieżką:

C:\Program Files (x86)\GNU Tools Arm Embedded\7 2018-q2-update\bin

Sprawdź czy ten folder dodany jest ścieżki wyszukiwania otwierając wiersz polecenia i wpisując komendę:

arm-none-eabi-gcc  -v

Jeśli nie, zamknij okno, dodaj powyższą ścieżkę do zmiennej środowiskowej PATH (np. w ten sposób) i spróbuj ponownie.

make

Potrzebny również będzie 'make' dla Windowsa do pobrania stąd, opis tutaj. Prawdopodobnie również potrzebne będzie dodanie poniższej ścieżki do zmiennej PATH:

C:\Program Files (x86)\GnuWin32\bin

Poprawność instalacji sprawdzić można poleceniem:

make -v

nRF5 SDK

nRF5 SDK 16.0 do pobrania pod tym adresem. Wypakuj SDK w dowolnym miejscu.

Visual Studio Code

Pobierz i zainstaluj VS Code: https://code.visualstudio.com/Download.

Linux

Instalacja potrzebnych narzędzi w Ubuntu:

arm-gcc

sudo apt update
sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi gdb-arm-none-eabi openocd

nRF5 SDK

cd ~/Downloads/
wget https://www.nordicsemi.com/-/media/Software-and-other-downloads/SDKs/nRF5/Binaries/nRF5SDK160098a08e2.zip
unzip nRF5SDK160098a08e2.zip -d ~/nrf5_sdk/

Visual Studio Code

64bit package for Ubuntu do pobrania tutaj. Instalacja poleceniem poniżej. Więcej opcji tutaj.

sudo apt install ./code_1.45.1-1589445302_amd64.deb 

Kompilacja i pierwsze uruchomienie

Sklonuj repozytorium z szablonami ćwiczeń na laborkę do folderu examples w SDK:

git clone https://git.pg.edu.pl/p828385/laboratorium_swim/
Ustawienie odpowiednich ścieżek w c_cpp_properties.json

Otwórz Visual Studio Code. Następnie wybierz File -> Open Folder i z pobranego właśnie repozytorium wybierz folder cw1_template. Otwórz plik c_cpp_properties.json. Należy teraz ustawić odpowiednią ścieżkę "armCompilerPath".

  • Windows

    "armCompilerPath": "C:\Program Files (x86)\GNU Tools Arm Embedded\7 2018-q2-update\bin"
  • Linux

    "armCompilerPath": "/usr/bin/arm-none-eabi-gcc"

Uwaga: jeśli sklonowałeś repozytorium do innego folderu niż examples, zmień ścieżkę "nrf52SDKPath" na ścieżkę, pod którą znajduje się folder SDK na twoim komputerze. Podobnie trzeba zmienić SDK_ROOT w każdym pliku makefile.

Kompilacja i uruchomienie

Przed rozpoczęciem wgrywania kodu na moduł ustaw zmienną "group" w settings.json na numer odpowiedni dla swojej grupy (od 01 do 10). Na stanowisku są 2 beacony Nrf. Jeśli programowanie nie zadziała, porty mogą być zamienione. Aby to naprawić należy zamienić miejscami wartości "NrfMain" i "NrfSecondary".

Uwaga Windows: konieczne jest używanie tasków z dopiskiem "windows: " oraz ustawienie domyślnego shella na cmd, tak jak na gifie poniżej:

Shell change

Aby skompilować kod z menu wybierz Terminal -> Run Task, a następnie wybierz make (pca10059) i Continue without scanning the task output.

Kompilacja

Aby wgrać skompilowany program na moduł wybierz task flashNordic. Wpisz hasło (root). Zaczekaj, aż w konsoli pojawi się komunikat Device programmmed. (trwa to 20 - 30 s).

Programowanie

Praca bez Visual Studio Code

Możliwa jest też praca w konsoli jeśli VSC nie jest dostępne. W repo jest plik console commands z komendami do wklejenia do konsoli, które mają te same nazwy co taski w VScode, i mozna ich używać analogicznie. Należy pamiętać tylko żeby ustawić zmienną środowiskową oznaczającą grupę, (zawsze dwie cyfry) np:

 SET SWIM_NRF_GROUP=01