[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