AVR -mikrokontrollerin ohjelmointi(-laite) ?

ns. pöytä -PC:llä AVR:n ohjelmointi, eli siis PC:llä olevan .hex -tiedoston siirto AVR:n sisäiseen FLASH -muistiin ei juuri sen ihmeellisempää ohjelmointilaitetta tarvitse, vaan olen itse käyttänyt omatekoista kaapelia tietokoneen LPT1 -portin ja mikrokontrollerin välillä sekä avrdude -ohejlmaa linuxissa.

avrdude toki tarvitsee LPT1 -portin käyttöoikeudet, eli joko ajetaan pääkäyttäjänä tai jos haluaa ajaa normaalikäyttäjänä (tietoturvamielessä parempi niin), niin ohjeet siitä, miten saa toimimaan normaalikäyttäjänä:

http://keskustelu.suomi24.fi/node/11077043

Pöytä -PC:llä (jossa on LPT1 -portti) ylläoleva ratkaisu toimii ihan hyvin, joten sellaisen omistajalle tuo ylläoleva riittääkin.

MUTTA:

Entä, kun käytössä on modrni kannettava, josta ei löydy sen paremmin LPT1 kuin perinteistä sarjaporttiakaan ( joka olisi 9-nastainen D -liitin, sunniteltu toimimaan RS232 -protokollalla, usein nimellä COM1 ) ?

Eli, jos koneessa ainoat portit ovat USB 2.0 -standardin mukaisia ?

Mikä neuvoksi ?

Saako jostain kohtuuhintaista, ja *luotettavasti toimivaa* avr -ohjelmointilaitetta, joka liitetään kannettavaan USB -liitännällä, ja joka tottelisi mielellään niin avr Studiota windowsissa, kuin myös avrdude:a linuxissa ?

Toki on olemassa USB / RS-232 -muuntokaapeleita.

Niillä on yleensä aika epäluotettava maine, mutta analysoidaanpa lisää...

Kumpikohan on oikeasti totta:

a) kyseisistä USB / RS-232 -muuntokaapeleista moni on oikeasti niin huonoa tekoa, ettei se toimi kunnolla silloinkaan, kun kaapelilla on tarkoitus välittää ainoastaan normaalia standardinmukaista sarjaliikennettä ainakin pääasiassa RS-232 -standardin mukaisesti (toki HW -kättelyn osalta standardia on muutenkin hieman sovellettava, sillä alkuperäien standardi ei kättelyn osalta vastaa nykyajan tarpeita muutenkaan).

VAI

b) Kaapelit ovat laadultaan aivan asiallisia silloin, kun niitä käytetään vain normaaliin sarjaliikenteeseen, mutta ongelmat aiheutuvat siitä, että jos joku ohjelma yrittää käyttää ns. bit banging -tekniikkaa ja ohjelma luulee olevansa tekemisissä oikean laitesarjaportin kanssa, niin ei mikään ihme, että ongelmia tulee. USB kun tukee enintään 1000 pakettia sekunnissa molemmat suunnat yhteensä eli siis jos paketteja menee sama määrä molempiin suuntiin, niin tuo tarkoittaa max. 500 pakettia sekunnissa per suunta !

Suuret jopa 480 Mbps nopeudet eivät siis lisää sekunnissa siirtyvien pakettien määrää, vaan niiden kokoa. Eli teoreettinen maksimi 480 Mbps tarkoittaisi siis sitä, että sekunnissa siirtyy 1000 pakettia, kukin 480000 bittiä.

Eli siis joko tarvitaan suoraan USB -liitäntään liitettäväksi tarkoitettu ohjelmointilaite ja sitä tukeva ohjelmisto, tai sitten voi toki tehdä itse sarjaporttiin tarkoitetun ohjelmointilaitteen, joka käyttää sarjaporttia ainoastaan normaaliin sarjaliikenteeseen, ja itse laite hoitaa tuon bit bangingin avr:n suuntaan.

Mutta mikä on hinnaltaan edullisin luotettavasti toimiva ratkaisu ?
2429
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

No, tästä on hyviä kokemuksia:

http://www.ladyada.net/make/usbtinyisp/

Toimii Linuxissa USB-portin kautta (USB 1.0 riittää) ja syöttää myös tarvittaessa virrat kohdelaittelle. Vähän voi joutua kikkailemaan, mikäli MISO/MOSI ohjelmointinastat muut on käytössä omassa laitteessa omiin tarkoituksiin.

Äänestä

Kommentoi aloitusta


avr_USB_ohjelmointi kirjoitti:

ns. pöytä -PC:llä AVR:n ohjelmointi, eli siis PC:llä olevan .hex -tiedoston siirto AVR:n sisäiseen FLASH -muistiin ei juuri sen ihmeellisempää ohjelmointilaitetta tarvitse, vaan olen itse käyttänyt omatekoista kaapelia tietokoneen LPT1 -portin ja mikrokontrollerin välillä sekä avrdude -ohejlmaa linuxissa.

avrdude toki tarvitsee LPT1 -portin käyttöoikeudet, eli joko ajetaan pääkäyttäjänä tai jos haluaa ajaa normaalikäyttäjänä (tietoturvamielessä parempi niin), niin ohjeet siitä, miten saa toimimaan normaalikäyttäjänä:

http://keskustelu.suomi24.fi/node/11077043

Pöytä -PC:llä (jossa on LPT1 -portti) ylläoleva ratkaisu toimii ihan hyvin, joten sellaisen omistajalle tuo ylläoleva riittääkin.

MUTTA:

Entä, kun käytössä on modrni kannettava, josta ei löydy sen paremmin LPT1 kuin perinteistä sarjaporttiakaan ( joka olisi 9-nastainen D -liitin, sunniteltu toimimaan RS232 -protokollalla, usein nimellä COM1 ) ?

Eli, jos koneessa ainoat portit ovat USB 2.0 -standardin mukaisia ?

Mikä neuvoksi ?

Saako jostain kohtuuhintaista, ja *luotettavasti toimivaa* avr -ohjelmointilaitetta, joka liitetään kannettavaan USB -liitännällä, ja joka tottelisi mielellään niin avr Studiota windowsissa, kuin myös avrdude:a linuxissa ?

Toki on olemassa USB / RS-232 -muuntokaapeleita.

Niillä on yleensä aika epäluotettava maine, mutta analysoidaanpa lisää...

Kumpikohan on oikeasti totta:

a) kyseisistä USB / RS-232 -muuntokaapeleista moni on oikeasti niin huonoa tekoa, ettei se toimi kunnolla silloinkaan, kun kaapelilla on tarkoitus välittää ainoastaan normaalia standardinmukaista sarjaliikennettä ainakin pääasiassa RS-232 -standardin mukaisesti (toki HW -kättelyn osalta standardia on muutenkin hieman sovellettava, sillä alkuperäien standardi ei kättelyn osalta vastaa nykyajan tarpeita muutenkaan).

VAI

b) Kaapelit ovat laadultaan aivan asiallisia silloin, kun niitä käytetään vain normaaliin sarjaliikenteeseen, mutta ongelmat aiheutuvat siitä, että jos joku ohjelma yrittää käyttää ns. bit banging -tekniikkaa ja ohjelma luulee olevansa tekemisissä oikean laitesarjaportin kanssa, niin ei mikään ihme, että ongelmia tulee. USB kun tukee enintään 1000 pakettia sekunnissa molemmat suunnat yhteensä eli siis jos paketteja menee sama määrä molempiin suuntiin, niin tuo tarkoittaa max. 500 pakettia sekunnissa per suunta !

Suuret jopa 480 Mbps nopeudet eivät siis lisää sekunnissa siirtyvien pakettien määrää, vaan niiden kokoa. Eli teoreettinen maksimi 480 Mbps tarkoittaisi siis sitä, että sekunnissa siirtyy 1000 pakettia, kukin 480000 bittiä.

Eli siis joko tarvitaan suoraan USB -liitäntään liitettäväksi tarkoitettu ohjelmointilaite ja sitä tukeva ohjelmisto, tai sitten voi toki tehdä itse sarjaporttiin tarkoitetun ohjelmointilaitteen, joka käyttää sarjaporttia ainoastaan normaaliin sarjaliikenteeseen, ja itse laite hoitaa tuon bit bangingin avr:n suuntaan.

Mutta mikä on hinnaltaan edullisin luotettavasti toimiva ratkaisu ?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu