Fórum témák

» Több friss téma
Fórum » Linux-szal az elektronikában
 
Témaindító: Pethy, idő: Jún 7, 2006
Lapozás: OK   2 / 5
(#) davidka hozzászólása Júl 5, 2007 /
 
Sziasztok!

Segítséget szeretnék kérni sdcc ügyben!
Ubuntut használok. Felraktamn a piklab-ot és az sdcc-t. Fut, működik minden rendesen, de amikor le akarom fordítani sdcc-vel folyton ezt a hibaüzenetet kapom:
"implicit declaration"

Ez mit jelent? És hogy tudnám orvosolni?

Segítségeteket előre is köszönöm!
(#) p_istvan válasza davidka hozzászólására (») Júl 5, 2007 /
 
Elég régen programoztam C-ben, de valószínű (igaz nem adtad meg a C programot) hogy nincs a program elején egy vagy több változó vagy függvény deklarálva (változó nevét és típusát meg kell adni). A basicon kívűl kevés nyelv viseli el az értékadás közben létrejövő változót.

Üdv.
(#) raron hozzászólása Júl 18, 2007 /
 
Van egy PikLab nevű program (olyan, mint az MPLAB) lehet mellé tenni elég sok fordítót...
PikLab - weblap

Nemsokára írok róla részletesebben...
(#) Lucifer hozzászólása Júl 28, 2007 /
 
Sziasztok!

Egy másik topikban már felvetettem SDCC-s, Piklabos problémámat.
Most megpróbálom itt hátha több okosság születik rá.

Az alap probléma a következő: 16F818-as PIC-el szeretnék karakteres LCD-t vezérelni. Találtam is rá kész rutint, csak 18F252 PIC-re.

Összerakosgattam a programot, fordítanám, és szól, hogy nem találja a PORTAbits.RA0-t. Megnéztem a headert tényleg nincs benne definíció a PORTA bitjeire. Na erre előszedtem azt a 18F-es headert amire az eredeti projekt készült. átvágólapoztam a bitek definícióját:

  1. extern __sfr __at (PORTA_ADDR) PORTA;
  2.  
  3. typedef union {
  4.         struct {
  5.                 unsigned RA0:1;
  6.                 unsigned RA1:1;
  7.                 unsigned RA2:1;
  8.                 unsigned RA3:1;
  9.                 unsigned RA4:1;
  10.                 unsigned RA5:1;
  11.                 unsigned RA6:1;
  12.                 unsigned :1;
  13.         };
  14.  
  15. } __PORTAbits_t;
  16. extern volatile __PORTAbits_t __at (0xf80) PORTAbits;


A projekt két fájlt tartalmaz: egy maga a főprogram, a másik az LCD kezelő. Mindkettő lefordul magában, viszont a projektet fordítva hibát kapok:

error: missing definition for symbol "_PORTAbits", required by "hd44780.o"

A netet végigbóklásztam minden hasonló problémánál valami lib fájllal történő linkelést írtak.

Egy példa hasonló gondra

Végigkerestem mindent de hasonló libio16f*.lib fájlt nem találtam a gépemen. Kínomban megnéztem a pic16f818.lib és a pic18f252.lib tartalmát. A 18-aséban találtam olyat, hogy PORTAbits, a 16f818-éban nem.

Szóval az eb itt van valahol elhantolva.
Hogyan lehetne módosítani a lib fájt?
Bináris fájl, kézzel nem klehet babrálni.

Vagy akkor közelítsük meg a másik oldalról: nekem csak a bitekre való hivatkozásra van szükségem. Hogyan lehetne megoldani egyszerűbben?
Az AVR-es topikban olvastam egy megoldást, ami hasonlóan működik a 18-as headeréből kivágottal. Ott nem

  1. extern volatile __PORTAbits_t __at (0xf80) PORTAbits;


így hozták létre, hanem

[code
]#define PORTAbits (*(__PORTAbits_t*) PORTA_ADDR)
[/code]

ily módon.
Az eredmény ugyanaz.

A szerencsétlenkedésiemet összeraktam egy tar fájlba felrakom hátha valaki tud rá okosságot. A header fájl is benne van pic16f818m.h néven. Azt includeoltam mindenhova. Abban benne van a PORTAbits definíciója.

Szóval itt állok meglőve még mindig.....

Bármilyen ötletet szívesen veszek.
(#) Lucifer válasza Lucifer hozzászólására (») Júl 28, 2007 /
 
A cucc lemaradt.

sdcc.tar.gz
    
(#) raron válasza Lucifer hozzászólására (») Júl 29, 2007 /
 
A .o gondolom bináris. Ezt nem tudod átirni (nincs hosszú I-m), a forrását kel módositani, és ujraforditani.
De azt is el tudom képzelni, hogy a linkelő program nem jó.
(#) Lucifer válasza raron hozzászólására (») Júl 29, 2007 /
 
Szia!

Az *.o fájlok ha jól tudom valami objektum fájlok. Nem is ott kell keresni a problémát hanem ahogy te is mondtad a linkelésnél.

Készíteni kellene egy olyan lib fájlt ami tartalmazza a Porta bitjeinek a definícióját, és azzal linkelni.

Találtam róla finomságot: http://sdcc.sourceforge.net/doc/sdccman.html/node44.html

Nahh erre gyorsan összedobáltam egy c fájlba a definíciót, és ráeresztettem a fenti linken leírt parancsokat. A lib fájl el is készült, de nem bináris fájl lett, hanem egy szépen olvasható html-hez hasonlító struktúrájú fájl amiben természetesen nyoma sincs a Portabits-nek.
Szóval
(#) gyengus hozzászólása Okt 6, 2007 /
 
Hogy lehet kommunikálni saját progiból Linux alatt PIC18F4550-en futó CDC Firmwarrel?
A Win COM portnak ismeri fel driver telepítés után. Linux először modemként akarja azonosítani, aztán kiírja, h nem az.
(#) Lucifer válasza gyengus hozzászólására (») Okt 6, 2007 /
 
Ha jól emlékszem a /dev/ttyACM0 t kell megnyitni mint terminált.


Ja és az előző hozzászólásaimra megkerült a válasz. SVN verziót kell használni, és abban már benne van a headerekben minden fontos dolog.
(#) gyengus válasza Lucifer hozzászólására (») Okt 6, 2007 /
 
és azt, hogy kell?
(#) Lucifer válasza gyengus hozzászólására (») Okt 6, 2007 /
 
cat /dev/ttyACM0 | od -t x1 -w1 -v -Ax

És elviekben máris büfizi a PIC a terminálba a szöveget.
Persze ha kommunikálni is akarsz akkor szerzel valami sorosport terminált. Hadd ne mondjak most példát Linuxra van milliárd féle. Én pl. gtkTermet használok. De ez csak ízlés dolga.
(#) gyengus válasza Lucifer hozzászólására (») Okt 7, 2007 /
 
majd kipróbálom, köszi
(#) L_Maqvus válasza Lucifer hozzászólására (») Okt 7, 2007 /
 


Szerintem lenne rá példa, mert nem mindenki tud angolul olyan szinten sajnos. Köztük én is...

(#) Lucifer válasza L_Maqvus hozzászólására (») Okt 7, 2007 /
 
Tudom, de azóta Gory írt egy cikket a témában.
Majd ha sok időm lesz akkor inkább a dolog Linuxos megközelítését írom le részleteseben.
(#) zsozso hozzászólása Okt 15, 2007 /
 
Sziasztok!

Átolvasva a husz.okat felraktam a piklab-ot és a sdcc-t.
A MC TCP-STACK jét kéne lefordítanom (a másik pic-es topikban ajánlották, hogy rakjak fel windózert... brrrrr. még a gondolat is szörnyű). Szoval hibát kapok a fordításkor.
"Delay.h:42: delays.h: No such file or directory". A delays.h -t leszedtem a netről hova rakjam az sdcc-nek hogy lássa és egyáltalán kell-e neki.

Köszi
Zs
(#) zsozso válasza zsozso hozzászólására (») Okt 16, 2007 /
 
Válaszolok magamnak!
Megoldódott. Egyszerűen beraktam a delay.h fájl mellé és elfogadta.

Érdekes viszont, hogy a fájlokban kétféle compiler-re hivatkozik. a C18 asra és a HI-tech c compilerjére. Úgynéztem az sdcc a C18-ast emulálja? Jól gondolom?

Zs
(#) ensium hozzászólása Okt 16, 2007 /
 
Nemtudom, hogy próbáltátok-e már a Wine nevezetű programot? Ha nem kell telepíteni a windowsos programot, hanem úgyis működik hogy a telepített változatot másik gépre áthúzod pl. akkor ezzel elvileg menni fog Elvileg, mert nekem se akart minden programot futtatni anno. Viszont a doom 3 futott "alatta"
(#) zsozso válasza ensium hozzászólására (») Okt 16, 2007 /
 
Én már próbáltam.
Fut a telepítős progi is. PL. PS7.0, a 8 as változat már nem, a PanoramaFactory, CoolEdit, Totalcommander. Ezek mind futnak. Viszont nem fut a stamp2.exe pedig az egy dos-os alkalmazás.

Zs
(#) Lucifer válasza zsozso hozzászólására (») Okt 20, 2007 /
 
Dosos progihoz használd a dosemu-t.
Illetve dosos játékokhoz a inkább a dosboxot.
(#) gyengus hozzászólása Nov 1, 2007 /
 
Voltam az egyetemen a DSP laborban, olyan AVR32-es fejlesztőpaneleket mutattak amin Linux (BusyBox) futott. :eek2:
Arra lennék kíváncsi, h PICre is lehet-e Linuxot tenni? Milyen áramkörök kellenének hozzá?
Próbáltam guglizni, de Linux alatti pic programozásra kaptam linkeket.
(#) raron válasza gyengus hozzászólására (») Nov 1, 2007 /
 
Nézz körül a CentOS linux körül..
Elméletileg lehet, de nem fog túl sokat tudni.
(#) gyengus válasza raron hozzászólására (») Nov 2, 2007 /
 
Köszi
Csak beinvitáltak 1 ilyen projektbe és mivel eddig PICeket tanulgattam, gondoltam érdekességképpen utánanézek, annak vmely típusán fut-e a Linux.
(#) raron válasza gyengus hozzászólására (») Nov 11, 2007 /
 
Szivesen. Szerintem max valamelyik óriási 18F-en megy talán...
(#) Lucifer válasza raron hozzászólására (») Nov 11, 2007 /
 
Ha emlékeim nem csalnak a hackadayen volt valami ilyen projekt bemutatva dsPIC-ekkel. Bár lehet, hogy az "csak" RTOS volt és nem Linux.
(#) Lucifer hozzászólása Dec 6, 2007 /
 
Üdv!

Nincs valakinek valami infója arról, hogy miért nem működik rendesen az FTDI USB soros átalakítója Linux alatt?

Beállítok egy adott baud értéket, mondjuk 19200-at. Ezt beállítva a terminálon nem jön vissza semmi. Ha 4-edét, 8-adát állítom be, akkor darab bájtra jól jönnek viszza a dolgok, de nem jó a tartalmuk.

Viszont. Az USB-os JTAG adapterben is FTDI 232-van ua. a meghajtót tölti be hozzá, és az működik avrdudeval mint soros portos programozó.
(#) raron válasza Lucifer hozzászólására (») Dec 6, 2007 /
 
Hogy nyitod meg a sorosportot?
(#) Lucifer válasza raron hozzászólására (») Dec 6, 2007 /
 
Mindenhogy.

minicom, gtkterm, kontorllerlab soros port monitorja. Mindegyiknél ugyanúgy rossz. A vas jó, winen megy.
A sorosport driver sem rossz, mivel az avrdude sorosportként látja, ír rajta, programoz.

Van valami csavar, hogy a POSIX szabvány vagy mi máshogy méri a baud értéket, valami crossplatform API doksijában legalábbis ezt olvastam. De ez nem megy sehogy sem normálisan. Paritás, stop stb stimmel. Továbbá van valami setserial nevű program, amivel tudsz olyan sorosportbeállításokhoz hozzányúlni amiket normál programokból nem lehet. Na valahol e program tájékán lehet az eb elhantolva.
(#) Babó22 hozzászólása Máj 18, 2008 /
 
Kincset leltem. Nem tudom, ki milyen linux rendszert használ. Én Ubuntu Linuxot használok. A http://packages.ubuntu.com honlapon leltem elektronikai jellegű csomagokat. Ki kell választani az általad használt változatot (Dapper, Edgy, Feisty, Gutsy, Hardy), és ott az Elektronika részre klikkelni. Nem tudom, de szerintem ezek a csomagok elfutnak Debian Linuxon is, mivel a csomagok .deb kiterjesztésűek.
(#) IMi hozzászólása Jún 13, 2008 /
 
Hello!
Megtörtént a nagy áttérés, most keresem eddig használt programok linuxos változatát, helyettesítőjét. A nagyja meg i s van: eagle , povray+nextgen, kontrollerlab.
Viszonont nem találok EHHEZ hasonló előlap tervezőt (wine-al sem megy ), linuxban jártas fórumtársakat kérem adjatok valami ötletet, mivel lehetne helyettesíteni ?
(#) MaSTeRFoXX válasza IMi hozzászólására (») Jún 13, 2008 /
 
wine-val próbáltad már hogy fut-e? Én lehet hogy megpróbálom mindjárt..
Következő: »»   2 / 5
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