Czy istnieje sposób na wyeksportowanie kodu dla arduino nawet jako plik hex?
Czy istnieje sposób na wyeksportowanie kodu dla arduino nawet jako plik hex?
Odpowiedzi:
Patrząc na kod źródłowy bootloaderów Arduino na https://github.com/arduino/Arduino/tree/master/hardware/arduino/bootloaders wydaje się, że w rzeczywistości obsługują one funkcję odczytu stk500 dla pamięci flash, dzięki czemu można osiągnij swój cel za pomocą programu klienckiego, takiego jak avrdude.
Tak więc odpowiedź na pytanie brzmi: jeśli możesz uzyskać dostęp do bootloadera, to tak, możesz odczytać zawartość pamięci flash w formacie binarnym lub szesnastkowym, bez uciekania się do zewnętrznego programisty.
Jeśli nie możesz uzyskać dostępu do programu ładującego (zresetować problemy lub nie ma nienaruszonego programu ładującego), możesz to zrobić za pomocą zewnętrznego programatora, pod warunkiem, że ustawienia bezpiecznika nie zapobiegną temu.
avrdude
zachowaniu weryfikacyjnym , ponieważ działa poprzez odczytywanie bufora i przeprowadzanie porównania na komputerze. Zasadniczo każdy, kto kiedykolwiek przesłał kod do Arduino opartego na ATmega, pozwalając IDE na wywołanie avrdude
z domyślną konfiguracją, również domyślnie go odczytał.
Tak, udało mi się pobrać jądro rozruchowe z jednej płyty Arduino za pośrednictwem ISCP i przesunąłem je na inną. Bezpieczniki bezpieczeństwa nie zostały ustawione. gdzie avrdude będzie działać. Wtedy korzystałem z AVR Studio ze STK500, ponieważ miał GUI i nie musiałem uczyć się wszystkich przełączników avrdude. Albo zadziała.
Ustawienie bezpiecznika pokonuje open source. Powiedział, że jądro rozruchowe znajduje się w IDE. .. \ Arduino \ hardware \ arduino \ bootloaders \ atmega8 \ ATmegaBOOT.hex wraz z innymi wariantami układów.