• 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
Problem z wgraniem bootladera do modułu bluetooth ANNA-B112
#1
Cześć.
Jestem tu nowy i nie wiem czy piszę w dobrym dziale, jak coś to przepraszam za pomyłkę.

Z Arduino nie mam dużej styczności, trochę tworzyłem na układ ESP8266. Teraz chciałbym w Arduino stworzyć coś pod układ bluetooth ANNA-B112, w którym siedzi tak naprawdę nRF52832. Znalazłem nawet poradnik z tym, że właśnie dla nRF52832, ale może uda się wykorzystać go do programowania ANNA-B112. Tu jest link: https://learn.sparkfun.com/tutorials/nrf...1440497381

Z tego co widzę, to z poziomu Arduino powinno się dać wgrać bootloader do tego modułu. Podłączyłem więc moduł przez programator STLink V2 i kliknąłem na przycisk "Wypal bootloader". Niestety otrzymałem taki bład

https://zapodaj.net/78a9ba1648b12.png.html

Szukając rozwiązania problemu znalazłem w internecie informację jak zaprogramować za pomocą OpenOCD układ nRF52832. Pobrałem więc oprogramowanie OpenOCD bezpośrednio ze strony producenta i rozpakowałem na dysk C. Wygenerowałem jakiś pusty plik hex i wrzuciłem do tej samej lokalizacji. Następnie w CMD wykonałem takie polecenia:

cd C:/openocd/bin
openocd.exe -f interface/stlink.cfg -f target/nrf52.cfg -c "program test.hex verify"


W rezultacie dostałem coś takiego:

https://zapodaj.net/50b67f6375680.png.html

Jak widać sam programator działa i układ jest wykrywany. Dodatkowo można zauważyć że plik hex został wgrany.

Teraz moje pytanie, dlaczego Arduino nie może w podobny sposób wgrać bootloadera? Coś jest źle skonfigurowane? Czegoś może brakuje?
Na pewno widać różnicę w wersji OpenOCD, ja użyłem v12 (z 2022) a Arduino używa v10 (z 2016).
 
Odpowiedź
#2
Bawiłem się płytkami STM32, Blue Pill, gdzie używałem bootloadera STMduino, ale nigdzie nie widziałem informacji o możliwości wgrywania bootloadera przez Arduino, nawet nie było narzędzia na liście do wyboru, core nie zawierał w ogóle pliku do wgrania, a tutoriale, którymi się wzorowałem wykorzystywały do wgrania bootloadera zewnętrznego wobec Arduino narzędzia ST-LINK UTILITY, albo tak jak tu https://www.youtube.com/watch?v=jXpJfe5Qha0.
Może w tym core jest taka możliwość, ale wcale nie jest to takie oczywiste.
Poza tym bootloader UART w BluePill to tak jakby był fabryczny i wgrywać go nie trzeba było. STMDuino aktywowało port USB do wgrywania. Bootloader można było wgrać programatorem jak i przez UART, czyli zwykły program również tymi drogami, odpowiednie opcje wybiera się zworkami BOOT.
Skoro masz programator, program do wgrywania, to pozostaje znaleźć plik bootloadera USB (jeśli taki istnieje) i go wgrać.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#3
Tak się zastanawiam czy ja w ogóle potrzebuję bootloadera? Czy po skompilowaniu jakiegoś projektu w Arduino i wydobyciu pliku wynikowego hex, mogę taki plik wgrać przez programator? Czy jednak bootloader jest potrzebny?

A osobna kwestia to gdzie znajdę lokalizację openOCD którego używa Arduino? Gdzieś to musi być przechowywane na dysku. Może tam będzie też plik hex z bootloaderem.
 
Odpowiedź
#4
Ja niestety już wyczerpałem zasoby, nic Ci nie potwierdzę, bo to jednak inny układ. Może ktoś jeszcze zagada, ale jak Twój wątek na elektrodzie nie przyniósł nic ciekawego to i tu się wiele nie spodziewaj. Jeżeli są inne moduły z BT dostępne masowo za parę zł to tak średnio się opłaca tracić miesiące na rozgryzienie jednego zdobycznego choćby Ci za niego dopłacili.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#5
Rozumiem. W każdym razie dzięki za informacje Smile
To nie tak, że na siłę upieram się przy tym układzie, po prostu on ma małe wymiary i idealnie pasuje rozmiarowo. Mógłbym się zainteresować jakimś innym ale te są już większe :/
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości