AVR on Linux – 2 Atmega8 හඳුනාගැනීම

1

Posted by chanakalin | Posted in AVR micocontrollers, AVR on Linux, Linux | Posted on 21-11-2012

Tags: , ,

මුලින්ම Atmega8 හඳුනගන්න Datasheet එක ඩවුන්ලෝඩ් කරගන්න. සාමාන්‍යයෙන් ඕනෙම මයික්‍රොකන්ට්‍රෝලරයකට වගේ power දෙන්න පින් දෙකයි, reset පින් එකයි තියනව. ආයෙ oscillator එකට external oscillator එකක් හරි crystal එකක් හරි කනෙක්ට් කරනවනම් ඒකට පින් දෙකයි කියනව. Atmega8 වල 1Mhz internal oscillator එකකුත් තියනව. ඕනෙනම් ඒක පාවිච්චි කරන්නත් පුළුවන්. Reset පින් එක pull up resistor(10K වගේ) එකක් දාල 5V supply එකට සම්බන්ධ කරන්න ඕනෙ. Reset කරන්න ඕනෙ උනාම ඒක ground කරන්න ඕනෙ. පහල තියන රූපයෙ මූලිකව කරන්න ඕනෙ සම්බන්ධ කිරීම් ගැන තියනව. මමනම් මෙතන 8Mhz crystal එකක් සම්බන්ධ කරලයි තියෙන්නෙ.

Atmega8 වල I/O port තුනක් තියනව PORTB,PORTC,PORTD කියල. PORTB වලට PB0 – PB7 චක්වා පින් අටකුත් (PB6,PB7 I/O පින් විදියට පාවිච්චි කරන්න ඕනෙනම් Internal oscillator එක පාවිච්චි කරන්න වෙනව. External oscillator එකක් හරි crystal එකක් හරි සම්බන්ධ කරන්න වෙන්නෙ ඒවට), PORTC වලට PC0 – PC6 දක්වා පින් 7කුත් (PB6 Reset පින් එක විදියට වැඩ කරන්නෙ ඒක I/O පින් එකක් කරන්න පුළුවන් ඕනෙනනම්), PORTD වලට PD0-PD7 චක්වා පින් 8කුත් තියනව.  මේකෙ තියන මූලික පහසුකම් ගත්තොත් 10 bit ADC, PWM, I2C, SPI, USART, 8K flash,512bytes EEPROM, 1K SRAM, Enternal/Internal interrupts තියනව. තව 16MHz දක්වා වේගයකින් වැඩ කරන්න පුළුවන්.

AVR එක්ක වැඩ කරද්දි වැදගත්ම දෙයක් තමයි FUSE bits කියන්නෙ. කොටින්ම වැඩ කරනවනද නැද්ද කියල තියෙන ප්‍රධානම සාධකයක්. ඊලඟ ලිපියෙන් FUSE bits ගැනයි ප්‍රොග්‍රෑමර් එකට සම්බන්ධ කරන්නෙ කොහොමදයි කියල කියන්නම්.

AVR on Linux – 1 හැඳින්වීම

0

Posted by chanakalin | Posted in AVR micocontrollers, AVR on Linux, Linux | Posted on 21-11-2012

Tags: , ,

කාලෙකට පස්සෙ මේ පැත්තෙ එන්න ලැබුනෙ. කට්ටිය දන්නවනෙ AVR කියන්නෙ Microchip සමාගමේ PIC වගේ  Atmel සමාගමෙන් නිෂ්පාදනය කරන මයික්‍රොකන්ට්‍රෝලර් පෙලක් කියල. අද මම කියන්න යන්නෙ ලිනක්ස් මෙහෙයුම් පද්ධතියකදී කොහොමද AVR එකක් ප්‍රෝග්‍රෑම් කරන්නෙ කියල. Arduino බොර්ඩ් වලට පාවිච්චි කරන්නෙත් AVR මයිකෝකන්ට්‍රෝලර්ස් (හැබැයි ලඟදි ආව Arduino Due නම් ARM :P). මම මේකට තෝරගත්තෙ Atmega8A මයික්‍රොකන්ට්‍රෝලරය. මුලින්ම AVR ඉගෙනගන්න යන කෙනෙකුට Atmega8 නියමෙටම ගැලපෙනව. මිලත් රැ.300කට ආසන්නව වගේ තියෙන්නෙ.  මේකෙ පහසුකම් එක්ක බලද්දි මිලට වඩා ලොකු වටිනාකමක් තියනව. ප්‍රෝග්‍රෑමර් එකට මම පාවිච්චි කලේ USBasp එකක් (Lankatronicsල ගාව මේක තියනව).

මෘදුකාංග ගැන ගත්තොත් compiler එක විදියට මම පාවිච්චි කරන්නෙ avr-gcc. Tool set එක ගැනම විස්තරයක් http://savannah.nongnu.org/projects/avr-libc/ වල තියනව. Burn කරන්න පාවිච්චි කලේ AVRDude. IDE එකක් පාවිච්චි කරන්න ඕනෙනම් Eclipse වලට plugin එක දාගත්තම හරි. හැබැයි මම නම් පාවිච්චි කලේ එඩිටර් එක විදියට Gedit එකයි සමහර වෙලාවට Vim එකයි එක්ක Gnome terminal.

මෘදුකාංග Install කරගන්න Hanthana linux හරි , fedora හරි පාවිච්චි කරනවනම් මුලින්ම terminal එක ඕපන් කරගෙන su කමාන්ඩ් එක දීල root විදියට ලොග් වෙන්න. ඊට පස්සෙ  yum install gcc-avr binutils-avr avr-libc avrdude රන් කරන්න. Ubuntu හරි Lankanet Linux හරි පාවිච්චි කරනවනම් sudo apt-get install gcc-avr binutils-avr avr-libc avrdude කමාන්ඩ් එක terminal එකේ රන් කරන්න. දැං පටාන් ගන්නයි තියෙන්නෙ.  ඊලඟ පෝස්ට් එකෙන් වැඩ පටන් ගනිමු. මේක PIC on Linux වගේ නවත්තන්නෙ නෑ. ඒක තවත්තන්න වුනේ මම PIC අතෑරල AVR  වලට මාරු වුණ නිසා. ඒකට හේතුවනම් MPLAB X තුන් පාරක් ඩවුන්ලෝඩ් කරන්න ගිහිල්ලත් අන්තිම 10MB විතර ඩවුන්ලෝඩ් වෙන්නෙ නැතිව වැඩේ දෙල් වීමයි PIC ඉගෙනගන්න ඕනෙ කියපු යාළුවෙකුට PicKit 2 එක දීමයි. එයා PIC ඉගෙනගත්ත දවසට එයාටම කියල PIC ගැන පටන් ගන්නම්. මොකද මට වඩා දෙයක් වෙන කෙනෙකුට දෙයක් තේරෙන්න කියල දෙන්න එයාට පුළුවන්.