Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: Risto H. Kurppa - 16.03.08 - klo:19.44

Otsikko: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 16.03.08 - klo:19.44
Atmelin AVR-jupinoita olisi tarve jossain vaiheessa tehdä, mieluiten tietysti Linuxilla.

1) Löytyykö puuhaan jotain graafisia mokkuloita? Esim. KTechLab osaa ASM:ää kirjoitella ja exportata sen HEX:ksi, riittääkö se? En tosin saanut käännettyä mitään vaan herjailee kaikenlaista ikävää syntaxs errorista vaikka koodi on kopioitu mallista eli ei taida avr-asm:ia oikein ymmärtää..
2) Pitäisikö avrduden pystyä tämä sitten puskemaan piirille?
3) Ilmeisesti käytössä on rinnakaisporttiin iskettävä piuha jonka toisessa päässä on 6-päinen liitin (joista 5 liitetty piiriin). Kuulostaako tolkulta?

Eli lyhyesti: tästä puuhasta ei juuri ole kokemusta, AVR-ohjelmointi pitäisi olla riittävällä tasolla hallussa mutta tämä siirtopuoli on vielä mysteeri. Rinnakkais/sarjaporttia en ole koskaan Linuxissa kokeillutkaan :)

Jotain alustavaa settiä löytyy täältä: http://forum.ubuntu-fi.org/index.php?topic=1121.0

r

edit: tässä jotain linkkejä mitä aiheesta löysin, osittain myös muistiin:
http://www.linuxjournal.com/article/7289
http://paul.graysonfamily.org/thoughts/avrlinux/
http://www.isi.edu/~weiye/howto/avrtools.html
http://www.theiling.de/avr.html
http://electrons.psychogenic.com/modules/arms/art/7/AVRChipProgrammingwithLinux.php
http://electrons.psychogenic.com/modules/arms/art/2/AtmelAVRMicrocontrollerProjectswithLinux.php
http://electrons.psychogenic.com/modules/arms/art/6/SimulatingandDebuggingAVRprograms.php
http://rod.info/AVRMicro
Ohjelmointilauta: http://www.bsdhome.com/avrdude/


(huh, firefox syö vähän resursseja: 1.2G fyysistä muistia, koko virtuaali-imagen koko 1.6g, siis swap+fyysinen.. taitaa joku jossain jotain vuotaa..)
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: peran - 17.03.08 - klo:05.55
HEX file on valmis siirrettäväksi mikrokontrolleriin siirto-ohjelmalla suoraan. (Siis mikäli sitä tarkoitit)

Mikäli siis se toimii AVR:ssä yhtään samalla tavalla kuin PIC:ssä.

Suurin ongelmani on ollut löytää (siis PIC:ssä) ohjelman siirto-ohjelmaa, joka toimisi Linuxissa. AVR:ssä luulisi olevan helpompaa, kun siinä ohjelman siirtoon riittää JTAG-liitäntä.

No, PIC-mikrokontrollereille on loistava ohjelmointiympäristö Linuxissa. Tosin se on Assylle. Mutta gpasm-paketissa tuleva emulaattori pystyy emuloimaan kontrolleria reaalitilannetta nopeammin (ja tietenkin myös hitaammin), joten siinä on nopeus aivan toista luokkaa kuin Windows-puolella.
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 17.03.08 - klo:08.15
HEX file on valmis siirrettäväksi mikrokontrolleriin siirto-ohjelmalla suoraan. (Siis mikäli sitä tarkoitit)

Jep, sitä tarkoittanen että asm->hex->siirto kontrolleriin. Ilmeisesti UISP ja avrdude ovat tähän käypiä työkaluja kunhan oppii käyttämään rikkomatta kovin montaa piiriä.

Suurin ongelmani on ollut löytää (siis PIC:ssä) ohjelman siirto-ohjelmaa, joka toimisi Linuxissa. AVR:ssä luulisi olevan helpompaa, kun siinä ohjelman siirtoon riittää JTAG-liitäntä.

Joudut kohta kirjoittamaan itse?

No, PIC-mikrokontrollereille on loistava ohjelmointiympäristö Linuxissa. Tosin se on Assylle. Mutta gpasm-paketissa tuleva emulaattori pystyy emuloimaan kontrolleria reaalitilannetta nopeammin (ja tietenkin myös hitaammin), joten siinä on nopeus aivan toista luokkaa kuin Windows-puolella.

Jep, yhdet testitulokset näin missä oskilloskooppikorttia oli ajeltu PC:llä. Windowsissa valmistajan ajureilla datansiirtonopeus oli noin puolet siitä mitä Linuxissa - mutta WIndows oli tukehtua tähän, prosessori huuti 100% eli datan käsittely jäi myöhemmäksi. Linux taasen näytti CPU:lle 0%:aa eli reaaliaikaista käsittelyä ja analyysiä on tiedossa :)

r
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Iso D - 17.03.08 - klo:16.51
http://www.cs.hut.fi/Studies/T-106.530/2006/eclipse-avr.pdf

Siinä on ohjetta eclipsen asentamisesta avr-käyttöön ja myös tuosta ohjelman siirrosta.

Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 17.03.08 - klo:18.10
Lukemista UISP:llä harjoitellaan, sain raudan lainaan.

Tällä mennään:
Koodia: [Valitse]
sudo uisp -dprog=dt006 -dlpt=/dev/lp0 --download  -dpart=ATtiny2313 -v of=softa4.hex
ioctl PPCLAIM: Invalid argument
Failed to claim ppdev.

pp on käyty juuri biosista aktivoimassa, piiri on oikea, myös parametria -dt_reset=1000000 on kokeiltu jne. Ehdotuksia?
Lainaus
kurppa@lanka:~$ lsmod|grep lp
lp                     12580  0
parport                37448  3 ppdev,lp,parport_pc

edit: Toimii tällä rivillä (jätin pois pp:n määrittelyn): - ja piirisarjankin tunnistaa automaattisesti.. eikä verboseviestejäkään enää tarvitse kun toimii ja sudoakaan ei tarvita..
Koodia: [Valitse]
uisp -dprog=dt006 --download of=softa4.hex

Matkin mitä tuo HUT:n dokkari kertoi :)

Tämän jälkeen sitä koodailupuolta..

r
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: peran - 18.03.08 - klo:01.18
Suurin ongelmani on ollut löytää (siis PIC:ssä) ohjelman siirto-ohjelmaa, joka toimisi Linuxissa. AVR:ssä luulisi olevan helpompaa, kun siinä ohjelman siirtoon riittää JTAG-liitäntä.

Joudut kohta kirjoittamaan itse?

Ihan hyvä idea muuten, mutta en osaa Linuxilla tehdä suoraa HardWare-kutsua, jotta onnistuisin hallitsemaan täysin Comporttia, kun toi MikroBitin ohjelmointilaite käyttää 'luovasti' comporttia. Toista ohjelmointilaitetta en sitten olekaan saanut millään pelaamaan.

Sorsat on kyllä saatavilla tosta Mikrobitin ohjelmointilaitteesta, joten siten ohjelmointi olisi lieneen mahdollista myös omilla taidoillani, mutta toi suora hardis kosketus pitäisi jollakin tavalla saada tehdyksi, jotta saisi kokonaan comportin hallintaan, tai ainakin ongelma pitäisi jollakin tavalla osata kiertää.

Tiedän, että lirc:issä ko. on tehty, mutta en osaa/jaksa lukea sorsia, että ymmärtäisin miten se siinä tehdään. Onkohan kirjasuositusta, jossa opastettaisiin Linux Hardware ohjelmointiin?
Mielellään suomenkielistä, mutta englanninkielinenkin käyp.

Edit - koska puuhaat AVR:llä (joka onkin mukavampi piiri), niin löysin vahingossa mielenkiintoisen linkin. http://shop.tuxgraphics.org/electronic/microcontroller.html
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 18.03.08 - klo:07.10
Edit - koska puuhaat AVR:llä (joka onkin mukavampi piiri), niin löysin vahingossa mielenkiintoisen linkin. http://shop.tuxgraphics.org/electronic/microcontroller.html

Katsos mokomaa, kiitos linkistä!

r
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 18.03.08 - klo:10.14
Nyt on kirjoitusyritykset mnossa  ja näin sanoo:

Lainaus
kurppa@lanka:~/Desktop/avr$ uisp -dprog=dt006 --upload -v if=antinsoftab.hex
AVR Direct Parallel Access succeeded after 0 retries.
Atmel AVR ATtiny2313 is found.
Auto-Uploading: flash
#Error: Data polling readback status: write=0x0a read=0xff
If device was erased disable polling with the -dno-poll option.
kurppa@lanka:~/Desktop/avr$ uisp -dprog=dt006 --upload -dno-poll -v if=antinsoftab.hex
AVR Direct Parallel Access succeeded after 0 retries.
Atmel AVR ATtiny2313 is found.
Auto-Uploading: flash
#################################################################
(total 2048 bytes transferred in 25.42 s (81 bytes/s)
Mutta jälkimmäiselläkään sinne ei mene mitään toimivaa.. Voi olla että hex on väärän muotoista, Windowsin avrstudiolla tehtyä.

r
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: peran - 18.03.08 - klo:12.16
Mutta jälkimmäiselläkään sinne ei mene mitään toimivaa.. Voi olla että hex on väärän muotoista, Windowsin avrstudiolla tehtyä.

r

Ihan hatusta veikkaamalla. Katsoppas onko hex:ssasi DOS/Windows-rivinvaihdot. Veikkaan, ettei ne käy Linukassa riisumatta.
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 18.03.08 - klo:15.15
Näyttäisi siltä että UISP:a ei ole oikein vuoden 2005 jälkeen ylläpidetty ja mm. tiny2313 on sen kanssa temppuillut. JOku on jotain patcheja tehnyt mutten tiedän onko ne Ubuntun paketissa mukana joten siirryin avrdudeen jota kaikki suosittelevat. Ja tämä skulaa sarjaporttikytkennällä (dontronics):

Kirjoitus:
Koodia: [Valitse]
avrdude -p t2313 -c dt006 -U flash:w:harjoitus_ti.hex

Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 18.03.08 - klo:15.57
Lukeminenkin onnistuu!

Vaikka vähän on heksat väärässä järjestyksessä, toimii kuitenkin eli voin nyt lukea datat talteen piiriltä ja kirjoitella takaisin.

Koodia: [Valitse]
avrdude -p t2313 -c dt006 -U flash:r:harjoitus_ti_luettu.hex:i

Ja jopa sarjaporttikommunikaation sain CuteComilla toimimaan molempiin suuntiin (huom! siirtonopeus 9600bps). Ikänä ennen en Linuxilla ole sarja-tai rinnakkaisporttia käyttänyt (edes tulostamiseen) mutta tässä eilen ja tänään molempia.. Voi elämää..

r
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: peran - 18.03.08 - klo:16.01
Ja jopa sarjaporttikommunikaation sain CuteComilla toimimaan molempiin suuntiin. Ikänä ennen en Linuxilla ole sarja-tai rinnakkaisporttia käyttänyt (edes tulostamiseen) mutta tässä eilen ja tänään molempia.. Voi elämää..

Muista sitten, ettei sarja ja rinnanporttia ole terveellistä repiä irti/laittaa kiinni kone päällä. Siinä saattaa jotakin hajota.

Sillä tavalla ne siis eroavat nykyaikaisemmista porteista.
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 18.03.08 - klo:16.09
Seuraava haaste onkin saada ASM-> HEX ja mielellään vielä mahdollisuus käyttää simulaattorin kautta..
Noita C-kääntäjiä on liiaksikin mutta nyt on ASM ajankohtaisempi..

Repoista löytyvä simulavr saattaa olla ok simulointiin, pitää vaan lukaista ilmeisesti muussa kuin intel-hex -muodossa ohjelma flashista. Joku vain pölli laudan niin joutuu tekemään myöhemmin..

Ja kääntöä varten pitää jostain repäistä nuo 'speksit' piirille eli se .inc -tiedosto..


r
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Jiku - 23.03.08 - klo:12.41
Tästä aiheesta kun joku osaisi ja ehtisi tehdä ihan askel askeleelta-ohjeen kuvaruutukaappauksin niin olisi kova sana!
Mikro-ohjaimista kyllä löytyy suomeksikin netissä ihan kiitettävästi mutta tieto on pahasti hajallaan.

Tuota KtechLabia tullut muutama päivä opeteltua ja täytyy sanoa että on hyvin tehty ja helppo ohjelma.
Ohjelmalla pystyy ihan kaavioinakin piirtämään mikrokontrollerin ohjelman ja sitten piirtää kytkennän niin
voi simuloida myös.
Sitten varsinaisen kytkennän levylle voi piirtää vaikka KiCad:llä.
Pitää toivoa että KTechLabiin tulisi joskus vielä AVR:lle tuki myös!

Löytyy paljon hyviä ohjelmia elektroniikka/ universestä. Ainoa ongelma on sieltä osata valita itselleen sopivimmat.

Onko noille KiCadin .lib-kirjastoille mitään editointi-ohjelmaa?
Tekstitiedostojahan ne on ja kun ei ollut sopivaa piiriä valmiina niin sitten ihan tekstieditorilla sellaisen sinne
loin käyttäen olemassaolevan piirin tietoja pohjana.

Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 02.04.08 - klo:12.38
Osaako joku vinkata millä ilveellä saa käännettyä koodia hexaksi linux-ympäristössä, eli mukaan tarvitsisi niitä includattavia kirjastoja..

r
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: peran - 02.04.08 - klo:20.05
Osaako joku vinkata millä ilveellä saa käännettyä koodia hexaksi linux-ympäristössä, eli mukaan tarvitsisi niitä includattavia kirjastoja..

Oletkohan kokeillut ihan GCC:tä. Itse en ole, mutta man-sivujen mukaan sieltä löytyi ainakin joitakin avr:n prosessoreita.

Edit - ei tosiaan löytänytkään oletuksena .inc-tiedostoja avr:lle.  :(
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 02.04.08 - klo:23.00
Pitää tutkia. incit saatan voida pölliä Windows-puolelta.. toivottavasti..

r
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 03.04.08 - klo:11.01
totta, gcc:n manista löytyy AVR-jupinoita:

Lainaus
       AVR Options

       These options are defined for AVR implementations:

       -mmcu=mcu
           Specify ATMEL AVR instruction set or MCU type.

           Instruction set avr1 is for the minimal AVR core, not supported by the C compiler, only for assembler pro‐
           grams (MCU types: at90s1200, attiny10, attiny11, attiny12, attiny15, attiny28).

           Instruction set avr2 (default) is for the classic AVR core with up to 8K program memory space (MCU types:
           at90s2313, at90s2323, attiny22, at90s2333, at90s2343, at90s4414, at90s4433, at90s4434, at90s8515, at90c8534,
           at90s8535).

           Instruction set avr3 is for the classic AVR core with up to 128K program memory space (MCU types: atmega103,
           atmega603, at43usb320, at76c711).

           Instruction set avr4 is for the enhanced AVR core with up to 8K program memory space (MCU types: atmega8,
           atmega83, atmega85).

           Instruction set avr5 is for the enhanced AVR core with up to 128K program memory space (MCU types: atmega16,
           atmega161, atmega163, atmega32, atmega323, atmega64, atmega128, at43usb355, at94k).

       -msize
           Output instruction sizes to the asm file.

       -minit-stack=N
           Specify the initial stack address, which may be a symbol or numeric value, __stack is the default.

       -mno-interrupts
           Generated code is not compatible with hardware interrupts.  Code size will be smaller.

       -mcall-prologues
           Functions prologues/epilogues expanded as call to appropriate subroutines.  Code size will be smaller.

       -mno-tablejump
           Do not generate tablejump insns which sometimes increase code size.

       -mtiny-stack
           Change only the low 8 bits of the stack pointer.

       -mint8
           Assume int to be 8 bit integer.  This affects the sizes of all types: A char will be 1 byte, an int will be 1
           byte, an long will be 2 bytes and long long will be 4 bytes.  Please note that this option does not comply to
           the C standards, but it will provide you with smaller code size.


r
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 03.04.08 - klo:11.39
mutta mur konsanaan:
Lainaus käyttäjältä: asiantuntija
Pikaisen googlaamisen perusteella näyttäisi siltä, että tuossa normaalisti
käytetään gcc:tä c->hex käännöksiin. gcc on myös assembler kääntäjä ja gcc
generoi aina välituloksena assembler koodia. Homman pitäisi toimi
kutakuinkin näin myös tuossa ympäristössä:

<CLIP>
wow-2:/tmp$ cat demo.c
#include <stdio.h>
int main(int argc, char *argv) {
       printf("%d\n",argc+12345);
       return 0;
}
wow-2:/tmp$ gcc -S -O demo.c
wow-2:/tmp$ cat demo.s
       .file   "demo.c"
       .section        .rodata.str1.1,"aMS",@progbits,1
.LC0:
       .string "%d\n"
       .text
.globl main
       .type   main, @function
main:
       leal    4(%esp), %ecx
       andl    $-16, %esp
       pushl   -4(%ecx)
       pushl   %ebp
       movl    %esp, %ebp
       pushl   %ecx
       subl    $20, %esp
       movl    (%ecx), %eax
       addl    $12345, %eax
       movl    %eax, 4(%esp)
       movl    $.LC0, (%esp)
       call    printf
       movl    $0, %eax
       addl    $20, %esp
       popl    %ecx
       popl    %ebp
       leal    -4(%ecx), %esp
       ret
       .size   main, .-main
       .ident  "GCC: (GNU) 4.1.2 20070626 (Red Hat 4.1.2-13)"
       .section        .note.GNU-stack,"",@progbits
wow-2:/tmp$ gcc demo.s -o demo
wow-2:/tmp$ ./demo
12346
wow-2:/tmp$
</CLIP>

Eli pistät assemblerisi (gcc:n ymmärtämässä syntaksissa, mikä ei
välttämättä ole sama syntaksi kuin prossun manuaaleissa) .s tiedostoon ja
käännät gcc:llä. gcc:llä asssemblerin voi upottaa myös suoraan
.c-tiedostoon sekaan jollain gcc-spesifisillä kikoilla, joita en nyt jaksa
muistaa ulkoa. Yksi yleisesti käytetty tapa on kirjoittaa koodi C:llä,
kääntää assyksi ja vasta sitten optimoida generoitua assya käsin.

Onko oikeesti näin nihkeetä että perus-asmia ei pysty kääntämään suoraan hexaksi. En usko..

r
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 03.04.08 - klo:11.56
Nyt löytyi tällainen:
http://cadmaniac.org/projectMain.php?projectName=kontrollerlab

Löytyy jopa debbinä: http://sourceforge.net/project/showfiles.php?group_id=177228&package_id=215807



Ja kylkeen vielä sekalaisia linkkejä:
http://avr32linux.org/twiki/bin/view
http://www.avrfreaks.net/wiki/index.php/Main_Page (ja koko avrfreaks, myös keksustelualue)
http://www.atmel.no/beta_ware/

Ja avrstudio 2:sta on windows-release candidate olemassa. Kun stable tuele, myös linux-versio julkaistaan:
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=60868&highlight=linux+assembly
r

edit: tuo avrstudio onkin avrstudio32 eli ilmeisesti vähän tiny2313:a järeämmille prossuille..
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 03.04.08 - klo:12.24
Nyt löytyi tällainen:
http://cadmaniac.org/projectMain.php?projectName=kontrollerlab

Löytyy jopa debbinä: http://sourceforge.net/project/showfiles.php?group_id=177228&package_id=215807

Jep, hyvältä näyttää: IDE/frontend jossa kirjoitellaan koodi, debugataan, käännellään ja lähetellään kontrollerille. Toistaiseksi homma kaatuu sen .inc -tiedoston puuttumiseen. Pitää katsella löytyykö joku virallinen tapa kaivaa se jostain vai käsin windowsilta tms..

edit: Täältähän nuo löytyvät: http://www.attiny.com/definitions.htm

[ylläpito on poistanut liitteen]
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 04.04.08 - klo:11.03
Hirveää herjaa heittää jostain syystä tuo kontrollerlab kun yrittää kääntää, jostain syystä vetelee herneet nenään tuosta tn2313def.inc -tiedostosta..
Koodia: [Valitse]
kurppa@lanka:~/Desktop/datat/avr/kontrollerlab_testi$ avr-gcc -mmcu=attiny2313 -O0 -c kokeilu.s -o kokeilu.o
tn2313def.inc: Assembler messages:
tn2313def.inc:47: Error: unknown pseudo-op: `.device'
tn2313def.inc:49: Error: expected comma after "SIGNATURE_000"
tn2313def.inc:50: Error: expected comma after "SIGNATURE_001"
tn2313def.inc:51: Error: expected comma after "SIGNATURE_002"
tn2313def.inc:61: Error: expected comma after "SREG"

ja lisää löytyy osoitteesta http://pastebin.com/m436c8ebf

avrstudion ajamisesta Linuxilla on keskusteltu (ja ainain 2006 myös onnistuttu) täällä:http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=41478

r
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 07.04.08 - klo:09.27
Laitoin avrfreaksiin kyssäriä tuosta herjasta: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=62226


r

Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 08.04.08 - klo:09.40
avrfreaksissa kevyttä vääntöä.

Tällainen ilmeisesti tekee mitä haluan, pitää vielä jossain välissä koittaa siirtää ja kokeilla toimiiko tuo oikeasti..

http://www.avr-asm-tutorial.net/gavrasm/index_en.html

esimerkiksi:
Koodia: [Valitse]
./gavrasm harjoitus_ti.asm
+------------------------------------------------------------+
| gavrasm gerd's AVR assembler Version 2.1 (C)2006 by DG4FAC |
+------------------------------------------------------------+
Compiling Source file: harjoitus_ti.asm
-------
Pass:        1
Line: 1
Warning 009: Include defs not necessary, using internal values!
  File: harjoitus_ti.asm, Line: 1
  Source line: .INCLUDE "tn2313def.inc"
272 lines done.

Pass 1 ok.
-------
Pass:        2
Line: 1
Warning 009: Include defs not necessary, using internal values!
  File: harjoitus_ti.asm, Line: 1
  Source line: .INCLUDE "tn2313def.inc"
272 lines done.


122 words code, 0 words constants, total=122 = 11.9%

One warning!
Compilation completed, no errors. Bye, bye ...

Tuo varoitus tulee siitä että deffejä ei muka tarvita, tyyppi tunnistetaan DEVICE-riviltä ja ilmeisesti ohjelmaan on upotettu nämä deffit. Maagista. Hienoa jos toimii, katsotaan miten käy.


r
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 08.04.08 - klo:17.14
gavrasmille seuraavasta miinus:
Lainaus
- Copyright for all versions: (C)2002..2005 by Gerhard Schmidt
- Free use of the source code and the compiled versions for non-
  commercial purposes. Distribution allowed if the copyright
  information is included.

Ilmeisesti avra osaa saman. Tosin huomasin mm. että sen dokumentaatioissa taas sanotaan että mm. viittauksia eteenpäin ei sallita. Mur konsanaan.


r
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 14.04.08 - klo:17.43
Jepujee, ei hassummin, sain ensimmäistä kertaa koko workflown
Koodia: [Valitse]
kurppa@lanka:~/Desktop/datat/koulu/digiele/avr/lcd_ohjaus$ gavrasm lcd_test.asm
+------------------------------------------------------------+
| gavrasm gerd's AVR assembler Version 2.1 (C)2006 by DG4FAC |
+------------------------------------------------------------+
Compiling Source file: lcd_test.asm
-------
Pass:        1
Line: 1
Warning 009: Include defs not necessary, using internal values!
  File: lcd_test.asm, Line: 1
  Source line: .include "tn2313def.inc"
472 lines done.

Pass 1 ok.
-------
Pass:        2
Line: 1
Warning 009: Include defs not necessary, using internal values!
  File: lcd_test.asm, Line: 1
  Source line: .include "tn2313def.inc"
Line: 472
Warning 004: Number of bytes on line is odd, added 00 to fit program memory!
  File: lcd_test.asm, Line: 472
  Source line: start2:  .DB  "15. 3. 2008 ", 0x00
472 lines done.

Warning 001: 9 symbol(s) defined, but not used!


203 words code, 13 words constants, total=216 = 21.1%

3 warnings!
Compilation completed, no errors. Bye, bye ...

kurppa@lanka:~/Desktop/datat/koulu/digiele/avr/lcd_ohjaus$ avrdude -p t2313 -P /dev/ttyS0 -c stk500v2 -U flash:w:lcd_test.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e910a
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "lcd_test.hex"
avrdude: input file lcd_test.hex auto detected as Intel Hex
avrdude: writing flash (454 bytes):

Writing | ################################################## | 100% 0.69s

avrdude: 454 bytes of flash written
avrdude: verifying flash memory against lcd_test.hex:
avrdude: load data flash data from input file lcd_test.hex:
avrdude: input file lcd_test.hex auto detected as Intel Hex
avrdude: input file lcd_test.hex contains 454 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.58s

avrdude: verifying ...
avrdude: 454 bytes of flash verified

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

kurppa@lanka:~/Desktop/datat/koulu/digiele/avr/lcd_ohjaus$
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: sikakraa - 16.04.08 - klo:12.00
Vaikka ymmärtääkseni taisit onnistua mitä olitkin tekemässä...
...Seuraavan linkin takaa pitäisi löytyä hieman lisämateriaalia tuota avr-puuhastelua varten.

http://www.elisanet.fi/~d632954/avr/index.html
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 16.04.08 - klo:12.28
Kiitos vinkkilinkkivinkistä! Pistin mailia tekijälle muutamaan juttuun liittyen.

r
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 16.04.08 - klo:17.12
Tähän väliin jos joku osaisi sanoa jonkin koodailutyökalun joka osaisi luetella aliohjelmat listana ja siitä klikkaamalla editori hyppäisi ko. aliohjelmaan.. Kuten esim. Kile tekee Latexille.

r
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 28.04.08 - klo:12.05
Tälläviisiin saa lukaistua MC:n asetukset, fuset jne:

Koodia: [Valitse]
avrdude -p t2313 -P /dev/ttyS0 -c stk500v2 -t

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude: Device signature = 0x1e910a
avrdude> part
>>> part

AVR Part              : ATtiny2313
Chip Erase delay      : 9000 us
PAGEL                 : PD4
BS2                   : PD6
RESET disposition     : possible i/o
RETRY pulse           : SCK
serial program mode   : yes
parallel program mode : yes
Timeout               : 200
StabDelay             : 100
CmdexeDelay           : 25
SyncLoops             : 32
ByteDelay             : 0
PollIndex             : 3
PollValue             : 0x53
Memory Detail         :

                         Block Poll               Page                       Polled
  Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
  ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
  eeprom        65     6     4    0 no        128    4      0  4000  4500 0xff 0xff
  flash         65     6    32    0 yes      2048   32     64  4500  4500 0xff 0xff
  signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
  lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
  lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
  hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
  efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
  calibration    0     0     0    0 no          2    0      0     0     0 0x00 0x00

avrdude>

ja jotain vinkkejä fusesäätöön:
http://www.nongnu.org/avrdude/user-manual/avrdude_8.html#SEC8
http://electrons.psychogenic.com/modules/arms/art/14/AVRFusesHOWTOGuide.php

r
Otsikko: Vs: AVR ja muu mikropiiriohjelmointi
Kirjoitti: Risto H. Kurppa - 28.04.08 - klo:15.23
Tällä käännetty käyttämään ulkoista 10MHz oskillaattoria

Koodia: [Valitse]
avrdude -p t2313 -P /dev/ttyS0 -c stk500v2 -t

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e910a
avrdude> d lfuse
>>> d lfuse
0000  e4                                                |.               |

avrdude> w lfuse 0 0x6f
>>> w lfuse 0 0x6f

avrdude> d lfuse
>>> d lfuse
0000  6f                                                |o               |

avrdude> q
>>> q

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

kurppa@lanka:~/Desktop/datat/koulu/digiele/avr/lcd_ohjaus$