Arduino Polska Forum

Pełna wersja: Programowanie nrf52832 przez programator ST-Link
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
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-...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 ?
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.
(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
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.