SDCC pod Winows 7 64 bit

Jirka Mww jirka.mww na gmail.com
Pátek Leden 3 22:20:20 CET 2014


No tak přesně tohle jsem už zkoušel, kromě toho že tato verze SDCC striktně
trvá na tom že xdata musí mít to podtržení.
Píše se to v návodu a skutečně to bez toho nefunguje.
Já v zásadě to makro XBYTE na nic nepotřebuju, kdyby se mi podařilo nějak
naadresovat to EEpromku
přímo, byl bych spokojen. Ale protože jsem to dřív jen sprostě opsal z
příkladu k RD2 kitu, tak teď jsem v koncích.


Dne 3. ledna 2014 22:09 Andrej Jancura <aj.hwlist na gmail.com> napsal(a):

> Skuste este prepisat ten XBYTE takto:
>
> #define XBYTE ((xdata volatile unsigned char *) 0), lebo mam pocit, ze
> inak to berie ako programovu pamat, a teda konstanty v eprom.
>
> A.
>
>
> 2014/1/3 Andrej Jancura <aj.hwlist na gmail.com>
>
>> No zjavne robi problem riadok XBYTE[addr] = val; resp jeho inverzna
>> funkcia. ked sa pozriete na definiciu
>>
>>
>> #define XBYTE ((unsigned char volatile xdata *) 0)
>> data BYTE val;
>>
>> tak kvalifikatory xdata a data urcuju o aky typ pamati sa jedna. xdata by
>> mala byt externa ramka a 16 bitova adresa, co koresponduje s hlaskou const
>> char...
>>
>>
>> error 47: indirections to different types assignment
>> from type 'const-char   [61] code '
>> to type 'volatile-char fixed '
>>
>> Skuste v tej Vasej definici
>> #define XBYTE ((unsigned char volatile __xdata *) 0)
>>
>> to xdata bez tych __ . myslim, ze xdata je standartne klucove slovo v
>> kompilatoroch C pre x51 a netreba ho podciarkovat. To je dane historiou
>> vzniku jednotlivych kompilatorov a aj keil ich pouziva.
>>
>> "volatile char fixed" by mohlo korespondovat s tou castou "data BYTE val".
>>
>> Tuna Vam vsak uz okrem identifikacie problemu a nacrtu mozneho riesenia
>> dalej moc nepomozem. To treba uz niekoho, kto sa v tom vyzna lepsie ako ja.
>> Tak dufam, ze aspon nieco som Vam pomohol.
>>
>> A.
>>
>>
>>
>> 2014/1/3 Jirka Mww <jirka.mww na gmail.com>
>>
>>> No s tou hláškou si nevím rady , jde o čtení a zápis do EEPROM  89C51RD2
>>>
>>> Funkční verze ( pro staré SDCC ) vypadá takto :
>>>
>>> #define XBYTE ((unsigned char volatile xdata *) 0)
>>>
>>> a tady jsou ty funkce - je to opsané z návodu k RD2 kitu od HW serveru
>>>
>>>
>>> BYTE ReadEEPromByte(WORD addr)
>>> { data BYTE val;
>>>   while(EECON&EEBUSY){};  // wait until eeprom programming busy flag set
>>>   EECON |= EEE;           // enable eeprom space
>>>   val = XBYTE[addr];      // read byte
>>>   EECON &= ~EEE;          // disable eeprom space
>>>   return val;
>>> }
>>>
>>>
>>> // --- Write byte to given eeprom address. --- //
>>> void WriteEEPromByte(WORD addr, BYTE val)
>>> { EETIM = EETIM_VAL;
>>>   while(EECON&EEBUSY){};  // wait until eeprom programming busy flag set
>>>   EECON |= EEE;           // enable eeprom space
>>>   XBYTE[addr] = val;      // write byte
>>>   EECON = 0x50;           // write 0x5X followed by 0xAX to launch
>>> programming
>>>   EECON = 0xA0;
>>> }
>>>
>>> tu definici jsem upravil podle předchozí diskuze na
>>> #define XBYTE ((unsigned char volatile __xdata *) 0)
>>> ale to bude právě asi blbě a já tomuto zápisu nerozumím.
>>> Jestli můžete pomoci, budu vděčný
>>>
>>>
>>>
>>>
>>> Dne 3. ledna 2014 21:29 Andrej Jancura <aj.hwlist na gmail.com> napsal(a):
>>>
>>> Ten help a info treba bud cez /help /? alebo -help pripadne --help. V
>>>> najhorsom sa pozrite do manualu.
>>>>
>>>> Problem moze byt aj ta hlaska, ktoru dostanete pri samostatnom preklade
>>>> a bolo by dobre ju odstranit. Zial takto bez sdcc na w7 a zdrojaku Vam s
>>>> tym nepomozem. Ale myslim si, ze to moze byt primarny problem preco ten
>>>> make nezbehne. Proste nejaky z tych exacov nahlasi chybu a make potom nevie
>>>> vygenerovat dalsie option.
>>>>
>>>> A.
>>>>
>>>>
>>>> 2014/1/3 Jirka Mww <jirka.mww na gmail.com>
>>>>
>>>>> Když dám za make help nebo info, napíše to to samé - No rule to make
>>>>> target ....
>>>>> V PATH problem nebude, mám všechno v jednom adresáři.
>>>>> Když to překládám přímo SDCC tak to funguje, jen tam mám ještě nějakou
>>>>> chybu
>>>>> v typech proměnných
>>>>>
>>>>> error 47: indirections to different types assignment
>>>>> from type 'const-char   [61] code '
>>>>> to type 'volatile-char fixed '
>>>>>
>>>>> Je to ale přesně stejný soubor, který jde na starém SDCC pod XP
>>>>> přeložit normálně.
>>>>> Asi jsou tady nějaké lepší kontroly kompatibility proměnných.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Dne 3. ledna 2014 21:14 Andrej Jancura <aj.hwlist na gmail.com>napsal(a):
>>>>>
>>>>> Dobry vecer,
>>>>>>
>>>>>> kedze ma to zaujima, tak sa skusim spytat, skusali ste vypisat info
>>>>>> alebo help toho make.exe v dos commmand line? Mohli by vam chybat nejake
>>>>>> option, ktore treba nastavit. Druhy problem by mohli byt nenastavene PATH
>>>>>> cesty... Ale to sme na urovni dosu, takze iste znalosti predpokladam.
>>>>>>
>>>>>> Skusal ste to bez toho make.exe ako som Vam napisal uz poobede, teda
>>>>>> zavolat compile.exe, link.exe, bin2hex.exe (za nazvy execov si dajte
>>>>>> command line prikazy z toho sdcc balika, mali by byt vsetky v adresari
>>>>>> bin.) A ked vam to zbehne same o sebe, tak si to automatizujte cez .bat
>>>>>> subor.
>>>>>>
>>>>>> A.
>>>>>>
>>>>>>
>>>>>> 2014/1/3 Jirka Mww <jirka.mww na gmail.com>
>>>>>>
>>>>>>> Dobrý večer,
>>>>>>>
>>>>>>> opravdu mám v tom použití make nějaký problém. Volám to jako dřív
>>>>>>> jen
>>>>>>> make all v .bat souboru , který je v adresáři, kde je vlastní
>>>>>>> zdrojový soubor
>>>>>>> i Makefile. Na starém PC to funguje, tady to píše
>>>>>>> *** No rule to make target  all. Stop.
>>>>>>> Můžete mi ještě pomoci ?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Dne 3. ledna 2014 15:44 Jan Waclawek <konfera na efton.sk> napsal(a):
>>>>>>>
>>>>>>>> Nerozumiem, aky bol ten problem s make.
>>>>>>>>
>>>>>>>>
>>>>>>>> Ale s tym sfr at 0x80 P0 je problem ten, ze klucove slova sfr a at
>>>>>>>> sa teraz
>>>>>>>> maju pisat s dvomi podciarnikmi ako __sfr a __at
>>>>>>>>
>>>>>>>> Manual SDCC, kap. 1.5 Compatibility with previous versions:
>>>>>>>> ...special sdcc keywords which are not preceded by a double
>>>>>>>> underscore are
>>>>>>>> obsoleted (removed) in version
>>>>>>>> 3.2.0 and higher.
>>>>>>>>
>>>>>>>> Ak Vam to vsak nevypisalo chybovu hlasku typu
>>>>>>>> 89c51rd2.h:22: syntax error: token -> 'at' ; column 6
>>>>>>>> tak mate v tom pouzivani make este niekde nejaky problem. Tazko
>>>>>>>> povedat,
>>>>>>>> kym nezverejnite ten makefile.
>>>>>>>>
>>>>>>>> Doporucujem pouzivat dodany header <p89v51rd2.h>.
>>>>>>>>
>>>>>>>> wek
>>>>>>>>
>>>>>>>>
>>>>>>>> ----- Original Message ---------------
>>>>>>>> >Ne , tam nic není. Teï jsem zkusil spustit pøeklad souboru rovnou
>>>>>>>> a vypadá
>>>>>>>> >to, že je problém
>>>>>>>> >s deklaraèním souborem  89C51RD2.H  . Je tam deklarace
>>>>>>>> jednobitových
>>>>>>>> >registrù stylem
>>>>>>>> >sfr at 0x80  P0     a to at to nezná.  Asi to tahle verze SDCC
>>>>>>>> takto neumí.
>>>>>>>> >Staré to nedìlalo problém.
>>>>>>>> >Budu muset nastudovat nìjaké dokumenty, jak to nadeklarovat jinak.
>>>>>>>> >
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>>>>>> Hw-list na list.hw.cz
>>>>>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Zdravi
>>>>>>> Jirka OK1MWW
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>>>>> Hw-list na list.hw.cz
>>>>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>>>> Hw-list na list.hw.cz
>>>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Zdravi
>>>>> Jirka OK1MWW
>>>>>
>>>>> _______________________________________________
>>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>>> Hw-list na list.hw.cz
>>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>> Hw-list na list.hw.cz
>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>
>>>>
>>>
>>>
>>> --
>>> Zdravi
>>> Jirka OK1MWW
>>>
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>
>>>
>>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
>


-- 
Zdravi
Jirka OK1MWW
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20140103/fe4915b4/attachment.html>


Další informace o konferenci Hw-list