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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 10 lip 2025, o 16:59


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
    Autor Wiadomość
    PostNapisane: 10 maja 2017, o 16:12 
    Offline
    Użytkownik

    Dołączył(a): 03 lut 2014
    Posty: 37
    Pomógł: 0

    Dzień dobry,
    Zaczynam przygodę z STM32. Mam krótkie pytania:

    1. Czy w środowiskach pochodnych od Eclipse (Atolic Truestudio i STM Workbench) jest różnica pomiędzy DEBUG i RELEASE? Są takie dwie opcje do wgrania programu: Debug (wtedy np. praca krokowa) i Run (wtedy... właśnie co? Myślałem, że to poprostu wgra program do mikrokontrolera ale mam w tym miejscu komunikat "The selection cannot be launched and there are no recent launches").
    2. Jak tak poprostu wgrać program z poziomu IDE (np. Atolic). Chodzi mi o tą wersję programu, która ma docelowo działać w urządzeniu. Nie o wersję do debugowania.
    3. Czy wersja wgrana jako DEBUG jest jakaś inna (na poziomie kodu maszynowego) i czy może ona działać w urządzeniu? Inaczej: czy z tą wersją programu urządzenie jest w pełni stabilne i szybkie? Czy zawiera jakieś dodatkowe instrukcje dla procesora dotyczące debugowania, jak np. mechanizm komunikacji debuger - mikrokontroler służące m. in. do podglądu zmiennych?


    Z samym Eclipse miałem już do czynienia przy AVR, jak uczy Pan Mirek. Jednak tam nie używałem Build Configurations i Run Configurations. Ani debugowania.


    Bardzo proszę o odpowiedzi.
    Pozdrawiam serdecznie,
    Darek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 maja 2017, o 17:44 
    Offline
    Użytkownik

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

    Wersja uproszczona ..

    Przy kompilacji debug powstaje plik wynikowy ELF zawierający program mikrokontrolera , który jest wgrany do pamieci flash i dodatkowe informacje dla debugera oraz pliki wspomagające, pozwala to na uruchomienie w procesie serveraGDB na którym pracuje debuger róznych funkcji , jak podgląd wartości rejestrów , pamięci , stosowanie pułapek (breakPoint) i testowanie fragmentów kodu
    łacznie z zatrzymaniem programu , wznowieniem , wykonaniem krok po kroku , podgląd na żywo wykonywanych instrukcji również w postaci asemblera.

    Przy kompilacji release powstaje plik bin lub hex który wgrywamy do pamięci mikrokontrolera

    do wgrania można użyc dostępnych w środowisku mechanizmów np: keil umozliwia uruchomienie i wgranie z pamięci flash lub ram
    ew .. oprogramowania programatora - w przypadku STLinka jest to STLink Utility

    Stabilność --- czy debug czy release są tak stabilne jak programista który je pisał czyli róznica żadna w działaniu , albo działa albo
    nie -- i tu debug pozwala to wychwycić release nie ...


    Autor postu otrzymał pochwałę

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 maja 2017, o 19:57 
    Offline
    Użytkownik

    Dołączył(a): 03 lut 2014
    Posty: 37
    Pomógł: 0

    Bardzo Ci dziękuję za odpowiedź. Szczerze to nawet miałem nadzieję że właśnie Ty odpiszesz :)
    Doczytałem o GDB serwerze...

    Czyli można w urządzeniu zostawić wgrany plik .elf?

    I jeszcze jedno: miałem problem z konfiguracją RELEASE (nie tworzy mi się plik .hex ani .bin), a dodatkowo w którymś z okienek, chyba Manage Configurations jest napis "Orphaned configuration... no cfg file" - jakoś tak. Usunąłem tą konfigurację i stworzyłem nową: RELEASE2, której ustawienia IDE skopiowało z DEBUG. Więc chyba mam teraz dwie takie same konfiguracje: DEBUG i RELEASE2. Problem jest taki, że nie mam pliku .bin
    Nie mam czego wgrać programem ST-link Utility.

    Co zrobić, żeby IDE generowało plik .bin?

    Nie ma go ani w folderze projektu Debug, ani w Release, ani w Release2...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 maja 2017, o 20:19 
    Offline
    Użytkownik

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

    Dlaczego ja ?? żadna ze mnie wyrocznia zwyczajny zielony na dodatek wredny żabol amator ....


    w opcjach projektu włacz tworzenie bin i hex

    Obrazek


    Plik elf nie jest wgrywany , a jedynie zawarty w nim bin :)


    Autor postu otrzymał pochwałę

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 maja 2017, o 15:55 
    Offline
    Użytkownik

    Dołączył(a): 03 lut 2014
    Posty: 37
    Pomógł: 0

    Wielkie dzięki SunRiver, bardzo pomogłeś :)

    Ta linijka do Postbuild steps działa. Pewnie zwyczajnie wyłuskuje plik .hex z pliku .elf

    Już chyba ostatnie pytanie. Po wciśnięciu Run mam taki komunikat:
    Obrazek

    Oczywiście wcześniej wykonałem Build dla konfiguracji Debug. Plik LCB.elf fizycznie znajduje się na dysku pod tą ścieżką.

    Może źle rozumiem... Run służy do wgrania wsadu do mikrokontrolera w zwykłym, niedebugującym trybie, Prawda?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 maja 2017, o 17:50 
    Offline
    Użytkownik

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

    Nie ....
    RUN uruchamia program w trybie debugera tylko i wyłącznie
    domyslnie w release nie działa gdyż nie można w tym trybie/ perspektywie uruchomić perspektywy debugera

    oczywiście można to zmienić w przypadku Release W Trupe Studio należy wgrać program do pamięci mikrokontrolera poprzez narzędzia narzedzia dostarczone przez producenta debugera/programatora

    robisz to tak:

    w menu Run --> External Tools… --> External Tools Configurations…
    •Create a new (tworzysz nową konfigurację uruchominia) --> “Launch configuration”
    •Name ( tu sobie możesz nazwać np:) “ST-LINK Flasher”
    •Location (tu wskazujesz miejsce gdzie masz STlink Utility) np: C:\ST-LINK Utility\ST-LINK_CLI.exe
    •Arguments (podajesz argumenty wywołania) -c ID=0 SWD UR LPM -P (ścieżka do projektu) C:\workspace\Project\Release\twój_hex_lub_bin.hex
    ------> uwaga !! lepiej by w ścieżce nie było spacji do !!!!!!!!!!!
    •Working directiory (folder uruchomienia wywołania) np: C:\ST-LINK Utility\
    •Apply (zatwierdzasz ustawienia)

    Od teraz w konfiguracji release kliknięcie na Run lub wybranie Run --> External Tools… --> ST-LINK Flasher
    plik hex lub bin zostanie wgrany do mikrokontrolera :P


    Autor postu otrzymał pochwałę

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 maja 2017, o 06:49 
    Offline
    Użytkownik

    Dołączył(a): 03 lut 2014
    Posty: 37
    Pomógł: 0

    Dziękuję raz jeszcze. Sprawdzę :)

    A czy w darmowej wersji Atolic można sprawdzić ile miejsca w procesorze zostało zajęte? Zdaje się że to podstawa w programowaniu ale nigdzie nie widzę tej informacji.



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

    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