Atmega32 i Arduino — Rozwiazane

Atmega32 i Arduino — Rozwiazane
Razem głosów: 2 co stanowi: 80% całości.

m32

Teraz troch? informacji o sposobie dzia?ania:


Bootloader :

 

— zosta? zmodyfikowany w stosunku do orygina?u i zoptymalizowany dla procesora M32

— pracuje z kwarcem 16Mhz

— 19200 bps transmisja z FTDI

FUSEBITY:

HI-FUSE = 0xD8 

LO-FUSE = 0xFF


— Ustawienie ext-osc 16Mhz i 2048bit bootloader section

— po wgraniu bootloadera nale?y ustawi? LOCK BIT na warto?? 0x0F

    co uniemo?liwi samoczynne wykasowanie bootloadera


Plik bootloadera do pobrania : ATmegaBOOT_32.hex

 


INTEGRACJA:

 

Do skompilowania programu pod ?rodowiskiem Arduino potrzebny jest odpowiedni wpis w pliku

BORADS.TXT oraz odpowiedni folder CORE ze zmienionymi plikami pod procesor ATMega32


— BOARDS.TXT

 

Plik ten pozwala ?rodowisku ARDUINO rozpozna? procesor oraz wykonywa? na nim operacje

 

zawarte we wpisach informacje s? powi?zane z plikami CORE oraz bootloaderem,

wi?c nie powinny by? zmieniane.

Nie w?a?ciwe zmiany wpisów mog? spowodowa? brak komunikacji z procesorem,

nie mo?liwo?? rozpoznania zastosowanego mikrokontrolera , ilo?ci pami?ci czy sposobu

komunikacji z bootloaderem oraz brak mo?liwo?ci kompilowania programu,

czy zablokowanie procesora.

Na ko?cu naszego pliku BOARDS.TXT (lokalizacja : ARDUINO/hardware/arduino)

Od tej pory w menu tools -> boards b?dzie dost?pna p?ytka Sunduino_Mega32 umo?liwiaj?c

programowanie i kompilacj? oraz wgrywanie programu do ATMegi32 w ?rodowisku ARDUINO.

 

— FOLDER CORE

 

Pliki zawarte w tym folderze umo?liwiaj? ?rodowisku ARDUINO przet?umaczenie kodu programu

z C++ na C dla kompilatora WinAVR oraz utworzenie pliku wynikowego HEX i zaprogramowanie

procesora poprzez bootloader.

Dodatkowo w folderze CORE dla Megi32 zawarte s? mapy pinów odpowiedzialne za przypisanie

funkcjom ARDUINO, dost?p do zasobów procesora oraz ich odpowiednie przypisanie,

które omówi? za chwil?.

 

FOLDER CORE POBIERAMY ST?D:

Mega32_CORE


P
obrany plik m32.rar rozpakowujemy i uzyskany folder m32 kopiujemy do:

arduino/hardware/arduino/cores/

Teraz mo?emy ju? uruchomi? ?rodowisko ARDUINO i wybra? p?ytk? SunDuino_Mega32,

a nastepnie za?adowa? przyk?adowy plik

BLINK.pde

i skompilowa? dla procesora mega32 ikonka VERIFY.  

Je?li wszystko zrobili?my prawid?owo poka?e si? nam napis

 

Compiling DONE

To tyle je?li chodzi o cz??? programow? teraz zajmijmy si? cz??ci? sprz?tow? by cieszy? si? z dost?pnych:


27 portów I/O Digital

6 portów Analog IN

3 kana?ów PWM

oraz sprz?towych

USART

SPI

I2C

ponad to:

30KB dostepnej pami?ci FLASH

2KB pamieci SRAM

1KB pamieci EEPROM


—– SPRZ?T :

 

Bootloader i CORES testowa?em w p?ytce EVB ZL3AVR,

która umo?liwia u?ycie procesorów w obudowach DIP40 oraz z zewn?trznym uk?adem EM-USB 01

Zachowanie prawid?owe wszystkie przyk?adowe programy ze ?rodowiska ARDUINO dzia?aj? prawid?owo


MAPA PRZYPISA? PINÓW ARDUINO DO ATMegi32 

pinmap

Jak wida? nie wszystkie piny ATMegi32 zosta?y u?yte zarówno z Portu A jak i Portu B, to dlatego, ?e dla testu chcia?em zrobi? jak najwi?ksz? zgodno?? z ARDUINO,  i niebawem zaprezentuj? now? p?yt? SunDuino posiadaj?c? mo?liwo?? pracy zarówno z uk?adami w DIP28  czyli  ATmega 8/88/168/328 jak i uk?adami w obudowie DIP40 czyli ATmega 16/32/324/644, która b?dzie zgodna z uk?adem wyprowadze? Arduino + dodatkowe piny.


PROBLEMY :

 

BOOTLOADER dzia?a prawid?owo po resecie programowym z poziomu ?rodowiska ARDUINO po wgraniu programu natychmiast przechodzi do jego wykonywania , jest to zaleta bo nie trzeba czeka? na prze?adowanie, niestety po resecie sprz?towym (przyciskiem) nie przechodzi do programu pozostaje ca?y czas na nas?uchiwaniu transmisji , to jedyny k?opot jaki mam w tej chwili z M32 i mam nadziej? ?e uda mi si? usun?? t? nie dogodno?? niebawem z bootloadera. Co ciekawe po od??czeniu zasilania przechodzi do programu bez problemu.

 

Je?li macie jakie? sugestie i pytania piszcie .

Zapraszam do testów oprogramowania i komentowania.

Podziel się na:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay

3 myśli nt. „Atmega32 i Arduino — Rozwiazane

  1. Mam problem zrobiłem jak wyżej: bottloader wgrany natomiast program się nie kompiluje, srodowisko 1.0.5 z przegranymi plikami zgodnie z instrukcja
    jesteście cos w stanie powiedzieć gdzie lezy przyczyna?

    Blink.ino:10:21: error: Arduino.h: No such file or directory
    Blink.ino: In function ‚void setup()’:
    Blink:15: error: ‚OUTPUT’ was not declared in this scope
    Blink:15: error: ‚pinMode’ was not declared in this scope
    Blink.ino: In function ‚void loop()’:
    Blink:20: error: ‚HIGH’ was not declared in this scope
    Blink:20: error: ‚digitalWrite’ was not declared in this scope
    Blink:21: error: ‚delay’ was not declared in this scope
    Blink:22: error: ‚LOW’ was not declared in this scope

  2. Witam.
    Niestety przy próbie pobrania pliku m32.rar dostaje błąd: „Not Found”. Proszę o weryfikację „linki”.
    Pozdrawiam.

Możliwość komentowania jest wyłączona.