Mikrokontrolerymikrokontrolery są to programowalne, scalone układy cyfrowe integrujące w sobie jednostkę centralną (CPU), pamięć (zarówno operacyjną jak i służącą do przechowywania programu oraz danych) oraz układy wspomagające takie jak przetworniki analogowo-cyfrowe, ... . W dziale tym zajmiemy się głównie układami opartymi na mikrokontrolerach AVR oraz programowaniem tych układów w C (z elementami asemblera). Na wstępie zachęcam do zapoznania się z instrukcją modułu zawierającego mikrokontroler ATMega128, dodatkowy RAM (z zewnętrznym kontrolerem pamięci) oraz kontroler ethernetowy: MMnet02 (zwłaszcza opis działania kontrolera pamięci i metody podłączenia do wyświetlacza LCD - uświadamia też pewne aspekty działania PC) oraz z materiałami z zajęć na Wydziale Fizyki UW na temat sterowanie z wykorzystaniem komputera. Zachęcam też do zajrzenia do działu programowanie w C/C++ na mojej stronie. Potrzebne oprogramowanie i sprzęt:* mikrokontroler z podpiętym czymś do wejść oraz wyjść Kompilacja (programów w C dla AVR):Kompilujemy i linkujemy: Debugowanie, ...:O debugowaniu, dezasemblerowaniu i symulacji z wykorzystaniem narzędzi linuxowych napisałem w "Debugowanie (gdb)". Jednak opisany tam program do symulacji nie jest jeszcze idealny i może się zdarzyć że nie będzie działał poprawnie, drobne problemy miałem też z jtag. Wtedy pozostaje skorzystanie z Atmelowskiego "AVRStudio". Pakiet ten potrafi wczytać plik hex, dokonać jego dezasembleryzacji oraz symulować działanie tej aplikacji (zarówno softwarowo jak i w układzie docelowym (przez jtag)). Przy szukaniu błędów w programie uruchamianym już w układzie bardzo przydatny jest port szeregowy przez który program może podawać co aktualnie robi, a my możemy wpływać na jego działanie. Przykłady wykorzystania portu szeregowego można zobaczyć m.in. w moim projekcie "Sterownik ogrzewania akwariowego". Nut/OSJednym z projektów dotyczących programowania mikrokontrolerów jest dystrybuowany na zasadach licencji typu BSD system czasu rzeczywistego z stosem TCP/IP - Nut/OS. Poniżej zamieszczę krótki poradnik dotyczący wykorzystania tego systemu w wspomnianym wyżej module sieciowym Mmnet02.
ARMARM czyli Advanced RISC Machine jest zaawansowną 32-bitową architektórą procesorów (mikrokontrolerów). Procesory tego typu bardzo często wykorzystywane są w systemach wbudowanych, routerach sprzętowych, telefonach IP itp. Linki i moje projektyZachęcam także do zapoznania się z moimi projektami związanymi z programowaniem mikrokontrolerów: powiadamiacz o IM dla jabberd2 (AVR NutOS), sterownik ogrzewania (AVR), sterownik oświetlenia (AVR), centralka alarmowa, konwerter USB do RS232/RS485/8bit/OneWire/I2C/SPI. Zobacz w Sieci: programowanie mikrokontrolera ATmega32 (m.in. opis liczników, komparatora, ...), AVR-GCC w praktyce(m.in. opis kozystania z liczników, przewań, przetwornika, ...), radzio.dxp.pl, mikrokontrolery.net, easy - soft, P.Romaniuk, dr, adiunkt IE PL, AvrSide, MU_page, The uIP Embedded TCP/IP Stack, Klinux - embedded Linux, uClinux - Embedded Linux/Microcontroller Projec, Zbigniew Czaja - strona domowa, tutorial AVR, Laboratorium Robotyki IAPW - sekcja MindStorms | |
|
|
Copyright (c) 1999-2008, Robert Paciorek (http://www.opcode.eu.org/), BSD-type license
Redystrybucja wersji źródłowych i wynikowych, po lub bez dokonywania
modyfikacji JEST DOZWOLONA, pod warunkiem zachowania niniejszej informacji o
prawach autorskich. Autor NIE ponosi JAKIEJKOLWIEK odpowiedzialności za skutki
użytkowania tego dokumentu/programu oraz za wykorzystanie zawartych tu informacji.
This program is free software. Redistribution and use in source and binary
forms, with or without modification, ARE PERMITTED provided save this copyright
notice. This document/program is distributed WITHOUT any warranty, use at YOUR
own risk.
Dokument ten (URL: http://www.opcode.eu.org/mikrokontrolery)
należy do serwisu OpCode. Autorem tej strony jest Robert Paciorek,
wszelkie uwagi proszę kierować na adres e-mail serwisu: webmaster@opcode.eu.org.
Data ostatniej modyfikacji artykulu: 2008-01-15 19:33:12 (UTC) (data ta może być zafałszowana niemerytorycznymi modyfikacjami artykułu).