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

Jak przesłać plik HEX do ATmega z bootloaderem przez RS?

gpi_unit 17 Mar 2013 10:38 1803 6
REKLAMA
  • #1 12071732
    gpi_unit
    Poziom 12  
    Witam

    Mam pytanie jak realizowane jest przesyłanie pliku HEX do mikrokontrolera, jak mam już wgrany bootloader. Ten wsad trzeba jakoś przygotować przed wysłaniem, w sensie coś usunąć czy coś. Bootloader mam oparty na pomyśle Bootloader Przerobiłem go trochę, bo jeszcze można go było podkręcić :) ale ogólna koncepcja została ta sama...

    Reset procesora -> Włączam RS - wysyłam 'P' -> potem 'F'(tryb programowania) - i tutaj czeka na dane.

    No i jak to przesłać. Trzeba coś ucinać, coś pomijać? Może ktoś już miał do czynienia z bootloaderami i pochwali się jak to zrealizować w dowolnym języku programowania może być nawet pseudokod. :)



    Pozdrawiam
    Marcin
  • REKLAMA
  • #2 12071889
    Freddy
    Poziom 43  
    gpi_unit napisał:
    Witam

    Mam pytanie jak realizowane jest przesyłanie pliku HEX do mikrokontrolera, jak mam już wgrany bootloader. Ten wsad trzeba jakoś przygotować przed wysłaniem, w sensie coś usunąć czy coś. Bootloader mam oparty na pomyśle Bootloader Przerobiłem go trochę, bo jeszcze można go było podkręcić :) ale ogólna koncepcja została ta sama...

    Reset procesora -> Włączam RS - wysyłam 'P' -> potem 'F'(tryb programowania) - i tutaj czeka na dane.

    No i jak to przesłać. Trzeba coś ucinać, coś pomijać? Może ktoś już miał do czynienia z bootloaderami i pochwali się jak to zrealizować w dowolnym języku programowania może być nawet pseudokod. :)



    Pozdrawiam
    Marcin

    Kręcisz kolego. Piszesz, że przerobiłeś Bootloader, aby szybciej działał, a nie wiesz jak on działa ???
  • REKLAMA
  • #3 12071993
    gpi_unit
    Poziom 12  
    Bo pracuje na programie zrobionego przez kolegę morsona. Nie wiem czy to ma być zwykły strumień danych... Udało mi się wejść w tryb programowania, tylko, że zawsze mi w dziwnych miejscach ten kod dołącza i nie wiem z czym to jest związane. Zoptymalizowałem obsługę UARTU
  • REKLAMA
  • #4 12072280
    AndrzejZ82
    Poziom 2  
    Jeżeli przerobiłeś bootloader-a to znaczy, że masz do niego źródełka więc nic nie stoi na przeszkodzie aby sprawdzić jak jest realizowane przesyłanie danych i wgrywanie ich do pamięci.
    Zwróć uwagę, że plik (hex) ma pewien specyficzny format. Każda linia zawiera m.in. typ rekordu, rozmiar danych, adres pod jaki mają zostać one zapisane, dane, sumę kontrolną. Przypuszczam, że bootloader nie potrzebuje tych wszystkich informacji. Tak więc zorientuj się w kodzie (to nie powinno być trudne) czego bootloader oczekuje np.: czy tylko pola danych i adresu pod jaki powinny być one zapisane, czy może sam potrafi sobie wyłuskać odpowiednie informacje z pliku hex.
  • #5 12072456
    tmf
    VIP Zasłużony dla elektroda
    Albo po prostu zastosuj firmowy bootloader Atmela, do którego masz też programy na PC do wysyłania wsadu. Nie wiem po co wymyślać koło od nowa, chyba, że twój bootloader musi być jakiś superspecyficzny.
  • REKLAMA
  • #6 12072515
    Freddy
    Poziom 43  
    Przecież gość ewidentnie kręci. Pisze, że przerobił bootloader, aby był szybszy, a nie potrafi powiedzieć jaki jest format przesyłu danych. BZDURA !
    Format pliku HEX jest ogólnie dostępny w sieci.
  • #7 12072739
    gpi_unit
    Poziom 12  
    Taa bzdura, nie dotykałem procedury zapisu do pamięci, tylko zmieniłem procedure samej inicjalizacji UART-u to są dwie inne rzeczy. Procedura o której mówisz została nienaruszona. Chodziło mi tylko o jakieś wskazówki dot. pliku HEX, które już dostałem. Takie posty nic nie dodają do rozmowy. Bootloader nie będzie na pewno szybszy, ale mniej pamięci zajmuje.
REKLAMA