Mirrochip xc8 (1.36)

Miroslav Draxal evik na volny.cz
Středa Březen 23 23:47:13 CET 2016


Ne , to není pravda. Ty makra mají jak malá tak velká písmena.

#else

#define EEPROM_READ(addr) 0      // Added only for code portability

//#define eeprom_read(addr)      0

#define EEPROM_WRITE(addr, value)     // Added only for code portability

// #define eeprom_write(addr, value)

#endif

Tohle je výpis z pic18.h (ver.1.36) , mnou zakomentované ty makra psané
malými písmeny.

 

Ale přišlo mi soukromě, mimo konferenci tohle, viz dole, což je zajímavá
věc. Už jsem jí zkoušel a na jednoducho fungovala. K EEPROM se dá již
přistupovat z C jako k RAM.

 

Dobrý den,

Koukal jsem na to a dokonce i zkoušel a zdá se, že to chodí. Ale pro starší
projekty, které nechci předělávat, protože je tam spousty práce s EEprom
potřebuji zachovat eeprom_read, eeprom_write. Děkuji za reakci.

 

-----Original Message-----
From: Andrej Jancura [mailto:aj.hwlist na gmail.com] 
Sent: Wednesday, March 23, 2016 5:12 PM
To: evik na volny.cz
Subject: Mirrochip xc8 (1.36)

 

Dobry den p.Draxal,

 

podla XC8 Compiler Users guide, v kapitole 5.5.5 pisu, ze funguje pamatovy
kvalifikator eeprom, takze rutiny citania a zapisu z eeprom by mali byt uz
priamo v kompilatore a v tych includoch, ktore ste spominal, len kvoli
kompatibilite so starsimi verziami kompilatora.

Skuste si to vyskusat.

 

A.

 

 

 

 

 

From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of mpap na quick.cz
Sent: Wednesday, March 23, 2016 7:54 PM
To: HW-news
Subject: Re: Mirrochip xc8 (1.36)

 

Díky, že jste se podělil o výsledek.
To je zvláštní, makra jsou velkými písmeny a stejně pojmenované funkce zas
malými, nečekal bych konflikt názvů. Smekám klobouk, 5 hodin bych tomu
nedal, raději bych si ty funkce napsal, ale proti gustu .... .

Drobné postesknutí: Je škoda, že nejen výše uvedené funkce, ale i další v
MLA pro PIC16 a PIC18 dlouhodobě MCHP "osekává", přitom za něj nenabízí
náhradu. Prostě se očekává přesun na 32 bitů -> více hw zdrojů -> plodná
půda pro generátory balastu typu MCC. Jak tady na fóru mnohokrát zaznělo,
vývoj nezastavíš .... .

On 23.03.2016 15:41, Miroslav Draxal wrote:

No něco podobného jsem se také dočetl na jiném fóru. Musím podotknout, že
tohle je tedy hodně přes čáru, i když se vypíše varování, ale nenapíše kde a
co (:: warning: (1459) peripheral library support is missing for the
18F2620). Musím dále konstatovat, že se makro musí v  C:\Program Files
(x86)\Microchip\xc8\v1.36\include\pic18.h zakomentovat a pak teprve napsané
rutiny pro čtení a zapisování do EEPROM fungují. Jinak to hlásí konflikt
makro<>procedura. Měl jsem včera čas, tak jsem si s tím hrál cca 5 hodin, a
tohle je mé zjištění.  

 

From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of mpap na quick.cz
Sent: Tuesday, March 22, 2016 11:16 PM
To: HW-news
Subject: Re: Mirrochip xc8 (1.36)

 


Máte pravdu, makra EEPROM_WRITE i EEPROM_READ je možné v kódu použít, chybí
však po kompilaci v asm 
výpisu (zkoušel jsem na malém testovacím projektu).

Našel jsem k této záležitosti info:
There is a dependency on the PLIBs, which were moved to a separate installer
in v1.35. If you do not want to use the PLIBs, then your approach of writing
your own routines is best until MCC supports your device.
 
The macros should not be silent. We will add a warning message in the next
release of XC8.
 
Zdroj: http://www.microchip.com/forums/m886762.aspx



On 22.03.2016 20:22, Miroslav Draxal wrote:

Díky za reakci,

O tomhle vím, ale bohužel to jaksi neumím použít.

I když použiji 

1/#include <eeprom_routines.h>

Nebo

extern void eeprom_write(unsigned char addr, unsigned char value);

extern unsigned char eeprom_read(unsigned char addr);

 

tak mi to stále bere definici makra z "C:\Program Files
(x86)\Microchip\xc8\v1.36\include\pic18.h"

kde je makro

#define EEPROM_READ(addr)     0             // Added only for code
portability

#define eeprom_read(addr)        0

#define EEPROM_WRITE(addr, value)     // Added only for code portability

#define eeprom_write(addr, value)

 

Takže jak z toho ven?

 

 

From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of mpap na quick.cz
Sent: Tuesday, March 22, 2016 7:21 PM
To: HW-news
Subject: Re: Mirrochip xc8 (1.36)

 

Dobrý večer,

napsal jsem si svoje rutiny, ale to co hledáte je pro XC8 v1.36 v
C:\Program Files (x86)\Microchip\xc8\v1.36\include\eeprom_routines.h

Miloš

On 22.03.2016 19:03, Miroslav Draxal wrote:

Dobrý večer,

Nepracujete někdo s XC8 (1.36)? 

Zrušili tam makra eeprom_read a eeprom_write. Samozřejmě, že si je mohu
vytvořit, ale chtěl jsem využít vnitřních knihoven pro práci s eeprom. Nějak
se mi ale nedaří. Nemáte nějaký example ale pro verzi 1.36?

Díky, Míra

 








_______________________________________________
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

 






_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list

 

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


Další informace o konferenci Hw-list