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

mikrokontrolery i kontrolery czy to to samo

ego3000n 27 Cze 2012 23:36 1455 6
  • #1 27 Cze 2012 23:36
    ego3000n
    Poziom 15  

    Witam
    Przepraszam jeśli zanudzę kolegów - ale w związku ze zmianą pracy więcej uwagi musze poświęci temu tematowi - łącznie z programowaniem mikrokontrolerów i pamięci kontrolerów :)
    Do napisania postów w tym dziale skłonił mnie brak wyczerpujących podpowiedzi na przykładowe wątki:
    https://www.elektroda.pl/rtvforum/viewtopic.php?t=2302652&highlight=
    https://www.elektroda.pl/rtvforum/viewtopic.php?t=2325023&highlight=

    musze szybko nabywac wiedze :) z zakresu działania tego typu układów a także możliwości programowania mikrokontrolerów i pamięci kontrolerów bo staje mi sie to niezbędne w pracy :)

    Z tego co wiem w uproszczeniu mikrokontroler to w jednym układzie:
    - procesor
    - pamięć EPROM, EEPROM lub Flash - w której znajduje sie wpisany program
    - oraz RAM

    kontroler to oddzielne układy:
    - procesor
    - pamięć EPROM, EEPROM lub Flash - w której znajduje sie wpisany program
    - oraz RAM

    Różnica polega na tym że mikrokontroler to komputer "w pigułce" ale o ograniczonych możliwościach - kontroler to bardziej w stronę PC :) - jaki damy procesor, EPROM i RAM - będzie miał mniejszą lub większą wydajnośc /patrz tel. komórkowy :) /

    A mówiąc bardzo poważnie interesuje mnie pokierowanie w jakąś stronę od doświadczonych kolegów, jakie podstawy wiedzy musze zdobyc żeby wiedziec co mi jest potrzebne do programowania samych pamięci, oraz w razie potrzeby mikrokontrolerów, zczytywania wsadów itp. Czy te same programatory programują mikrokontrolery i pamięci kontrolerów ?
    W tym momencie musze wyjaśnic że bardziej na początku interesuje mnie wykorzystanie praktyczne zczytanie wsadu, wpisanie wsadu, diagnostyka działania - ale oczywiście później napisanie własnego programu lub "przeróbka" fabrycznego :)

    Na elektrodzie znalazłem opis programatora biosu za pomocą programatora ideflasher - prosty do budowy i podłaczenia np. w kieszeni dysku. Czy takie urządzenie można wykorzystac np. do programowania i zczytywania innych pamięci np z "ramek cyfrowych" z mojego postu :)
    /ale też pamięci baterii w laptopach, biosów pcb laptopów i nowych płyt stacjonarnych, pamięci w monitorach itp /

    Czy bardziej przydałby mi sie np :
    DRAGON Atmel AVR JTAG debugwire OCD programator ?
    https://www.elektroda.pl/rtvforum/topic649484.html
    oczywiście po zapoznaniu sie z zasadami programowania :)
    Czy probje w tym wypadku strzelac do komara z armaty :)

    0 6
  • #2 27 Cze 2012 23:49
    LordBlick
    VIP Zasłużony dla elektroda

    ego3000n napisał:
    A mówiąc bardzo poważnie interesuje mnie pokierowanie w jakąś stronę od doświadczonych kolegów, jakie podstawy wiedzy musze zdobyc żeby wiedziec co mi jest potrzebne do programowania samych pamięci
    Należy przestudiować, co producent napisał w nocie katalogowej. Z reguły daje się odnaleźć takie informacje, wpisując w popularnej wyszukiwarce internetowej fragmenty oznaczeń na układach.

    0
  • #3 28 Cze 2012 00:56
    ego3000n
    Poziom 15  

    Cytat:
    Należy przestudiować, co producent napisał w nocie katalogowej. Z reguły daje się odnaleźć takie informacje, wpisując w popularnej wyszukiwarce internetowej fragmenty oznaczeń na układach


    Oczywiście znalazłem "pamięci" kontrolerów z ramek - wiem że działają na szynie I2C - znalazłem KIT, programator z klipsem do programowania ich w układzie /ale tu zdania są podzielone czy sie da/ - po wylutowaniu napewno sie da :) - tylko problem polega na tym że pracując w serwisie GSM programowałem wszystko przez CLIPY a nie wyciągałem nigdy pamięci żeby ją programowac "na sztywno".

    Jak sie zorientowałem na forum i u wujka go..e - pamięci programuje sie w różny sposób, mkrokontrolery też ... Ponieważ mam doczynienia z różnym sprzętem poleasingowym i końcówkami serii:
    /raz to jest 1000 ramek cyfrowych, raz 1000 monitorów - oraz laptopy, komputery a nawet mp3 czy kamerki internetowe :) /
    Chciałbym jakąś wskazówke czy przy naprawach software musze miec programator i wiedze ukierunkowaną na dany:
    sprzęt - producenta - typ - a nawet model.
    Czy moge złożyc/kupic programator uniwersalny - np programuje 50% pamięci i kontrolerów używanych w sprzęcie :)

    Oczywiście zdaje sobie sprawe że musze za każdym razem zapoznac sie z datasheet układów - sposobu programowania itp.
    W technice GSM musiałem mieć odzielny programator /CLIP/ dla każdego producenta, nieraz kilka dla różnych modeli, oczywiście sterowniki - o oprogramowaniu nawet nie wspomne :)
    Ale programując pamięć i wbijając "na sztywno" jedynki i zera powinno to nie mieć znaczenia czy jest wyjęta z telewizora, samochodu, pralki, dvd, komputera itp. :)
    Problem jest jak sądze w różnych sposobach kasowania i wpisywania komórek pamięci.
    Nie wiem jaki programator "załatwił" by mi popularne standardy ...
    I czy wogóle taki jest ...

    Przepraszam za "lamerstwo"ale za szybko chce/musze poznać temat :)

    0
  • #4 28 Cze 2012 17:30
    LordBlick
    VIP Zasłużony dla elektroda

    Z tas pamięcią w tych ramkach to może być tak, ze jest bootloader, który za pomocą wbudowanej magistrali procesora zaprogramuje pamięć. Możesz też sprawdzić, czy ten procesor obsługuje JTAG-a, bo to najpopularniejszy interface.
    Co do programatorów, to na pewno nie polecam nędznej przystawki pt. Willem, która może byłaby dobra, ale pod DOS-em, a nie pod wielozadaniowym systemem. Większość porządnych programatorów to urządzenia z wbudowanym własnym procesorem, co umożliwia zachowanie właściwych parametrów (głównie czasowych) programowania.

    ego3000n napisał:
    Oczywiście znalazłem "pamięci" kontrolerów z ramek - wiem że działają na szynie I2C
    Obawiam się, że na I²C to jest tylko pamięć konfiguracji. Pamięć programu jest albo zaszyta wewnątrz procesora, i wtedy nazywamy go mikrokontrolerem, albo w zewnętrznej pamięci Flash. Jeśli jednak chcesz koniecznie programować to przez I²C, to wystarczy wymusić stan Resetu procesora, aby nie blokował linii.

    0
  • #5 29 Cze 2012 09:24
    ego3000n
    Poziom 15  

    Cytat:
    Pamięć programu jest albo zaszyta wewnątrz procesora

    Bardzo cenna podpowiedź /zaznaczam jeszcze raz że dopiero raczkuje w tym temacie/.
    Czyli w pamięci procesora /mikrokontrolera/ jest cały program obsługi /np interface matrycy LCD, USB, SD itp/ a w pamięci zewnetrznej interfejs graficzny, oprogramowanie "czytające" pliki jpeg avi itp :) czyżby LINUX :)
    Czyli mając interface z obsługą JTAG, moge sprawdzić /teoretycznie/ czy wszystki układy fizycznie działają, oraz zaprogramowac pamięć mikrokontrolera oraz pamięć zewnętrzną ?

    0
  • #6 29 Cze 2012 10:26
    Szymon Tarnowski
    Poziom 27  

    ego3000n napisał:
    Czyli w pamięci procesora /mikrokontrolera/ jest cały program obsługi /np interface matrycy LCD, USB, SD itp/ a w pamięci zewnetrznej interfejs graficzny, oprogramowanie "czytające" pliki jpeg avi itp :) czyżby LINUX :)
    Nie ma standardu, czasem w pamięci procesora jest całość (małe procesory), czasem jest pamięć FLASH równoległa na płytce (np w tunerach satelitarnych), czasem w procesorze jest bootloader i dużo RAMu a pamięci FLASH szeregowa na płytce (np płyty główne ostatnio używają pamięci SPI do przechowywania BIOS). Może być też jakiś sprzętowy odpowiednik booloadera (np w układach FPGA) który zaciąga całość z pamięci i uruchamia. Obiekty "multimedialne" mogą być zarówno zaszyte w kodzie programu, zapisane w jakimś systemie plików i dorzucone do współdzielonej pamięci z kodem programu lub w zupełnie zewnętrznej kości ;)
    ego3000n napisał:
    Czyli mając interface z obsługą JTAG, moge sprawdzić /teoretycznie/ czy wszystki układy fizycznie działają, oraz zaprogramowac pamięć mikrokontrolera oraz pamięć zewnętrzną ?
    Do każdego producenta jest praktycznie inny interfejs i oprogramowania. Z reguły w sieci pojawiają się nieoficjalne programy do wrzucania oprogramowania (np do tunerów czy routerów) jednak one są ściśle dedykowane po konkretny model urządzenia. Jak już nawet znajdziesz dedykowany interfejs do procesora, to pozostaje też problem co z układami założonymi blokadami odczytu, niby można je zawsze skasować i nadpisać, ale skąd weźmiesz oryginalny firmware? Hipotetycznie używając JTAG można by przetestować fizyczne połączenia ale i tak potrzeba dokładnej dokumentacji i jeszcze jakiś testerów do testpointów, bo JTAG nie sięga poza układy z JTAG.

    0
  • #7 29 Cze 2012 11:49
    ego3000n
    Poziom 15  

    Czyli /przepraszam że cytuje sam siebie :)

    Cytat:
    Czy moge złożyc/kupic programator uniwersalny - np programuje 50% pamięci i kontrolerów używanych w sprzęcie :)

    Dla każdego urządzenia i tak trzeba ściągnąć dokumentacje, sterowniki itp jak delikatnie zasugerował LordBlick :)
    Ale jeszcze jedno pytanko:
    Cytat:
    to pozostaje też problem co z układami założonymi blokadami odczytu, niby można je zawsze skasować i nadpisać, ale skąd weźmiesz oryginalny firmware?

    Nawet jeśli mam kilka takich samych urządzeń nie da sie zczytać pamięci mikrokontrolera i tej zewnętrznej ze sprawnego urządzenia ?
    Cytat:
    niby można je zawsze skasować i nadpisać,

    Zawsze :) Sory że tak drąże temat na początku :)

    0