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



Teraz jest 28 mar 2024, o 18:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 28 ] 
Autor Wiadomość
PostNapisane: 17 lut 2020, o 00:32 
Offline
Nowy

Dołączył(a): 10 wrz 2018
Posty: 24
Pomógł: 0

Witam :3
Od pewnego czasu się zastanawiam nad zmianą środowiska do pisania w C. Dotychczas używałem Eclipsa po skonfigurowaniu go tak jak na poradnikach Mirka. Po sprawdzeniu masy innych programów najbardziej podpasował mi CLion. Czy jest tu ktoś kto używa CLion-a do pisania kodu na Atmege i na zestaw ATB? Czy jest w stanie pomóc mi skonfigurować go tak jak Eclipsa (tzn, piszę kod kompiluje i wysyłam do programatora żeby wgrał się program do Atmegi)? Czy jest w ogóle to możliwe?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2020, o 09:01 
Offline
Użytkownik

Dołączył(a): 11 mar 2019
Posty: 44
Zbananowany użytkownik

Pomógł: 5

hmm, a czemu nie np VSCode + Cmake + Avrdude?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2020, o 09:06 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Niestety nie znam CLiona, bo używam MkClipse'a. Patrzyłeś na niego?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2020, o 11:54 
Offline
Nowy

Dołączył(a): 10 wrz 2018
Posty: 24
Pomógł: 0

Nef napisał(a):
hmm, a czemu nie np VSCode + Cmake + Avrdude?

VS też jest spoko, ale czytałem ze działa na jednym rdzeniu i przy większych projektach strasznie wolno chodzi :/
A jak dokładnie go skonfigurować czy podobnie do Eclipsa ? I czy będzie podobnie działał jak eclipse ?


Cytuj:
Niestety nie znam CLiona, bo używam MkClipse'a. Patrzyłeś na niego?

Tak ale nie jest to program na którego chciałbym się przerzucić z Eclipsa.


Przede wszystkim mi zależy na porządnym asystencie składni, ciemnym motywem i integracją z Github-em, clion najlepiej spełniał te wymagania



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2020, o 13:38 
Offline
Użytkownik

Dołączył(a): 11 mar 2019
Posty: 44
Zbananowany użytkownik

Pomógł: 5

Claptonnn napisał(a):
Przede wszystkim mi zależy na porządnym asystencie składni, ciemnym motywem i integracją z Github-em, clion najlepiej spełniał te wymagania


VS code jest mały, szybki, zwinny, ma mnóstwo możliwości rozbudowy oraz potrafi otwierać duże projekty bez problemu,

Instalujesz świerze VS Code, instalujesz wtyczkę C/C++ extension i dwie wtyczki od CMAKEów - Cmake i Cmake tools.

Instaluesz cmake, instalujesz MinGW (chyba że działasz pod linuxem to Cię to nie dotyczy). Toolchain umieszczasz sobie w jakimś miejscu na dysku, Tworzysz sobie gdzieś w jakimś workspace swój przykjładowy projekt. Dodajesz tam swoje pliki źródłowe i plik CMakeLists.txt w którym opisujesz zgodnie ze skłądnią jakiego kompilatora C, C++ i asm ma używać projekt, jakie są ścierzki do inkludów itd. Jest przy tym trochę pracy ale robisz to raz a później kopijesz ten plik do każdego projektu. Tworzysz sobie katalog build, w tym katalogu wywołujesz cmake ze ścierzką do projektu i tworzy Ci makefile które za pomocą make z mingw odpalasz i voila -> masz binarke. Jest to na początku trochę skomplikowane ale polecam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2020, o 13:43 
Offline
Nowy

Dołączył(a): 10 wrz 2018
Posty: 24
Pomógł: 0

Dzięki za pomoc, jak skończę prace to zobaczę co uda mi się zrobić i napiszę jak będę miał problemy :3



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2020, o 13:51 
Offline
Użytkownik

Dołączył(a): 01 lis 2013
Posty: 302
Pomógł: 32

Do VSCode jest również dodatek - PlatformIO, który całą konfigurację robi w locie przy zakładaniu projektu. wspiera różne platformy oraz kilka framework-ów. Oczywiście można pisać bez używania frameworka.
AVR, usbasp oraz zestaw ATB działa bezproblemowo pod tym.

_________________
Pozdrawiam,
sq8mvy, Paweł



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2020, o 14:11 
Offline
Użytkownik

Dołączył(a): 11 mar 2019
Posty: 44
Zbananowany użytkownik

Pomógł: 5

Cytuj:
Do VSCode jest również dodatek - PlatformIO, który całą konfigurację robi w locie przy zakładaniu projektu. wspiera różne platformy oraz kilka framework-ów. Oczywiście można pisać bez używania frameworka.
AVR, usbasp oraz zestaw ATB działa bezproblemowo pod tym.


Otóż to, to jest rozwiązanie plug and play ale nie pamiętam czy można tam otworzyć czysty projekt dla AVR czy trzeba "odsiewać ziarno od plew" w postaci kastrowania projektu arduino pod AVR



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2020, o 16:03 
Offline
Użytkownik

Dołączył(a): 01 lis 2013
Posty: 302
Pomógł: 32

Można jak najbardziej. Trzeba pamiętać aby po utworzeniu projektu w pliku konfiguracyjnym projektu zakomemtować lub usunąć linie z frameworkiem wskazującym na Arduino oraz zmienić nazwę pliku main.cpp na main.c

Z bibliotekami Mirka również nie ma problemu. Skopiować do projektu i używać jak w Eclipse.

Od jakiegoś czasu używam VSCode do AVR w ten sposób.
A i pod inne platformy STM32, esp32 itp... można w tym samym środowisku pisać.

_________________
Pozdrawiam,
sq8mvy, Paweł



Ostatnio edytowano 17 lut 2020, o 16:09 przez gizmo5418, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2020, o 16:05 
Offline
Użytkownik

Dołączył(a): 11 mar 2019
Posty: 44
Zbananowany użytkownik

Pomógł: 5

ok, da się to jednak zrobić z Platformio. Instalujesz Platformio jako plugin, dodajesz nowy projekt i menu board wybierasz swoją atmegę, Wybierasz framework arduino i utworzy Ci projekt. Później w plku platformio.ini usuwasz framework == arduino a w pliku main.cpp usuwasz wszystko i zastępujesz to klasycznym int main(void) etc i voila. buduje się od stzrała. Wgrywanie to kwestia zdefiniowania odpowiednio w pliku platformio.ini np:

[env:ATmega88P]
platform = atmelavr
board = ATmega88P
upload_protocol = usbasp

i tyle ;)

aczkolwiek ja preferuje hard way :D

------------------------ [ Dodano po: kilkunastu sekundach ]

gizmo5418 napisał(a):
Można jak najbardziej. Trzeba pamiętać po utworzeniu projektu aby w pliku konfiguracyjnym projektu zakomemtować lub usunąć linie z frameworkiem wskazującym na Arduino.

Używam tego zamiast Eclipsa.


No sprawdziłem to właśnie ;) śmiga świetnie :D a nie jak to ociężałe eclipse zjavowe :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2020, o 00:34 
Offline
Nowy

Dołączył(a): 10 wrz 2018
Posty: 24
Pomógł: 0

Przy użyciu i skonfigurowaniu PlatformIO wyświetla mi taki błąd podczas wgrywania programu:
avrdude: Warning: cannot query manufacturer for device: No such file or directory
avrdude: Warning: cannot query product for device: No such file or directory
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2020, o 09:49 
Offline
Użytkownik

Dołączył(a): 11 mar 2019
Posty: 44
Zbananowany użytkownik

Pomógł: 5

Claptonnn napisał(a):
avrdude: Warning: cannot query manufacturer for device: No such file or directory
avrdude: Warning: cannot query product for device: No such file or directory
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'


nie wiem czy atnelowski USBasp jest kompatybilny z tym avrdude. Może to jest problem



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2020, o 10:29 
Offline
Użytkownik

Dołączył(a): 01 lis 2013
Posty: 302
Pomógł: 32

Jest kompatybilny i programuje bez najmniejszego problemu. Proszę sobie dodać do pliku platformio.ini w katalogu projektu
dodatkowe parametry dla programatora usbasp:

upload_protocol = usbasp
upload_flags = -Pusb

Warto sobie dodać do tego pliku również inne parametry:

board_build.f_cpu = 16000000L dla taktowania 16MHz lub inna wartość z którą taktowany jest procek

monitor_speed = 9600 prędkość dla wbudowanego terminala szeregowego. Bautrate ustawiamy na taki, z jakim będziemy się komunikować

_________________
Pozdrawiam,
sq8mvy, Paweł



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2020, o 10:42 
Offline
Użytkownik

Dołączył(a): 11 mar 2019
Posty: 44
Zbananowany użytkownik

Pomógł: 5

Misiek_86 napisał(a):
Poszukałem chwilkę i są poradniki jak integrować github do eclipse


ale autor wątku napisał wyraźnie że nie chce Eclipse'a

------------------------ [ Dodano po: 1 minucie ]

gizmo5418 napisał(a):
upload_protocol = usbasp
upload_flags = -Pusb

Warto sobie dodać do tego pliku również inne parametry:

board_build.f_cpu = 16000000L dla taktowania 16MHz lub inna wartość z którą taktowany jest procek

monitor_speed = 9600 prędkość dla wbudowanego terminala szeregowego. Bautrate ustawiamy na taki, z jakim będziemy się komunikować


napisałem tak bo nie wiem czemu miało by nie działać od strzała. U mnie na avrisp mk2 działa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2020, o 11:05 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

To może któryś z kolegów pokusiłby się o stworzenie skróconego manuala krok po kroku ze screenshotami jak okiełznać inne środowiska?
Byłby to fajny poradnik dla potomnych.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lut 2020, o 22:29 
Offline
Nowy

Dołączył(a): 10 wrz 2018
Posty: 24
Pomógł: 0

gizmo5418 napisał(a):
Jest kompatybilny i programuje bez najmniejszego problemu. Proszę sobie dodać do pliku platformio.ini w katalogu projektu
dodatkowe parametry dla programatora usbasp:

upload_protocol = usbasp
upload_flags = -Pusb

Warto sobie dodać do tego pliku również inne parametry:

board_build.f_cpu = 16000000L dla taktowania 16MHz lub inna wartość z którą taktowany jest procek

monitor_speed = 9600 prędkość dla wbudowanego terminala szeregowego. Bautrate ustawiamy na taki, z jakim będziemy się komunikować


Dodałem te parametry i nadal nie działa, wyskakuje ten sam błąd.
Używam programatora ATB-USBasp v. 4.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2020, o 00:08 
Offline
Użytkownik

Dołączył(a): 01 lis 2013
Posty: 302
Pomógł: 32

Mam ten sam programator v4.2 oraz zestaw ATB 1.05a. Nie mam problemów z obsługą pod VSC.

Jakiego systemu używasz linux, windows, mac ?
Jak uruchomisz AVRDUDE z "palca" w konsoli lub z poziomu programów Mirka, to taki sam dostajesz błąd, czy poprawnie rozpozna programator?
Mi to wygląda na nie rozpoznane urządzenie w systemie, a nie problem z VSC

Jeżeli używasz windowsa, to sprawdź w menedżerze urządzeń, czy usbasp jest poprawnie wykrywany.
Jeżeli używasz linuksa, to dodaj regułkę do udev - było już to poruszane na tym forum.

_________________
Pozdrawiam,
sq8mvy, Paweł



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2020, o 01:20 
Offline
Nowy

Dołączył(a): 10 wrz 2018
Posty: 24
Pomógł: 0

gizmo5418 napisał(a):
Jakiego systemu używasz linux, windows, mac ?

Windows 10

Cytuj:
Jak uruchomisz AVRDUDE z "palca" w konsoli lub z poziomu programów Mirka, to taki sam dostajesz błąd, czy poprawnie rozpozna programator?

Poprawnie jest rozpoznawany, wykrywa też Atmege jak mam podłączoną.

Cytuj:
Jeżeli używasz windowsa, to sprawdź w menedżerze urządzeń, czy usbasp jest poprawnie wykrywany.

Wykrywa mi go jako USBasp



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2020, o 01:52 
Offline
Użytkownik

Dołączył(a): 01 lis 2013
Posty: 302
Pomógł: 32

Wstaw zrzut ekranu z widoczną zawartością pliku platformio - jest w katalogu projektu.

W dolnym oknie VSC w terminalu przejdź do katalogu z projektem, następnie wpisz pio run -v -t upload i pokaż logi z tego polecenia. U mnie jest błąd rc=-1, bo mam podpięty do pokazu tylko programator ATB-usbasp v4.2.
Obrazek

Obrazek

Obrazek

_________________
Pozdrawiam,
sq8mvy, Paweł



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2020, o 21:59 
Offline
Nowy

Dołączył(a): 10 wrz 2018
Posty: 24
Pomógł: 0

Dodatek PlatformIO w zakładce "Devices" wykrywa mi tylko zestaw ATB 1.05a a programatora ATB-USBasp 4.2 już nie :/

Obrazek

Obrazek

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2020, o 23:00 
Offline
Użytkownik

Dołączył(a): 01 lis 2013
Posty: 302
Pomógł: 32

Bardzo dziwna sytuacja.

Jeszcze jedno. Pokaż PID i VID programatora v4.2. Znajdziesz go w menedżerze urządzeń. Z komunikatu błędu wynika, że wbudowany avrdude nie ma dostępu do programatora, bo nie może odczytać Vid oraz Pid. Może jest jakiś problem z uprawnieniami ? Sterowniki do programatora instalowałeś? Najlepiej zrobić to z poziomu MkAVRcalculatora, ale wcześniej odinstaluj programator.
Obrazek

Jak nie aktualizowałeś jeszcze firmware w programatorze ATB-usbasp v4.2, to zrób to. Program do updatowania jest na witrynie Atnel https://atnel.pl/programator-atb-usbasp.html.

W zakładce "Devices" zobaczysz m.in. porty szeregowe. ATB 1.05 jest rozpoznawany, ponieważ jest w nim hub USB, pod który podpięty jest USBASP oraz FT232. I to FT232 jest rozpoznany, jako port szeregowy a nie usbasp.

_________________
Pozdrawiam,
sq8mvy, Paweł



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2020, o 23:23 
Offline
Nowy

Dołączył(a): 10 wrz 2018
Posty: 24
Pomógł: 0

VID_16C0
PID_05DC

Jeżeli o to chodzi, było w polu podpis cyfrowy, dokładnie to tak jest wpisane USB\VID_16C0&PID_05DC (libwdi autogenerated)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2020, o 23:40 
Offline
Użytkownik

Dołączył(a): 01 lis 2013
Posty: 302
Pomógł: 32

Tak, o te dane chodzi.

Odinstaluj programator z menedżera urządzeń i zainstaluj sterowniki z poziomu MkAVRcalculator-a.

_________________
Pozdrawiam,
sq8mvy, Paweł



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2020, o 00:21 
Offline
Nowy

Dołączył(a): 10 wrz 2018
Posty: 24
Pomógł: 0

nie pomaga
PID i VID pozostają takie same



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2020, o 10:27 
Offline
Użytkownik

Dołączył(a): 01 lis 2013
Posty: 302
Pomógł: 32

Tak, mają zostać takie same.

Z jakiegoś powodu AVRDUDE nie jest w stanie skomunikować się z programatorem.

Komunikacja AVRDUDE z programatorem odbywa się poprzez bibliotekę libUSB0.dll. Swiadczyć to może o tym,
że jakiś antywirus, wbudowany defender czy coś innego w systemie blokuje tą wersję biblioteki i AVRDUDE.
Przeszukaj pod tym kątem ustawienia zabezpieczeń systemu. Może wystarczy dodać bibliotekę i avrdude do wyjątków w zabezpieczeniach...

Nie jest to problem związany samym środowiskiem VSC, bo jak widać sam AVRDUDE jest poprawnie uruchamiany przez VSC.

_________________
Pozdrawiam,
sq8mvy, Paweł



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2020, o 11:34 
Offline
Nowy

Dołączył(a): 10 wrz 2018
Posty: 24
Pomógł: 0

Przeszukałem wszystko i nie ma nigdzie takiej opcji jak blokowanie biblioteki :/
Używam Kasperskiego jbc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lut 2020, o 09:08 
Offline
Użytkownik

Dołączył(a): 01 lis 2013
Posty: 302
Pomógł: 32

Jako, że używam linuksa, to nie znam tak głęboko windowsa. Mogę popatrzeć zdalnie na problem przez teamviewera, jak byś był zainteresowany. Obawiam się, że dalej nie będę w stanie pomóc. Poszukam, może ktoś miał już taki problem pod windowsem.

AVRDUDE dostarczany z pluginem Platformio to jest całkiem niezależna aplikacja zewnętrzna i w żaden sposób nie jest powiązana z VSC. Ona jest tylko uruchamiana z parametrami przez VSC na żądanie użytkownika.
Możesz dla testu, uruchomić tą wersję AVRDUDE z poziomu konsoli ręcznie. Ale nie za pomocą Pio, jak dla logów, tylko poprzez bezpośrednią ścieżkę do AVRDUDE z platformio.

_________________
Pozdrawiam,
sq8mvy, Paweł



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lut 2020, o 00:00 
Offline
Nowy

Dołączył(a): 10 wrz 2018
Posty: 24
Pomógł: 0

gizmo5418 napisał(a):
Mogę popatrzeć zdalnie na problem przez teamviewera, jak byś był zainteresowany.

O chętnie bym skorzystał z twojej pomocy, możesz dać jakiś kontakt do siebie żeby się umówić?



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: 28 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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