Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 14:57


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 5 paź 2017, o 23:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 cze 2012
Posty: 414
Lokalizacja: Oborniki
Pomógł: 5

Witam ;)

Ostatnio męczę 3 zakupione zestawy NUCLEO, jednym z nich jest płytka Nucleo 144 w wersji F767ZI. Zawiera ona mikrokontroler STM32 z rdzeniem Cortex-M7. Na płytce znajduje się również zintegrowany moduł ethernet. Chciałbym zacząć przygodę z tym rodzajem komunikacji, aczkolwiek nie mogę się doszukac jakichkolwiek przykładów. Przynajmniej na pewno nie takich dotyczących obsługi przez biblioteki HAL generowane w CubeMX.

Udaje mi się ustawić interfejsy i zegary, ale nie mam pojęcia jak nawiązać jakąkolwiek komunikację za pomocą tego portu, a tym bardziej jak obsługiwać np stos TCP/IP.

Pytanie też się nasuwa, czy warto/czy konieczne jest używanie FreeRTOS? Nie mam z nim doświadczenia, być może warto się go nauczyć, ale chyba wolałbym na początek działać chociazby za pomocą pętli blokujących lub ręcznie obsługując przerwania.

Liczę na każde wskazówki :) pozdrawiam!
Mikołaj

Wysłane z mojego Redmi Note 4 przy użyciu Tapatalka

_________________
Pozdrawiam:
Mikołaj



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2017, o 08:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2017
Posty: 369
Lokalizacja: Gliwice
Pomógł: 34

Ja również dołączam się do pytania, z tym że chyba poszło nie na ten dział forum co trzeba



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2017, o 10:29 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 344
Lokalizacja: Bydgoszcz
Pomógł: 11

https://stm32f4-discovery.net/2015/02/l ... stm32f4xx/ - co prawda jest to opis dotyczący STM32F429 ale być może jakoś nakieruje na właściwe tory ;) .



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2017, o 12:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

https://github.com/cnoviello/stm32-nucleo144-f7

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2017, o 13:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 cze 2012
Posty: 414
Lokalizacja: Oborniki
Pomógł: 5

Dziękuję Wam za odnośniki. Zapoznam się z nimi w wolnym czasie :)

Jeszcze takie pytanie - czy warto używać FreeRTOS?
Projekt który planuję wykonać na STM32 to interfejs między TCP, a USART. To tak z grubsza :) reszta to obsługiwanie ramek i funkcje pośredniczące wymianie danych.

_________________
Pozdrawiam:
Mikołaj



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 paź 2017, o 16:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

Powiem tak ...
i tak i nie ... ale to zależy co ci jest potrzebne

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 paź 2017, o 18:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 cze 2012
Posty: 414
Lokalizacja: Oborniki
Pomógł: 5

No dobra, więc są postępy.

Udało mi się skompilować standardowy projekt wygenerowany w STM32CubeMX pod moją płytkę (Nucleo 144 F767ZI).
Płytka daje się pingować dopiero jak w pętli głównej umieszczę procedurę "MX_LWIP_Process();".
Podczas próby kompilacji pojawia mi się kilka błędów:

Obrazek

Wygląda na to, że biblioteka poszukuje stałej:
Obrazek

tymczasem Cube generuje takie stałe:
Obrazek

Tymczasowo problem rozwiązuje dodanie na początku każdego pliku z nagłówkami definicji:
Obrazek
Czyli w stałych generowanych przez Cube nie powinno być członu "NUM_".


Czy ktoś wie lub domyśla się gdzie popełniam błąd? Sprawdzałem jeszcze na innym komputerze, aby wyeliminować nieprawidłową instalacją CubeMX, problem pozostał. Wygląda, jakby CubeMX albo nie dołączało jakiegoś istotnego pliku, albo producent popełnił jakiś błąd.

Proszę o pomoc :)
Pozdrawiam:
Mikołaj

_________________
Pozdrawiam:
Mikołaj



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 paź 2017, o 14:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 cze 2012
Posty: 414
Lokalizacja: Oborniki
Pomógł: 5

Udało się.

Generalnie jakby ktoś szukał przyczyny takich objawów, to nie ma błędu w bibliotece STM32, tylko jest to problem z ECLIPSE. Autor biblioteki lwIP użył różnych makr i stałe w stylu "MEM_TCP_PCB" nie są ustalane dosłownie tylko za pomocą makr #define . Tak naprawdę errory pojawiają się w edytorze Eclipse, ale kompilator radzi sobie z nimi bez problemu. Po prostu nie jest w stanie ich zindeksować.

Biblioteka działa ;)


Jak narazie mam jeszcze problem z wyciekiem pamięci, gdyż po wysłaniu kilku wiadomości do i z zestawu uruchomieniowego, transmisja się rozłącza i nie daje się nawiązać połącznenia ponownie. No, ale to już w dalszych testach :)

_________________
Pozdrawiam:
Mikołaj



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2018, o 15:50 
Offline
Nowy

Dołączył(a): 26 mar 2018
Posty: 1
Pomógł: 0

Jest przykładowy projekt FreeRTOS+LWIP+ETH w firmware:

Cytuj:
~/STM32Cube/Repository/STM32Cube_FW_F7_V1.11.0/Projects/STM32F767ZI-Nucleo/Applications/LwIP/LwIP_HTTP_Server_Netconn_RTOS/


Użycie RTOS pozwala spawnować wątki. W moim projekcie komunikuję się z kilkoma urządzeniami więc to przydatne. Ten przykładowy projekt zawiera poprawną inicjalizację (GPIO, to co wygenerowałem w CubeMX miało błędy, chyba dlatego, że zmieniałem tryb z MII na RMII i ponawiałem generację), trochę musiałem poprawić pod tym kątem projekt CubeMX, a bezpośrednio użyć tego projektu z firmware nie mogłem, bo ma coś nie tak z adresami w skrypcie LD i działa tylko w trybie debug. Płytka odpowiada na pingi i działa serwer http (w swoim wątku).


Chcę wysyłać pingi. Przykład w LWIP (w pakiecie/katalogu contrib) wymaga LWIP_RAW==1 w opcjach, ale to dziwne, powinno wystarczyć samo LWIP_ICMP==1 ? Wie ktoś?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO