logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Rozwiązano] Jak wygenerować plik hex w Atmel Studio 7 dla Attiny85? Błędy kompilacji.

kita18 17 Maj 2020 11:33 765 12
  • #1 18698715
    kita18
    Poziom 9  
    Witam. Jestem początkujący jeśli chodzi o Atmel Studio(tak samo jesli chodzi o programowanie)
    Nie mogę stworzyć pliku hex(który potrzebuje aby wgrać go do mikrolontrolera Attiny 85)
    W opcjach Toolchain - AVR/GNU Common/outputFiles mam zaznaczone pliki. hex
    W Tool debugger mam Simulator.
    A oto błędy które wyrzuca program :

    ------ Build started: Project: Kierunkowskaz, Configuration: Debug AVR ------
    Build started.
    Project "Kierunkowskaz.cppproj" (default targets):
    Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
    Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "C:\Users\kita2\Desktop\KierunkowskazRGBW\Kierunkowskaz\Kierunkowskaz.cppproj" (target "Build" depends on it):
    Task "RunCompilerTask"
    Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
    C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe all --jobs 4 --output-sync
    make: Nothing to be done for 'all'.
    Done executing task "RunCompilerTask".
    Task "RunOutputFileVerifyTask"
    Program Memory Usage : 294 bytes 3,6 % Full
    Data Memory Usage : 0 bytes 0,0 % Full
    Warning: Memory Usage estimation may not be accurate if there are sections other than .text sections in ELF file
    Done executing task "RunOutputFileVerifyTask".
    Done building target "CoreBuild" in project "Kierunkowskaz.cppproj".
    Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
    Target "Build" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Avr.common.targets" from project "C:\Users\kita2\Desktop\KierunkowskazRGBW\Kierunkowskaz\Kierunkowskaz.cppproj" (entry point):
    Done building target "Build" in project "Kierunkowskaz.cppproj".
    Done building project "Kierunkowskaz.cppproj".

    Build succeeded.
    ========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
  • #2 18698842
    tmf
    VIP Zasłużony dla elektroda
    Skoro program zajmuje 294 bajty, to znaczy, że jednak hex się tworzy. W jakim katalogu go szukasz? W zależności od wybranego celu powinno to być Debug lub Release.

    Dodano po 2 [minuty]:

    BTW, w tym logu nie ma ma żadnych błędów. Nie ma zdarzeń pre- i postbuild, stąd ten komunikat. Ale to nie jest błąd. Na końcu masz Build: 1 succeeded or up-to-date, 0 failed, 0 skipped.
  • #3 18698852
    kamyczek
    Poziom 38  
    Jak nie tworzy ? Może nie potrafisz znaleźć pliku hex w katalogu projektu . Pisze że kompilator zakończył operację sukcesem podaje ile program zajmuje miejsca . Wybierz sobie jako narzędzie programator stk600 albo ispMK2 jedyne co mi przychodzi do głowy że z wybranym symulatorem nie tworzy pliku hex .
  • #4 18698854
    kita18
    Poziom 9  
    Dobra niby się tworzy i znalesc go mogę w folderze debug. Niestety gdy chce wprowadzić jakieś zmiany w programie np. Kolor święcenia ledow i skompilować aby otrzymać nowy plik hex. To po wgraniu pliku hex poprzez mkAVRcalculator do mojej Attiny efekt zawsze jest taki sam jak za pierwszym razem. Tak jakby plik hex w ogóle się nie zmieniał.



    Dodano po 8 [minuty]:

    kamyczek napisał:
    Jak nie tworzy ? Może nie potrafisz znaleźć pliku hex w katalogu projektu . Pisze że kompilator zakończył operację sukcesem podaje ile program zajmuje miejsca . Wybierz sobie jako narzędzie programator stk600 albo ispMK2 jedyne co mi przychodzi do głowy że z wybranym symulatorem nie tworzy pliku hex .

    Jeśli dobrze patrzę to w miejscu Tool-debugger /programmer mam do wyboru tylko Simulator i CustomProgramming Tool. Nie mam tych o których piszesz
  • #5 18698895
    kamyczek
    Poziom 38  
    Nieważne przepatrz folder projektu i foldery które w nim są w folderze o nazwie default powinieneś mieć plik hex .
  • #6 18699021
    kita18
    Poziom 9  
    Tak jak pisałem znalazłem plik .hex w folderze debug. Usunolem go z tamtad i użyłem akcji Build. Nowy plik nie został stworzony. I nie ma takiego w żadnym folderze projektu. Nie mam też folderu default
  • #7 18699542
    kamyczek
    Poziom 38  
    Podeślij listing albo cay plik projektu to zobaczymy co jest nie tak , to zobaczymy co jest nie tak . ewentualnie przeinstaluj Studio7 może coś się źle zainstalowało .
  • #8 18700459
    kita18
    Poziom 9  
    Już przeinstalowałem studio7 dwa razy i nic. A jak zrobić ten listing?
  • #9 18700495
    kamyczek
    Poziom 38  
    Najlepiej wyślij cały katalog projektu , w Studio7 masz opcję tworzenia gotowego spakowanego pliku .
  • #12 18705255
    kita18
    Poziom 9  
    Dzięki za zainteresowanie. Jutro postaram się to sprawdzić i dam znać
  • #13 18733914
    kita18
    Poziom 9  
    JarekC napisał:
    U mnie projekt skompilował się poprawnie i utworzony został plik HEX.
    Przy czym użyłem nie opcji "Build Solution" ale "Rebuild Solution"

    Utworzony plik w załączeniu.

    JarekC


    JarekC dzięki ,zrobiłem tak jak Ty i też u mnie się udało.
    Dzięki za pomoc

    Dodano po 1 [minuty]:

    Użyłem opcji ,,Rebuild Solution'' Program skompilował się poprawnie i utworzył plik .hex.

Podsumowanie tematu

Użytkownik miał problem z generowaniem pliku HEX w Atmel Studio 7 dla mikrokontrolera Attiny85. Po kilku próbach okazało się, że plik HEX jest tworzony, ale nie zmienia się po edytowaniu kodu i ponownym kompilowaniu. Użytkownicy zasugerowali, aby sprawdzić folder projektu oraz użyć opcji "Rebuild Solution" zamiast "Build Solution", co ostatecznie rozwiązało problem. Użytkownik potwierdził, że po zastosowaniu tej metody plik HEX został poprawnie wygenerowany.
Podsumowanie wygenerowane przez model językowy.
REKLAMA