• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Programowanie nrf52832 przez programator ST-Link
#1
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 ?
 
Odpowiedź
#2
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.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#3
(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
 
Odpowiedź
#4
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.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości