Blinkentree
Prometheus (Talk | contribs) (→How to programm it on your own?) |
(→Installing and confguring the tools) |
||
Line 27: | Line 27: | ||
This section describes what you need to program the chip. First you need the toolchain with the compiler which translates your program text into bits and bytes that the controller can execute. We are using the GCC compiler which is part of the [http://winavr.sourceforge.net WinAVR] (Windows) and [http://www.obdev.at/products/crosspack/index-de.html CrossPack-AVR] (Mac). | This section describes what you need to program the chip. First you need the toolchain with the compiler which translates your program text into bits and bytes that the controller can execute. We are using the GCC compiler which is part of the [http://winavr.sourceforge.net WinAVR] (Windows) and [http://www.obdev.at/products/crosspack/index-de.html CrossPack-AVR] (Mac). | ||
− | If you use Windows download [http://sourceforge.net/projects/winavr/files/WinAVR/20100110/WinAVR-20100110-install.exe/download WinAVR] and follow the installtion guide. When the installater asks to make an entry in the PATH variable be sure this is checked. If you don't use a mac you can go to the | + | If you use Windows download [http://sourceforge.net/projects/winavr/files/WinAVR/20100110/WinAVR-20100110-install.exe/download WinAVR] and follow the installtion guide. When the installater asks to make an entry in the PATH variable be sure this is checked. If you don't use a mac you can go to the [https://www.hackerspace.lu/wiki/Blinkentree#Coding coding section]. |
For a mac you have to download [http://www.obdev.at/downloads/crosspack/CrossPack-AVR-20100115.dmg CrossPack AVR]. The toolchain is installed into /usr/local/CrossPack-AVR <ref>/usr/local/CrossPack-AVR is just a symbolic link to /usr/local/CrossPack-AVR-20100115 or something like that.</ref>. Have a look if the installer did add an entry to the PATH variable by typing the following line in your shell (Terminal): | For a mac you have to download [http://www.obdev.at/downloads/crosspack/CrossPack-AVR-20100115.dmg CrossPack AVR]. The toolchain is installed into /usr/local/CrossPack-AVR <ref>/usr/local/CrossPack-AVR is just a symbolic link to /usr/local/CrossPack-AVR-20100115 or something like that.</ref>. Have a look if the installer did add an entry to the PATH variable by typing the following line in your shell (Terminal): | ||
Line 35: | Line 35: | ||
If it doesn't contain ''/usr/local/CrossPack-AVR/bin'' execute this in your shell: | If it doesn't contain ''/usr/local/CrossPack-AVR/bin'' execute this in your shell: | ||
<pre>echo -e " \n \n export PATH=/usr/local/CrossPack-AVR/bin:$PATH" >> ~/.profile</pre> | <pre>echo -e " \n \n export PATH=/usr/local/CrossPack-AVR/bin:$PATH" >> ~/.profile</pre> | ||
− | |||
− | |||
Revision as of 21:03, 6 December 2010
UNDER CONSTRUCTION
Blinkentree | |
---|---|
Meetings: | none |
Type: | hardware
|
Status: | running |
Members: | |
Contact Person: | slopjong (mail), prometheus (mail) |
Tools | |
QrCode: |
"File:" cannot be used as a page name in this wiki.
Contents |
Introduction
What is this flashing green fir tree about?
As creative hackers, we thought it would be necessary to support the Christmas market of the commune of Strassen with something tiny, but creative. Result? The Blinkentree. Obviously it represents a green fir tree that is dorned with flashing LEDs which should represent the baubles of a 'real' tree.
A big thanks to all of you folks who purchsed a Blinkentree and thus supporting syn2cat Hackerspace.
Hacky Christmas!
How to program it on your own?
We designed our Blinkentree in a way you can customize it by yourself. You can define your own flashing patterns using the C language that you can transfer to your chip using the USBasp programmer.
Installing and confguring the tools
This section describes what you need to program the chip. First you need the toolchain with the compiler which translates your program text into bits and bytes that the controller can execute. We are using the GCC compiler which is part of the WinAVR (Windows) and CrossPack-AVR (Mac).
If you use Windows download WinAVR and follow the installtion guide. When the installater asks to make an entry in the PATH variable be sure this is checked. If you don't use a mac you can go to the coding section.
For a mac you have to download CrossPack AVR. The toolchain is installed into /usr/local/CrossPack-AVR [1]. Have a look if the installer did add an entry to the PATH variable by typing the following line in your shell (Terminal):
echo $PATH
If it doesn't contain /usr/local/CrossPack-AVR/bin execute this in your shell:
echo -e " \n \n export PATH=/usr/local/CrossPack-AVR/bin:$PATH" >> ~/.profile
Coding
#include <avr/io.h> #include <util/delay.h> int main(void) { // configure the ports as outputs DDRD = 0xFF; DDRB = 0xFF; while(1) { PORTB = 255; PORTD = 0; _delay_ms(400); PORTB = 0; PORTD = 255; _delay_ms(400); } }
Compiling and linking
After you're done with the programming, the code must be translated into machine code that can be executed by the microcontroller.
avr-gcc -Wall -Os -std=c99 -DF_CPU=1000000 -mmcu=attiny2313 -c main.c -o main.o avr-gcc -Wall -Os -std=c99 -DF_CPU=1000000 -mmcu=attiny2313 -o main.elf main.o avr-objcopy -O ihex -R .eeprom main.elf main.hex
You can use the compile.sh script.
Setting the fuse bits
Before the compiled code can be loaded into the microcontroller it has to be configured first. This is done by setting the fuse bits. Thus you execute the following line:
sudo avrdude -cUSBasp -p t2313 -U lfuse:w:0x64:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m
There are three fuse bytes ( = 24 bits in total). collection of bits stands for a base or a module configuration (Fuse Bits, page 160). Use the fusecalc to be sure to have the right ones.
Flashing the microcontroller
sudo avrdude -c USBasp -p t2313 -U flash:w:main.hex -v -F
References
Footnotes
- ↑ /usr/local/CrossPack-AVR is just a symbolic link to /usr/local/CrossPack-AVR-20100115 or something like that.