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 

Nezeleni User/System mode

 
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
AlesH
Član
Član



Pridružen-a: Pon 20 Mar 2006 21:20
Prispevkov: 16
Aktiv.: 0.07

PrispevekObjavljeno: Tor Avg 11, 2009 11:35 am    Naslov sporočila:  Nezeleni User/System mode Odgovori s citatom

Pozdravljeni

Ali se je morda ze komu zgodilo, da mu je koda popolnoma normalno tekla na razvojni plosci, ko pa jo je prenesel na lastni hardware pa se mu je zadeva obesila? Situacija je naslednja: projekt mi brez vsakega problema tece na razvojni plosci MCB2130, normalno lahko debugiram itd... Ko kodo prenesem na svojo ploscico se ustavi. Flash nalozim brez problema, ko pa v uVisnu skusam zadevo debugirati mi sistem preide v User/System mode (PC 0xfffffff2, vsi ostali registri 0xffffffff) in tam obstoji. OK ocitno je nekaj narobe z mojo ploscico. Vendar me bega, ker preprosti primeri (blinker, ...) na tej isti plosci delujejo in jih lahko tudi normalno debugiram. Zanima me, ce je imel ze kdo podobno tezavo in kako je jo resil? Hvala za odgovor.

Bp Ales
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 70643.30

PrispevekObjavljeno: Tor Avg 11, 2009 12:58 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Umnik
Član
Član



Pridružen-a: Čet 16 Sep 2004 17:52
Prispevkov: 958
Aktiv.: 4.03
Kraj: Novo mesto

PrispevekObjavljeno: Tor Avg 11, 2009 1:13 pm    Naslov sporočila:  Re: Nezeleni User/System mode Odgovori s citatom

AlesH je napisal/a:
Flash nalozim brez problema, ko pa v uVisnu skusam zadevo debugirati mi sistem preide v User/System mode (PC 0xfffffff2, vsi ostali registri 0xffffffff) in tam obstoji.


Sistem preide takoj v to stanje ali lahko pred tem normalno poganjaš debugger?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
AlesH
Član
Član



Pridružen-a: Pon 20 Mar 2006 21:20
Prispevkov: 16
Aktiv.: 0.07

PrispevekObjavljeno: Tor Avg 11, 2009 3:17 pm    Naslov sporočila:   Odgovori s citatom

Uporabljam LPC2138. ISP enable pin (P0.14) je ob zagonu na visokem nivoju. Sistem je nekaj sekund v Supervisor nacinu potem pa avtomaticno preide v User/System s katerega ni vec mogoce priti.

Se ena zanimivost, ki sem jo opazil:
Zadeva zacne delovati ko zakomentiram 7 vrstic spodnje funkcije, ceprav funkcije v main ali kjerkoli drugje sploh ne uporabim. Za test sem sprogramiral preprost blinker zraven pa prevedel se vse funkcije celotnega projekta (vendar jih nikjer ne klicem). S poizkusanjem sem prisel do tega, da so problematicne samo zakomentirane vrstice v spodnji funkciji. Ko te vrstice zakomentiram, lahko spet normalno debugiram itd. V cemu je trik?



Koda:

 void glcd_Text(uint8_t left, uint8_t top, uint8_t font, const char *str)
{
     uint8_t x = left;
     uint8_t glyph;
     uint8_t width;
   uint8_t height;
   uint8_t store_width;
   const uint8_t *glyph_ptr;

     while(*str != 0x00)
     {
       glyph = (uint8_t)*str;

      /* check to make sure the symbol is a legal one */
      /* if not then just replace it with the default character */
      if((glyph < fonts[font].glyph_beg) || (glyph > fonts[font].glyph_end))
      {
//         glyph = fonts[font].glyph_def;
      }

       /* make zero based index into the font data arrays */
//       glyph -= fonts[font].glyph_beg;
//       width = fonts[font].fixed_width;   /* check if it is a fixed width */
      if(width == 0)
      {
//         width=fonts[font].width_table[glyph];   /* get the variable width instead */
      }

//      height = fonts[font].glyph_height;
//      store_width = fonts[font].store_width;

//      glyph_ptr = fonts[font].glyph_table + ((unsigned int)glyph * (unsigned int)store_width * (unsigned int)height);

      /* range check / limit things here */
      if(x > GLCD_RIGHT)
      {
         x = GLCD_RIGHT;
      }
      if((x + width) > GLCD_RIGHT+1)
      {
         width = GLCD_RIGHT - x + 1;
      }
      if(top > GLCD_BOTTOM)
      {
         top = GLCD_BOTTOM;
      }
      if((top + height) > GLCD_BOTTOM+1)
      {
         height = GLCD_BOTTOM - top + 1;
      }

      glcd_Glyph(x,top,width,height,glyph_ptr,store_width);  /* plug symbol into buffer */

      x += width;                     /* move right for next character */
      str++;                        /* point to next character in string */
   }
}



Se enkrat naj povdarim, da celotna koda, tudi zgornja (nezakomentirana) funkcija, deluje na razvoji plosci MCB2130. Opisan problem se pojavlja samo na lastni plosci.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Lagrange
Član
Član



Pridružen-a: Pet 10 Okt 2003 10:07
Prispevkov: 164
Aktiv.: 0.69
Kraj: Ljubljana

PrispevekObjavljeno: Tor Avg 11, 2009 4:00 pm    Naslov sporočila:   Odgovori s citatom

Za hec poglej, ce imas na P0.14 vse v redu. S stanjem tega pina ob vklopu poves procesorju ali naj se postavi v ISP.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
alessio
Član
Član



Pridružen-a: Pon 04 Dec 2006 8:39
Prispevkov: 363
Aktiv.: 1.60
Kraj: Ljubljana

PrispevekObjavljeno: Tor Avg 11, 2009 4:33 pm    Naslov sporočila:   Odgovori s citatom

Kateri revision čipa uporabljaš na svoji plati?
Kakšne imaš nastavitve MAM-a in clock-a core-a in periferije?

_________________
Question is more important than the answer.(Plato)
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
AlesH
Član
Član



Pridružen-a: Pon 20 Mar 2006 21:20
Prispevkov: 16
Aktiv.: 0.07

PrispevekObjavljeno: Sre Avg 12, 2009 9:04 am    Naslov sporočila:   Odgovori s citatom

Na svoji plati uporabljam revision D. MAM disabled, CCLK 12 MHz (PLL disabled), PCLK 12 MHz.

Pregledal sem celoten errata sheet revizije D, vendar nisem odkril nic sumljivega (tudi P0.31 med resetom ni privezan na GND).
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: 7 dni


Powered by phpBB © 2001, 2005 phpBB Group