Fórum témák

» Több friss téma
Fórum » MPLAB kérdések
 
Témaindító: Thomas10100, idő: Nov 27, 2005
Lapozás: OK   18 / 25
(#) ktamas66 válasza szolen hozzászólására (») Máj 7, 2017 /
 
Szerintem valahogy belekavarodik a bankváltásokba, különösen az interrupt rutinban. Olvasd el a 9.5 fejezetet.
(#) szolen válasza ktamas66 hozzászólására (») Máj 7, 2017 /
 
Nem tudom, szerintem a MPLAB szórakozik velem. Eddig 10-10szer csinálta. Most újraindítottam és nem bírom produkálni. V3.50 Linuxon. A 3.60 rosszabb. Amikor léptetném a debugolást akkor nem nem ugrik az aktuális sorra, nem jelöli sehogy.
(#) Wezuv válasza szolen hozzászólására (») Máj 7, 2017 /
 
Nem tudom, hogy az asm-nál van e optimalizálás, de ha van, akkor azt kapcsold ki.
(#) szolen válasza Wezuv hozzászólására (») Máj 7, 2017 /
 
Be lehet állítani azt hogy amikor a wd túlcsordul akkor felbukkanó ablakkal jelezze mint a Mplab 8-asban?
(#) ktamas66 válasza szolen hozzászólására (») Máj 7, 2017 /
 
Ha olyankor jön az it, amikor pont a bank1-ben állítgatsz, a w és a status mentése a 0xA3 és 0xA2 regiszterekbe történik (0x23, 0x22 helyett), mivel csak utána váltasz bankot. A visszamentés viszont mindig a bank0-ból történik, ami valószínűleg az előző it adatai. Az adatlap 9.5 fejezete pont erről szól. Ezért javasolja, hogy a mentett regisztereket mindkét bankban létre kell hozni, azonos címre, hogy mindig oda kerüljön a mentés, ahonnan meghívták, plusz ment a 0 bankba is, hogy tudja honnan kell visszaállítani.
Itt a változók címében csak a bank a különbség, mindegy melyik bankból hívok késleltetést, abban a bankban fog végigfutni:
  1. ;varakozo hurkok regiszterei
  2. wtreg1          equ     0x12E   ;Bank2 
  3. wtreg0          equ     0x12F
  4. wtreg2          equ     0x130  
  5.  
  6. wtreg1T         equ     0x02E   ;Bank0         
  7. wtreg0T         equ     0x02F   ;TÜKÖR REGISZTER, HOGY NE KELLJEN BANKOT VÁLTANI
  8. wtreg2T         equ     0x030

Ilyenkor ha a 0 bankban hivatkozok a wtreg1-re, a wtreg1T be fog írni, de olvasáskor is innen olvas, ezért nem okoz problémát. A lényeg, hogy lefoglaljam a helyét, ne kerüljön oda más változó.
(#) Bell hozzászólása Máj 7, 2017 /
 
Sziasztok!
Ismerkedem az MPLABX szimulátorával, de futtatva nem áll meg a beállított töréspontnál.
Ezt az üzenetet kapom:
  1. User program stopped
  2. Break point at line 25 in file E:/aaa/MPLAB-X/proba2.X/newmain.c cannot be resolved to a valid program memory address
  3. User program running

Mit rontok el?
(#) zenetom válasza Bell hozzászólására (») Máj 7, 2017 /
 
Idézet:
„Mit rontok el?”

Először is azt, hogy nem mutatsz képernyőképet az aktuális debuggolt programrészletről.
Szerk.: ha volt módosítás a kódban, akkor ments és buildold a programot, csak utána futtatsd a debugot.
A hozzászólás módosítva: Máj 7, 2017
(#) zenetom válasza ktamas66 hozzászólására (») Máj 7, 2017 /
 
Viszont az adatlap azt is írja, hogy az 0xA0 - 0xDF memória címzésekor a 0x20 - 0x5F részt éred el, vagyis úgymond már eleve tükrözve van.
Persze azért jobb a békesség.
(#) Bell válasza zenetom hozzászólására (») Máj 7, 2017 /
 
Nem sok dolog derül ki belőle, azt gondoltam, elég a hibaüzenet.

kep1.gif
    
(#) zenetom válasza Bell hozzászólására (») Máj 7, 2017 /
 
Ha még nem próbáltad, akkor:
1. törölj minden breakpointot
2. kapcsold ki a debugot
3. mentsd el a kódot
4. fordítsd újra (build)
5. próbáld meg újra a debugot

Ha minden kötél szakad, akkor újra létre kell hozni a projectet, lehet "beakadt" az MPLAB, én már jártam így.
(#) Bell válasza zenetom hozzászólására (») Máj 7, 2017 /
 
Köszönöm a tippet!
Fél napja nyűglődök vele, de új projekttel még nem próbáltam
(#) zenetom válasza Bell hozzászólására (») Máj 7, 2017 /
 
Illetve előtte még próbáld ki, hogy ha be van kapcsolva a Watchdog, akkor kapcsold ki, és próbáld meg úgy.
(#) Bell válasza zenetom hozzászólására (») Máj 7, 2017 /
 
Mikor elhelyezem a töréspontot a sorszámra kattintva, már akkor hibát jelez.
  1. Line E:\aaa\MPLAB-X\szimulator1.X\main.c:14 - Not resolvable to a valid memory address

Új projeknél is ez a helyzet. Valamilyen beállítási hiba lehet?
(#) zenetom válasza Bell hozzászólására (») Máj 7, 2017 /
 
A while cikluson kívül is? Pl. a 17. sornál.
Illetve lefordul sikeresen a project? Nincs error?
A hozzászólás módosítva: Máj 7, 2017
(#) Hp41C válasza Bell hozzászólására (») Máj 7, 2017 /
 
Definiáltál valahol egy LATA szimbólumot? A PIC12F675 -nek nincs LATA regisztere, csak GPIO és TRISIO van.
(#) Wezuv válasza Bell hozzászólására (») Máj 7, 2017 /
 
Optimalizálást ki kell kapcsolni.
(#) ktamas66 válasza zenetom hozzászólására (») Máj 7, 2017 /
 
Igaz, ez így nem lehet probléma. És szimulátorban tényleg egyszerre változik mindkettő.
A Watches ablakba név szerint nem tudom felvenni a változót, de memóriacím szerint igen.
(#) Bell hozzászólása Máj 8, 2017 /
 
A projekt hibátlanul lefordul, PIC18F25K40 az eszköz, a LATA-t jól kezeli, a program jól működik.
Viszont amire eddig nem gondoltam, a projekt elérési útjában van egy ékezetes karakter.
Ezt átírva már jól működik. Pedig a karakterkódolás is át van írva ISO-8859-2-re. MPLAB-nál ez nem okozott gondot.
Nagyon köszönöm az ötleteket és a segítséget!
Wezuv: hol lehet kikapcsolni az optimalizálást?
(#) kissi válasza Bell hozzászólására (») Máj 8, 2017 /
 
Szia!

1. Az elérési útban ne szerepeljen speciális karakter "a békesség végett" ( kötőjel az MPLAB-X-ben!), mert ezek tudnak érdekes hibákat produkálni!
2. A breakpoint biztos, hogy programsoron van és nem pl. egy változó deklarálásához vagy cimkéhez tetted ( ne adj isten elválasztó üres sorra !) ?!
(#) Bell válasza kissi hozzászólására (») Máj 8, 2017 /
 
A kötőjeles MPLAB-X mappát a rendszer kínálja fel.
Viszont egy "é" betű szerepelt a projekt elérési útjában.
Már működik, de köszönöm a tippet.
(#) kissi válasza Bell hozzászólására (») Máj 8, 2017 /
 
Idézet:
„E:\aaa\MPLAB-X\szimulator1.X\main.c:14”


Itt "é" nincs, az "MPLAB-X" egy "aaa" könyvtár alatt van, így szerintem nem kínálja fel a rendszer...

Mindegy, lényeg, hogy működik !
A hozzászólás módosítva: Máj 8, 2017
(#) Wezuv válasza Bell hozzászólására (») Máj 8, 2017 /
 
A project tulajdonságoknál, a gcc-nél.
(#) zenetom válasza kissi hozzászólására (») Máj 8, 2017 /
 
Viszont itt van.
Szerk.: bár az "aaa" se működött neki, ez már nekem is zavaros.
Mindegy, a lényeg, hogy működik.
A hozzászólás módosítva: Máj 8, 2017
(#) kissi válasza zenetom hozzászólására (») Máj 8, 2017 /
 
Nem frissítettem és nem láttam a monitoron, hogy Bővebben: Link , de a "speciális" karakterek sok "megmagyarázhatatlan" jelenséget tudnak produkálni:
egyszer lefordul, egyszer nem, egyszer jól működik, egyszer nem ugyanaz a program vagy programrészlet ( gondolom a windows háttérbeli folyamataitól függ, de ennek magyarázata "odaát van" ! ) !
(#) zenetom válasza kissi hozzászólására (») Máj 8, 2017 / 1
 
Egyébként - bár ökölszabály hogy nem rakunk ékezetes karaktert mappa nevekbe ilyenkor - kicsit gáz, hogy az MPLABX-ben nem tudtak erre megoldást találni. Én ameddig csak lehet, kitartok az MPLAB v8.88-nál.
(#) kissi válasza zenetom hozzászólására (») Máj 8, 2017 /
 
Nem csak ékezet, hanem pont, space, kötőjel( ez is volt!), stb. is kivétel !
(#) Wezuv válasza kissi hozzászólására (») Máj 8, 2017 /
 
Windows 1250-et használom, nincs ilyen gondom...
(#) kissi válasza Wezuv hozzászólására (») Máj 8, 2017 /
 
Én nem is akarom, hogy legyen !
(#) Wezuv válasza kissi hozzászólására (») Máj 8, 2017 /
 
Nem pontosan értem, de a dolgok olyanok, amilyenek, nekünk kell idomulni, erőszakkal nem megyünk semmire...
(#) gyoran válasza Wezuv hozzászólására (») Máj 8, 2017 / 1
 
Hát az MPLAB X engem is megőrjített ugyanígy egy magyar karakter miatt.
Ott állok egy hatsoros asm előtt és azon gondolkozom, mit nem állítottam be valahol a tízezer menüpontban.
Tudok angolul, de a semmitmondó totálisan félreértelmezhető - vagy csak az én tudásommal nem értelmezhető - hibaüzeneteket így is utálom.
Valahogy nem tűnt fel, hogy az egész projekt nem állt össze, ezért nincsenek memóriahivatkozások - és debug sem.
Mondjuk, a Win1250-et kipróbálom. Köszönet az infóért.
A hozzászólás módosítva: Máj 8, 2017
Következő: »»   18 / 25
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem