www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

uLPC1000 in LPC1768 - kako usposobit zadevo?

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Carko
Član
Član



Pridružen-a: Pet 15 Apr 2011 1:40
Prispevkov: 451
Aktiv.: 2.61
Kraj: KP

PrispevekObjavljeno: Pet Mar 23, 2012 12:48 pm    Naslov sporočila:  uLPC1000 in LPC1768 - kako usposobit zadevo? Odgovori s citatom

Takole,

nabavil sem platico uLPC1000 in LPC1768, ga prilotal gor in prilotal še 24MHz kristal.

Na mikrokontrolerček se prek Flash Magica lahko lepo povežem (prek COM0) in nanj naložim (in pobrišem, preverim) program.

Do tukaj je vse OK, mi pa nikakor ne uspe prižgati LEDic, ki so na plati.

V Keil uVision 4 sem odprl priloženi projekt Blinky in kodo v glavnem modulu zamenjal s tole:

Koda:
#include <stdio.h>
#include "LPC17xx.H"                         /* LPC17xx definitions           */

volatile uint32_t temp;

void _delay(uint32_t del);

/*----------------------------------------------------------------------------
  Main Program
 *----------------------------------------------------------------------------*/
int main (void) {
  LPC_SC->PCONP |= ( 1 << 15 ); // power up GPIO
    LPC_GPIO1->FIODIR |= 1 << 17; // puts P1.17 into output mode.
    while(1)
    {
        LPC_GPIO1->FIOPIN |= 1 << 17; // make P1.17 high
        _delay( 1 << 24 );
        LPC_GPIO1->FIOPIN &= ~( 1 << 17 ); // make P1.17 low
        _delay( 1 << 24 );
    }
    return 0;
}


void _delay(uint32_t del)
{
    uint32_t i;
    for(i=0;i<del;i++)
        temp = i;
}


V nastavitvah Target sem izbral LPC1768, nastavil Xtal na 24 in omogočil generiranje .hex datoteke. Nato sem ustvarjeno hex datoteko prek Flash Magica naložil na mcu in ga resetiral, vendar je ledica (oz ledice, probal sem na več pinih) mrtva.

Kakšna ideja, kje sem zamočil?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
S53DZ
Član
Član



Pridružen-a: Čet 28 Apr 2011 9:27
Prispevkov: 951
Aktiv.: 5.51
Kraj: Ljubljana

PrispevekObjavljeno: Pet Mar 23, 2012 1:28 pm    Naslov sporočila:   Odgovori s citatom

Seveda pri tem nisi pozabil na jumper LED na plati.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Carko
Član
Član



Pridružen-a: Pet 15 Apr 2011 1:40
Prispevkov: 451
Aktiv.: 2.61
Kraj: KP

PrispevekObjavljeno: Pet Mar 23, 2012 1:30 pm    Naslov sporočila:   Odgovori s citatom

Nisem pozabil, seveda.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
S53DZ
Član
Član



Pridružen-a: Čet 28 Apr 2011 9:27
Prispevkov: 951
Aktiv.: 5.51
Kraj: Ljubljana

PrispevekObjavljeno: Pet Mar 23, 2012 1:36 pm    Naslov sporočila:   Odgovori s citatom

In še, po restartu je za boot loader uporabljen notranji clk 4MHz in ne zunanji xtal.
EDIT: Šele s programom nato uporabiš PLL nastavitev za višje clk frekvence.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
tozir
Član
Član



Pridružen-a: Pon 17 Mar 2008 19:10
Prispevkov: 187
Aktiv.: 0.89
Kraj: Celje

PrispevekObjavljeno: Pet Mar 23, 2012 4:07 pm    Naslov sporočila:   Odgovori s citatom

Probaj z FIOSET in FIOCLR.

EDIT: Preden to narediš poglej še FIOMASK.

_________________
http://www.rielektronika.comule.com/
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Carko
Član
Član



Pridružen-a: Pet 15 Apr 2011 1:40
Prispevkov: 451
Aktiv.: 2.61
Kraj: KP

PrispevekObjavljeno: Pet Mar 23, 2012 8:25 pm    Naslov sporočila:   Odgovori s citatom

Glede clocka sem sumil da je tako... Ampak to, da teče na internem oscilatorju, na laufanje programa verjetno ne bi smelo vplivati?

S FIOSET in FIOCLR sem tudi poizkušal, vendar je enako.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
S53DZ
Član
Član



Pridružen-a: Čet 28 Apr 2011 9:27
Prispevkov: 951
Aktiv.: 5.51
Kraj: Ljubljana

PrispevekObjavljeno: Sob Mar 24, 2012 12:19 am    Naslov sporočila:   Odgovori s citatom

Carko je napisal/a:
Glede clocka sem sumil da je tako... Ampak to, da teče na internem oscilatorju, na laufanje programa verjetno ne bi smelo vplivati?
To ne, ampak pred loadanjem moraš 4MHz nastaviti tudi v Flash Magicu. V programu pa vpliva samo na delay zanko.
Na začetku flasha mora biti tabela interruptov in prvi ukaz je reset vektor. Ta mora kazati na začetek tvoje assem. kode. Ponavadi je prvi ukaz za postavitev stack pointerja na RAM. Poleg tega je tam tudi nastavitev PLL za CLK. Ker tega ne vidim v C kodi. Upam, da je to ostalo v assemblerskem delu programa Blinky.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Carko
Član
Član



Pridružen-a: Pet 15 Apr 2011 1:40
Prispevkov: 451
Aktiv.: 2.61
Kraj: KP

PrispevekObjavljeno: Sob Mar 24, 2012 1:41 am    Naslov sporočila:   Odgovori s citatom

Rešil (s pomočjo jvolka).

Težava je bila (kar sem tudi pričakoval) v clocku - sem zmotno mislil, da se datoteka system_LPC17xx.c (je v sample projektu) uporabi samo, če ročno kličeš metodi SystemCoreClockUpdate in SystemInit (tukaj se ure nastavljajo), pa se očitno uporabi v vsakem primeru in zadeva ni laufala z internim 4MHz oscilatorjem.

Sample je bil narjen za 12MHz xtal, jaz pa uporabljam 24MHz - PLL je potem hotel na 800MHz...

Ledica sedaj utripa veselo ko radio Dancing
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 6 dni


Powered by phpBB © 2001, 2005 phpBB Group