[elektro] dsPIC nem indul
hg12345
hg12345 at freemail.hu
Thu Jan 10 10:10:43 CET 2008
Szia!
ha a MCHIP féle fordítót használsz akkor mindenképpen linker kell
használnod, így szinte mindegy melyik fordítot használod, C30 vagy
ASM30. (ASM-ban is ugyan ezek a hibákkal szembesülsz)
1, Elöször épitsd fel a projektet az MPLAB-ban, majd válasz egy
Linker Script -t, a \support\gld\ alkönyvtárból. Ezzel már majdnem
megoldottad a gondjaidat.
2, megirod a main-t,
3 vagy megírod a FUSE vagy beállítod a Configure menüben. Az első
szerencsésebb egyszer kell és utána minden fordítás után korrekt lesz.
Használd a MPLAB 8.01 IDE-t mert ez már a fordítási időben generál
rendszer jellemző #define-okat (__debug ...stb forditáskor látszanak)
A FUSE programozást eszerint kell elvégezni, mert a DEBUG esetben
nem minden lehet megengedni.... pl. memória elrejtést...
A FUSE az oszcillátor kiválasztás is miatt nagyon fontos.....
Forditáskor az ICD2-vel való futtatás esetén Debug-ra kell váltani, a
Release esetén nem teszi szabaddá a 800-850 közötti memória
területet a linker és össze-vissza müködik a BDM (debugger)
A program amit írtál az ASM-ben se lenne jó, hazardos...
A PIC18 sorozatnál bevezették a LATx port változót, ami a kiküszöböli a
PORTx hazard jelenségét, (RMW) erre a cimre irva egyből a kimeneti
reiszterbe kerülnek az adatok függetlenül a bemenettől!
A dsPIC sorozat sebessége miatt elképzelhető, hogy a bemenet nem
tud feltölteni/kisütni a kapacítását így egy gyors PORTx-be írás az elöző
állapot kihagyhatja, de a LATx ez nem fordulhat elő.
Meg egy tanács, ezek a uC már majdnem processzorok, így kezelnek
egy halom olyan állapotot, amivel 8 bites eszközökben nem találkoztál.
Természetesen minden eltérő müködésre IT a válasz, mivel ezek az IT-
k nem maszkolhatók, így akár akarod akár nem végrehajtódnak :-().
A debuggoláshoz a speciális IT-ket, és nem használt IT-ket el kell kapni,
mert ha nem csinálsz vele semmit akkor a exit pontra ugranak, ami egy
végtelen ciklus.... Igy hiába teszel akárhova breakpointot, ez szépen itt
fog magában keringeni :-(.
Első nekifutásra használd a MPLAB szimulátorát, ez függetlenül
müködik az oszcillátor és egyébb fuse és (debug/release)
beállításoktól függetlenül. Ha itt futási jelenségeket produkál a
program akkor érdemes vasra (HW)-re tenni.
Mindenképpen dsPIC30-l akarsz forgalkozni? Ha igen feltudok ajánlani
egy dsPICDEM 1.1 (valószínüleg megegyezünk áron), ezzel
valószínüleg könnyebb, mert van program is..... (2CD, +táp+ és igen
nagy panel LCD,LED nyomógomb, 2*(RS232,RS485) CAN, Hang be-
ki...), és nagy fejlesztő csupa lyuk terület....
Most magam ellen vagyok, de ha nem 100% ragaszkodsz az 5V-os
rendszerhez, akkor erről mindenképpen lebeszélnélek. Ez a sorozatot
már nem fejlesztik, és a perifériáiban kicsi, de lényeges eltérések
vannak a PIC24/dsPIC30/PIC32 sorozathoz képest. Persze tanulni jó.
üdv
>
> Szia!
>
> Meg fogom nézni. Mivel a programozó is saját fejlesztés egyelőre
> nem tudom, hogy
> hol lehet a gond.
> C-ben még sosem programoztam, gondoltam hogy a 'kompájler'
(
> milyen szép szó... )
> beteszi a mindenféle cullangokat, amik a megfelelő működéshez
kellenek.
> Pl. megszakítás
> vektorcímek Ezek szerint nem. Na, akkor visszatérek a jó öreg
assemblyhez.
>
> Valaki esetleg tudna nekem egy olyan progit küldeni, ami a B
port
> kimeneteit birizgálja
> és tutira működik? dsPIC30F3012-höz kellene.
>
>
> Üdv.: Horváth Zsolt
>
>
>
> Ágó István írta:
> > Nem a getting started doksiból, hanem a dsPIC adatlapjából az IO
Ports
> > részből. Ugyanitt nézd meg, hogy nincs-e valami más periféria is
azokon a
> > lábakon, amit le kellene tiltani, hogy a láb digitális kimenet
lehessen.
> > Reset lábon mi van?
> >
> > On Jan 9, 2008 9:00 AM, Horvath Zsolt <hozso_001 at freemail.hu>
wrote:
> >
> >
>
> -----------------------------------------
> elektro[-flame|-etc]
>
NEM TETSZIK AZ AJÁNDÉKOD? Nem erre gondoltál? Nem a méreted? Add el az apronet.hu-n!
http://ad.adverticum.net/b/cl,1,6022,240074,284499/click.prm
More information about the Elektro
mailing list