AVR Studio 4.12

Rendszerközeli nyelv(ek) tippjei, alkalmazásai
MaSTeRFoXX

AVR Studio 4.12

HozzászólásSzerző: MaSTeRFoXX » 2005. december 4. vasárnap, 13:01

Sziasztok!

Nem a legjobb helyen érdeklődök, de most tértem át PICről AVR-re és elkadtam az AVR studióval.

Az a lényege hogy lefordítja szépen a programot, de szimulációnál, a szubrutinból amikor visszatér, akkor a program legelejére ugrik vissza (nem ahova kellene neki) és lent a Messages-nél bead egy hibaüzenetet (illegal opcode at....). A program a portdre kötöttt összes LEDet villogtatná.
A proci: ATMEGA16

ez az a progi:

Kód: Egész kijelölése

;Asembly teszt program
;
;Processzor megadása
.include "m16def.inc"

   rjmp RESET

;regiszterek megadása
.def temp=r16

;szubrutinok
kesleltet:    
   ;lényegtelen mi van itt....
   ret


;főprogram
RESET:    ldi temp,0xff   ;255 a tempbe
   out DDRD, temp   ;portd legyen kimenet
start:   rcall kesleltet   ;késleltetés
   ser temp      ;temp legyen 255
   OUT PORTD,temp   ;PORTD legyen 255
   rcall kesleltet   ;késleltetés
   clr temp      ;temp legyen 0
   out PORTD,temp   ;PORTD legyen 0
   rjmp start      ;ugorj vissza az elejére






A programot lefordítja, a szimuláció hibázik, a program persze nem fut. :x (ha be van égetve).
(nem azért mert, itt a késleltet-szubrutinban nincs semmi...)

A BASCOM-AVR-DEMO-t kipróbáltam, nagyon jó program, csak az a 4kB határ az ennél a procinál azért eléggé kevéske...

Ha valaki találkozott már ezzel a problémával akkor kérem segítsenen.

Köszönöm
.:: MaSTERFoXX ::.

Robert

HozzászólásSzerző: Robert » 2005. december 4. vasárnap, 16:09

Itt biza az ASM van elbaltázva:)

Hogy lásd milyen vagyok:
http://www.avr-asm-tutorial.net/avr_en/ ... index.html

Bascomról:
A komplett friss progi ~20eFt.
Feltörhetetlen program meg még eddig nem készült...

Az 4K tudod mire elég? :) Szerintem rengeteg...
Az USB-s vezérlőt nézd meg. Minden sallanggal ~10-11k lefordítva...
Kijelzőkezelés, óra csipogó, Crystalfontz protokollal...

Robert

HozzászólásSzerző: Robert » 2005. december 4. vasárnap, 16:13


MaSTeRFoXX

AVR studio

HozzászólásSzerző: MaSTeRFoXX » 2005. december 4. vasárnap, 21:15

Jó jó beismerem hogy nem kevés az a 4k. De azért az az Atmega 16 kapacitásának csak a 25%-a, tehát nem lehet igy jól kihasználni. Nem tudom hogy valaki foglalkozott-e már a BASCOM feltörésével... Végül is csak azt a részt kéne benne átmódosítani ami nézi a fájl méretét...

Szerintem kevés lenne 4k arra hogy nokia3310 kijelzőt vezéreljek, hőmérsékletet mérjek, szélsebességet mérjek, időt olvassak ki valós idejű órából, időre kapcsolgassak...


Ezeket a honlapokat már meglátogattam, ezek alapján írtam (át) ezt.
A knight rider forráskódjában átírtam az include-ot m16def.inc-re, ekkor kiirt egy hibát hogyaz eepromot nem így kell kezelni, ekkor kitöröltem ezt a részt, míg megmaradt PORTD kibe kapcsolgatása. Ekkor a LongDelay rész ben ki ;-ztem a késleltetést, és elkezdtem szimulálni. Szépen fut, amig el nem ér az a RET utasításig, ekkor nemhogy jó helyre ugrana, visszaugrik az elejére. (DE! ha visszaírom 1200def.inc-re akkor simán fut...)
És már ez sz*vat már lassan 3 hete.

MaSTeRFoXX

HozzászólásSzerző: MaSTeRFoXX » 2005. december 4. vasárnap, 22:04

ELNÉZÉST!!!

Mégiscsak én én vagyok a hüje...

Asszem egy elég fontos részt hagytam ki belőle. Valamit az SRAM-mal kell csinálni, mert e nélkül nem lehet szubrutinokat hívogatni....

Ez lett belőle...

Kód: Egész kijelölése


;Asembly teszt program
;
;Processzor megadása
.nolist
.include "m16def.inc"
.list


;regiszterek megadása
.def mp=r16
.def temp=r17

   rjmp RESET

;főperogram
RESET:    
      ldi   mp,LOW(RAMEND) ;Initiate Stackpointer
      out   SPL,mp
      ldi   mp,HIGH(RAMEND)
      out   SPH,mp


      ldi temp,0xff   ;255 a tempbe
      out DDRD, temp   ;portd legyen kimenet
start:   rcall kesl         ;késleltetés
   ser temp         ;temp legyen 255
   OUT PORTD,temp      ;PORTD legyen 255
   rcall kesl         ;késleltetés
   clr temp         ;temp legyen 0
   out PORTD,temp      ;PORTD legyen 0
   rjmp start         ;ugorj vissza az elejére

kesl:
   nop   ;ide még jön  a késleltetés
   ret





.:: MaSTeRFoXX ::.

Robert

HozzászólásSzerző: Robert » 2005. december 5. hétfő, 16:58

Bascom törés nem a fórum témája (etikai kifogásom van).

De a szokásos helyeken megtalálható a 1.11.7.4-ig a törés....

ASMben muszáj lenned? A kijezőkezelés, I2Cvel megőrölsz.....

MaSTeRFoXX

HozzászólásSzerző: MaSTeRFoXX » 2005. december 7. szerda, 18:31

JÓ!
Abbahagyom. Mióta ponyproggal letiltottam minden lézető komunikációt az avr-rel (ATmega16).... (jó lett a tolltartóba dísznek....).

Maradok a BASCOMnál. Szinte hihetetlen az a kényelmesség amit ez a program nyújt 8) a PIC-es MPLAB után.

(már megtaláltam azokon helyeken a crck-et (ennyi, nem hozom többé fel...)).

Robert

HozzászólásSzerző: Robert » 2005. december 7. szerda, 23:39

:) Bascom alatt seccperc alatt ott az eredmény:)

Illetve később mikor nagyon benne vagy, akkor a C-t is meg lehet tanulgatni (most vagyok ebben a fázisban - hogy gondolkodom rajta :) ). De egy LED villogattás megvan 3 perc alatt, akkor nem kell - egyenlőre más fordító:)....

Szóval hajrá! Ha elakadsz nyugodtan tessék kérdezni:). vagyunk itt már jópáran, akik tanulgatják ezt a kontrollert...

Robert

HozzászólásSzerző: Robert » 2005. december 7. szerda, 23:42

Tartalék mega16/32/8/egyéb?

Nem szabad feladni... nálam 5 db tiny2313 vár újranyitásra, meg 2 db mega16 és 1 Mega 32:)))

Szóval termeltem én is rendesen.... van amelyiket nem is tudom hogyan csuktam ki....


Programozás mehet bascom alól. ha van kész hex v. BIN file, azt is be lehet bascom alól égetni.... Én ilyenre is használom pl.

lajostoth

HozzászólásSzerző: lajostoth » 2005. december 8. csütörtök, 15:16

Nem mindig szerencsés mikor egy program ennyire elrejti a vasat,
mint a Bascom. Úgy is járhatunk ,mint Bill az Ő windowsával,ha már nem
csak ledet kell villogtatni.

C C C !!!

Avatar
DavidMolnar
Biztosítékgyilkos
Hozzászólások: 50
Csatlakozott: 2005. december 6. kedd, 7:00

HozzászólásSzerző: DavidMolnar » 2005. december 8. csütörtök, 15:40

Igazad van, de a PC programozást is ált Pascal-lal kezdik, aki meg elég perverz, annak ASM, C++. Ha nekem most C-ben kéne kezdenem az első AVr ötletemet, bele sem kezdenék. Na de később...

MaSTeRFoXX

HozzászólásSzerző: MaSTeRFoXX » 2005. december 8. csütörtök, 21:19

Próbálkoztam C-vel is (WinAVR) de van olyan hogy outp nevű utasítás, neten találtam ilyen forráskódokat de nem ismerte fell, és ezzel be is fejeződött...

Assemblyvel is próbálkoztam, ekkor zártam ki magamat a chipből
(idegesített hogy nem a külső kvarcról ment (PIC-es voltam....) ezért elkezdtem a fusebiteket állítani (CKSELx) a PonyPRogban, beírtam aztán nem ment, adtam neki az xtal2-re, ettől elindult, örömömben nyomtam egy törlést bascomban azóta teljesen xar.)

Marad A BASCOM (egyszerű, nagyszerű és -jó-)

Ja, Dolgozottt már valaki bascomban NOKIA3310 kijelzővel (pcd8544 meghajtó IC)???

Mert nem akarom mégegyszer feltalálni a spanyol viaszt... 8) .

Robert

HozzászólásSzerző: Robert » 2005. december 8. csütörtök, 21:48

Nokia kijelzőt ide beraktam:
http://avr.tavir.hu/modules.php?name=Forums&file=viewforum&f=13

Az AVR és a C esetén kell ismerni a chip belsejét. A kezdő meg örül ha nem kell a páka és a programozás + némi HW ismeret mellett még a chipet is odavissza ismerni. Később a Bascom mellett úgyis megtanulja. De ha az elején 3 nap alatt sem jut sehova, akkor hagyja a fenébe az egészet...

Nálam a C fordító nem bírt valamit és egy vacak LED villogattó nem jött össze:( (Sample volt fordítva...). Aztán lett bascom. Lassan (majd) C is, ha kinövöm a Bascomot:).

MaSTeRFoXX

HozzászólásSzerző: MaSTeRFoXX » 2005. december 9. péntek, 18:16

Ha sikerülne valamit összehoznod Cben akkor abból csinálnál olyan sorozatot mint amit a Bascomról csináltál?

Az jó lenne... :wink:

Robert

HozzászólásSzerző: Robert » 2005. december 9. péntek, 18:59

Mondjam azt hogy tervben van?:)

De a Bascomból is még hátra van sok.
- Bootloader, hogy termék legyen és ne kelljen programozó hozzá:) (álá PC BIOS, CDROM, DVDíró stb)
- PWM (motor/ventillátor szabályozás, fényerőszabályozás)
- SPI busz a gyors memóriaelérés, nagy méretű flash hátértárchipek eléréséhez (árban kevesebb mint az I2C, és méretben most a teteje valahol 256Mbit/chipnél jár - cikkben 1/4/8/16Mbites chipeket vesézném ki),
- SPI busz kijelzőnek (Nokia, pl. :D ), de kijelzőt/hullatelefont be kell gyűjteni,
- I2C buszból még 1 kijelző és EEPROM (24C sorozat) van hátra,
- PS2 egér és billentyű illesztése AVR-re
- Grafikus LCD kezelése
- Ez utóbbi kettőből valami rajzprpgram az AN-k közé:)


Szóval a tervek megvannak... Ezt - ha minden jól megy és nem havazódok be:) - akkor még idén meg kellene írni.

Utána jön egykét AN (Appnotes fordítása/írása, pl. PC távirányítása, PS2, Grafikus LCD-n termosztát, PC hőfokszbályozás, ventillátorkezelés, nagykapacitású kondenzátorok, óraIC-k, stb...).

Meg ha lesz - végre :o - pályamű a prograozási versenyen, az is kikerülne... (Mint pl. egy munka, innen: http://avr.tavir.hu/modules.php?name=News&file=article&sid=43.)


Vissza: “ASM programozás”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég