Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

prosze o pomoc. przykłady ładowania programu do pamieci stał

08 Sie 2007 15:08 1212 11
  • Poziom 15  
    witam otóż mam takie pytanie przykłady ładowania programu do pamieci stałej mikrokontrolera?? prosiłbym o dośc opisowa odpowiedz jest to dlamnie bardzo wazne.pozdrawiam i licze na pomoc ze strony osób znających temat
  • Poziom 15  
    Hej,
    Czy przez "ładowanie programu do pamięci" to chodzi Ci o zaprogramowanie mikrokontrolera programem, który wykonywałby jakieś tam funkcje ?


    pozdro
  • Poziom 15  
    chodzi mi w jaki sposób wprowadza/ładuje sie program do mikrokontrolera
  • Poziom 28  
    Piszesz program->Kompilujesz->podłączasz programator->wgrywasz program programatorem do procesora
  • Pomocny post
    Poziom 15  
    Tak jak napisał kolega wyżej.
    1) piszesz program w języku asm, c lub basic na komputerze klasy PC. Ja używam BASCOM-AVR do proców firmy ATMEL.

    2) za pomocą kompilatorów(zawartym np w pakiecie BASCOM-AVR) kompilujesz taki program do postaci binarnej

    3) podłączasz programator. Najprostszym programatorem jest połączenie portu LPT komputera z odpowiednimi końcówkami (MISO, MOSI, SCK, RST, GND) mikrokontrolera. Zasilasz mikrokontroler np z portu USB. Do niektórych procków wypada podłączyć jeszcze kwarca zewnętrznego do końcówek XTAL.

    4) Wysyłasz program do mikrokontrolera i........

    w zasadzie jak napisałeś "porządnie" to program powinien "ruszyć"

    Ot i cała historyja :))

    Pozdro
  • Poziom 15  
    a wiec tak chodzi mi konkretnie jak przebiega program ładujący bootloader i program komunikacyjny downloader przynajmniej takie metody znalazłem w książce mikroprocesory jednoukładowe PCI Stanisław Pietraszek ale nie mam dostępu do dalszych stron tylko do spisu treści
  • Poziom 15  
    Może z innej beczki. Co próbujesz zbudować ? Czy interesuje Cię tylko temat w teorii ?
  • Poziom 15  
    interesuje mnie tylko teoria bo mam komisa pod koniec sierpnia i nie noge znależć odpowiedzi na ten temat
  • Pomocny post
    Poziom 15  
    Hmmm, to troche nie na tym forum napisałeś, bo jest jakiś Początkujący Laborki, Teoria...... czy coś w tym stylu.

    Powiedz konkretnie do jakiego procka potrzebujesz jakiś przykład, bo może chodzi Ci o Z80 ? Czy to ma być mikrokontroler z pamięcią wewnętrzną flash, czy to ma być właśnie procek typu Z80, gdzie program musi być załadowany z pamięci zewnętrznej ?

    Np. ATMEGA-8 jest popularnym mikrokontrolerem 8-bitowym, który posiada "w sobie" 8kB programowalnej pamięci FLASH do której "wgrywa" się program metodą tak ja pisałem wcześniej I program automatycznie znajduje się w procku który po podłączeniu zasilania zaczyna go wykonywać. W tym przypadku nie potrzeba żadnej pamięci zewnętrznej do przechowywania programu, gdyż jest on zapisany w samym układzie mikrokontrolera. Nie potrzeba również i bootloadera.
    W procesorze tym istnieje możliwość umieszczenia kodu w postaci bootloadera który np.: załaduje program właściwy poprzez złącze szeregowe.
    Istnieje również (z tego co kojarzę) możliwość współpracy z pamięcią zewnętrzną.

    Nie wiem czy to co napisałem w czymś Ci pomoże, bo szczerze mówiąc nigdy nie korzystałem z programów ładujących, gdyż zawsze zapisuje cały program w mikrokontrolerze w jego pamięci FLASH :)

    Jakby jednak Cię to interesowało to mogę zeskanować Ci przykładowy program ładujący właśnie do ATMEGI-8 z książki do BASCOMA.
    Ale przypuszczam że jak to do jakiejś szkoły, teoria tylko, to nie będzie Ci to przydatne :(

    pozdro
  • Spec od komputerów
    Programowanie np za pomoca interfejsu SPI, za pomoca programowania równoległego, lub za pomoca bootloadera.
  • Poziom 15  
    Platon własnie o to mi chodziło :) tylko na czym dokładnie te metody polegaja chodzi o opis .
  • Pomocny post
    Poziom 33  
    ISP - tryb programowania szeregowego w układze pracującym. Polega na wprowadzeniu uC (poprzez zresetowanie) w tryb programowania, po czym wykorzystujac trzy linie (zegar taktujący SCK, dane wejściowe MISO i dane wyjściowe MOSI) zostaje załadowany program do pamięci flash

    Równoległe - polega na wyjęciu kości i włożeniu do programatora. Jak sama nazwa wskazuje dane wejściowe i wyjsciowe uK przesyłane są paczkami po całym bajcie (dla 8bitowców). Pod jakie piny należy podpiąć wynika z dokumentacji.

    Bootloader - to poprostu program ładujący (albo fabrycznie umieszczony albo wgrany przez inne interfejsy do pamięci) który przez interfejs szeregowy (UART TxD i RxD) nadzoruje ładowanie programu do flasha. Aby nie kolidował on z programem docelowym jest umieszczony w innym miejscu (przeważnie "nad" przestrzenią flash). Wprowadzenie w tryb programowania polega na wysterowaniu odpowiednich pinów podczas resetu lub ustawienie tzw. Fuse Bit podczas konfiguracji uK poprzez inny interfej (np: ISP)

    JTAG - bardziej zaawansowany interfejs szeregowy. Umożliwia zarówno wgrywanie programu jak i jego debugowanie na "żywym" organizmie. Wprowadzenie w tryb polega na ustawieniu odpowiednich pinów podczas resetu lub przesłania rozkazów przez JTAGA do uK (stosowany przważnie w rodzinie rdzeni ARM).

    Do kążdego z w/w sposobów potrzebny jest program nadzorujący wgrywanie programu (przeważnie na PC) oraz urządzenie sprzętowe (piny złącza LPT, RS232 lub ostatnio modne moduły USB które sa niczym innym jak juz zaprogramowanymi uC wykorzystującymi interfejs USB do komunikacji z PC).