Arduino Polska Forum
Programowanie nrf52832 przez programator ST-Link - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica)
+--- Wątek: Programowanie nrf52832 przez programator ST-Link (/watek-programowanie-nrf52832-przez-programator-st-link)



Programowanie nrf52832 przez programator ST-Link - Adix3 - 26-10-2023

Cześć.

Chcę zaprogramować płytkę, której sercem jest układ nrf5283, tylko nie poprzez bootloader a przy użyciu programatora ST-Link i oprogramowania OpenOCD. W Arduino doinstalowałem bibliotekę dla płytki "Sparkfun nrf52 Boards", utworzyłem szkic, który powinien migać mi diodą LED podłączoną do pinu P0.30:
Kod:
void setup()
{
    pinMode(30, OUTPUT); 
}

void loop()
{
  digitalWrite(30, HIGH);
  delay(1000);
  digitalWrite(30, LOW);
  delay(1000);
}

Wygenerowałem plik .bin za pomocą "Sketch -> Export compiled binary", a później wgrałem go do nrf52832 wykorzystując ST-Link i OpenOCD. Wsad wgrał się bez przeszkód. Problem w tym, że dioda nie miga.

Ktoś się orientuje czy to powinno zadziałać? Nie chce korzystać programowania przez bootlader.

Na pewno nie jest to problem podłączenia i ogólnie hardware. Pod tym linkiem https://devzone.nordicsemi.com/f/nordic-q-a/105035/please-help-me-generate-a-test-bin poprosiłem użytkowników aby wygenerowali mi w Nordic SDK plik .bin który będzie zmieniał stan na wyjściu P0.30 co 1 sekundę. Później plik .bin który otrzymałem dzięki uprzejmości jednej osoby, wgrałem przez ST-Link do układu i dioda zaczęła migać. Więc zarówno programowanie jak i sam układ działa. Problemem jest plik .bin wygenerowany w Arduino.
Pewnie robię coś źle ?


RE: Programowanie nrf52832 przez programator ST-Link - kaczakat - 26-10-2023

Najprościej to dowiedz się jaki core i dla jakiej płytki tam kolega zrobił tę kompilację.
A tak ogólnie z podobnymi problemami to usuń core, zainstaluj ponownie, z ESP miałem czasami problemy i musiał być core w konkretnej wersji, ale się po prostu nie kompilował wsad.
Ale z niekompletną instalacją problem czasami się zdarza, choć też bym bardziej podejrzewał, że się nie skompiluje wtedy.
Tu np. jest jakiś core z tymi uC: https://github.com/adafruit/Adafruit_nRF52_Arduino i nie wygląda to na sparkfun.
Poza tym biblioteki to biblioteki, a definicje uC z podstawowymi bibliotekami to właśnie core.


RE: Programowanie nrf52832 przez programator ST-Link - Adix3 - 31-10-2023

(26-10-2023, 23:00)kaczakat napisał(a): Najprościej to dowiedz się jaki core i dla jakiej płytki tam kolega zrobił tę kompilację.

Mogę dopytać, ale zdaje się, że w środowisku Nordic SDK nie pisze się programów dla wybranej płytki, tylko konkretnie dla danego procesora (tutaj nrf52832).

Próbowałem już stworzyć sketch i wygenerować .bin dla kilku płytek: Sparkfun nrf52 boards, Adafruit nRF52, Arduino Mbed OS Nicla Boards, Nordic Semiconductor nRF52 Boards...
Żaden z wygenerowanych .bin po wgraniu do procka przez STLink mi nie działa... próbowałem też na 2 różnych komputerach, na jednym było Arduino IDE w wersji 2.0.3 na drugim 2.2.1


RE: Programowanie nrf52832 przez programator ST-Link - kaczakat - 31-10-2023

Ale mogą być różne core obsługujące ten sam uC. Program napisany pod jedno w drugim nie zadziała wcale, albo będzie działał zupełnie inaczej, np. tak miałem z STM32, nie używam nRF52.
Masz dowód, że program działa to odtwórz warunki, w których został skompilowany.