Microchip-C18 x htsoft-C18

Michal HW michalgregor@centrum.cz
Sobota Listopad 4 11:39:46 CET 2006


Ne da se tam zapisovat i cist po jednom byte. Trva to jednu instrukci, ale pointer je tri byte. Vysledny kod je des a hruza, C dava poradne zabrat vypocet adresy promenne. Zjistil jsem nektere prasarny. Napriklad Pokus=Pokus+1;. Pointer se vypocitava dvakrat!! HT-soft vubec nepouziva instrukce s aut. inkrementaci a dekrementaci TBLPTR. Napriklad pri cteni dvou po sobe lezicich instrukci. Zrovna jsem ve stadiu testu kompilatoru. Po vikendu napisu vice. Skoda ze demo verze HT-Softu ma omezene optimalizace. 
Skoda ze neni nejaky MPLAB s napojenim na COMy a simulaci HW jako je klavesnice a LCD.  Procesory neuveritelne poskocili kupredu, ale vyvojove nastroje stagnuji. 
Michal
______________________________________________________________
> Od: pavlu@HWserver.cz
> Komu: "'HW-news'" <hw-list@list.hw.cz>
> Datum: 02.11.2006 16:44
> Předmět: RE: Microchip-C18 x htsoft-C18
>
>Zdravim,
>
>Jasne, setri to praci u PICC18, ale ja si to radeji dam do #define, když
se
>mi to nechce psat:).
>
>Jinak koukam, ze delate slusne velky projekt, na PIC18F8622 a jemu
podobne s
>externi pameti se chystam ji delsi dobu, ale není cas a ani nutnost,
alespon
>dosud. No uz vim, za kym jit s radou o reseni externi sram pameti v
C18:)...
>
>Nicmene jsem dosud myslel, ze PICky tu pametu umi jen jako pamet kodu 
nebo
>prepisovatelnou s tim, ze pristup pro cteni/zapis je jako pristup do
>standardni flashky, tedy blokove hlavne pri zapisu...
>
>Nebo tomu tak neni?
>
>S pozdravem,
>		Marek Pavlu
>
>//  -----Original Message-----
>//  From: hw-list-bounces@list.hw.cz [mailto:hw-list-bounces@list.hw.cz]
On
>//  Behalf Of Michal HW
>//  Sent: Wednesday, November 01, 2006 4:46 PM
>//  To: HW-news
>//  Subject: Re: Microchip-C18 x htsoft-C18
>//  //  Jsem zvykly na bity z asm. Na preklad bitovych promennych se
podivam a
>//  zkusim to porovnat z unsigned char
>//  //  Libi se mi tento zapis u HT.C18: static volatile bit Tlacitko1 @
>//  PORTBIT(PORTB, 4);  Nebo treba GIE=0. (M.C18 - INTCONbits.GIE=0)
>//  //  Mam pole structur v externi pameti - 1024 polozek. Je tam 12
bitovych
>//  promennych. Kdyz je prepisu na unsigned char tak to hodi navic 10KB.
Je
>//  ale
>//  fakt, ze tam jeste misto mam. Popremyslim nad tim.
>//  //  Chybne pole structur. Menu v BC funguje, ale M.C18 hlasi chyby. 
(Moc
>//  jsem
>//  si s tim nehral.)
>//  /*---------------------------------------------------------*/
>//  //Definice structury
>//  //  typedef struct {
>//   far u08 *p_Text;  //Text na prvni radek (v BC far nedavam)
>//   void (*Vypis)(); //Vypis hodnoty na druhy radek
>//   void (*Edit)(); //Tato funkce spusti editaci
>//   u08 Menu; //číslo nadřazeného menu
>//    u08 Pozice //číslo řádku v nadřazeném menu
>//    u08 Cas_Obnov; //Doba obnovovaní 0=není
>//  //  } MENU;
>//  //  /*---------------------------------------------------------*/
>//  // Texty pro menu
>//  //  GLOBAL const MENU Menu_Obsah [8][23]= {
>//  //   /*---------------------------------------------------------*/
>//   // Prazdné menu - číslo 0
>//  //   {
>//    {"",Prazdna_Funkce,Prazdna_Funkce,0,0,0}
>//   },
>//  //   /*---------------------------------------------------------*/
>//   // Hlavní menu - číslo 1
>//  //   {
>//    {"Databaze",Prazdna_Funkce,Databaze_Edit,0,0,0},
>//    {"Mereni",Mereni_Vypis,Mereni_Edit,0,0,0},
>//    {"Verze programu",Menu_Verze_Vypis,Prazdna_Funkce,0,0,0},
>//    {"Stav systemu",Prazdna_Funkce,Menu_2,0,0,0},
>//    {"Konfigurace systemu",Prazdna_Funkce,Menu_3,0,0,0},
>//    {"Konfigurace site",Prazdna_Funkce,Menu_4,0,0,0},
>//    {"Tabulka udalosti",Prazdna_Funkce,Menu_5,0,0,0},
>//    {"",Prazdna_Funkce,Prazdna_Funkce,0,0,0}
>//   },
>//   /*---------------------------------------------------------*/
>//   // Servisní menu - číslo 2
>//     {
>//      ....
>//      }
>//  atd....
>//  }
>//  //  Co se tyce vetsiho procesoru mam 18F8622 64KB FLASH, pak je jeste
>//  18F8722
>//  ale ten ma pouze vetsi FLASH - 128KB.
>//  Dnes odpoledne jsem koncil na techto cislech:
>//  //  FLASH - 96%
>//  RAM - 80%
>//  External SRAM 70% (128KB)
>//   Nic optimistickeho
>//  //  Michal Gregor
>//  //  //  ----- Original Message -----
>//  From: "Marek Pavlu" <pavlu@HWserver.cz>
>//  To: "'HW-news'" <hw-list@list.hw.cz>
>//  Sent: Wednesday, November 01, 2006 4:15 PM
>//  Subject: RE: Microchip-C18 x htsoft-C18
>//  //  //  Zdravim,
>//  //  No nevim, ukazte ten kus kodu, ktery nechodi, protoze ja tu s
polem
>//  struktur
>//  potize nemam a ani studentska verze nemela...
>//  //  Zas tak moc pameti bit snad neusetri ne?
>//  Navic kdyz si predstavim ty konstrukce, ktere nekde v pameti ukladaji
>//  jeden
>//  bit a potom s nim pracuji alespon tak, jak to resi PICC18, tak to
zase
>//  setri
>//  jen pamet dat zato pamet programu uz moc ne ve srovnani s typem
unsigned
>//  char a manmipulaci s nim jako porovnavani/testovani atd...
>//  //  Osobne takova rozsireni nepouzivam ani kdyz jsou takto dostupna,
protoze
>//  budu to zase ja sam, koho to placne rakoskou pres prestiky, kdyz
kousek
>//  kodu
>//  budu chtit pouzit na jinem procesoru nebo jinem kompileru prave pri
>//  prechodu
>//  PICC18 a C18 nebo jinam...
>//  //  To toho vazne delate obrovske serie, ze se Vam vyplati takto
ztracet
>//  vlastni
>//  cas místo uziti vetsiho PIC? Bez ironie, jen zvedavost:).
>//  //  S pozdravem,
>//  Marek Pavlu
>//  //  //  -----Original Message-----
>//  //  From: hw-list-bounces@list.hw.cz
[mailto:hw-list-bounces@list.hw.cz]
>//  On
>//  //  Behalf Of Michal HW
>//  //  Sent: Wednesday, November 01, 2006 9:42 AM
>//  //  To: HW-news
>//  //  Subject: Re: Microchip-C18 x htsoft-C18
>//  //
>//  //  Asi jsem to spatne napsal. Ten bit mne netrapi, ale spoustu veci
>//  //  ulehcuje,
>//  //  setri pamet, kratsi kod... V BC to mam takto: typedef unsigned
char
>//  bit;
>//  //
>//  //  Modifikator near. Mel by u obou kompilatoru ulozit promennou do
>//  pameti
>//  //  acces, ktera ma trosku rychlejsi pristup. Ale u Mic. C18 mi tam
>//  hlasil
>//  //  chybu.
>//  //
>//  //  Co mi ale vadi je pole structur, predpokladam ze to v norme je. S
>//  tim si
>//  //  C18
>//  //  od Microchipu
>//  //  neporadila. Zatim jsem dalsi pokusy odlozil, takze nevim kde je
>//  chyba.
>//  //
>//  //  Ale je videt jedna vec, i kdyz je C normovano kazdy kompilator si
>//  dela
>//  //  co
>//  //  chce a spousta veci lze implementovat ruznymi zpusoby.
>//  //
>//  //  Michal
>//  //
>//  //
>//  //
>//  //
>//  //  ----- Original Message -----
>//  //  From: "Marek Pavlu" <pavlu@HWserver.cz>
>//  //  To: "'HW-news'" <hw-list@list.hw.cz>
>//  //  Sent: Tuesday, October 31, 2006 3:23 PM
>//  //  Subject: RE: Microchip-C18 x htsoft-C18
>//  //
>//  //
>//  //  Zdravim,
>//  //
>//  //  Sorry, ale vycitat full ANSI C kompileru, ze neumi datovy typ bit
je
>//  //  docela
>//  //  zcestne, ne???
>//  //
>//  //  Dale potom near, far a dalsi modifikatory thoto druhu jsou silne
>//  //  implementacne zaavisle, netusim tedy, jak chcete na teto urovni
>//  //  prechazet
>//  //  mezi ruznymi cilovymi platformami???
>//  //
>//  //  Cimzto bych doporucil se podivat na normu ANSI C a zjistite, ze
>//  prave v
>//  //  ohledu na datovy typ bit je C18 vice ANSI C nez PICC18...
>//  //
>//  //  Dale pak jak zavadite v BC datovy typ bit by mne vazne docela
>//  zajimalo,
>//  //  ja
>//  //  si to predstavit neumim:(...
>//  //
>//  //  Ale trebas jsem vedle jak ta jedle, nejsu kovany informatik, ale
i
>//  tak
>//  //  pochybuji, ze se pletu az tak seredne:).
>//  //
>//  //  S pozdravem,
>//  //  Marek Pavlu
>//  //
>//  //  //  -----Original Message-----
>//  //  //  From: hw-list-bounces@list.hw.cz [mailto:hw-list-
>//  bounces@list.hw.cz]
>//  //  On
>//  //  //  Behalf Of Michal HW
>//  //  //  Sent: Tuesday, October 31, 2006 12:44 PM
>//  //  //  To: HW-News
>//  //  //  Subject: Microchip-C18 x htsoft-C18
>//  //  //
>//  //  //  Pokousim se porovnat kompilatory. Oba dva maji napsano "full
>//  ANSI
>//  //  C...".
>//  //  //  Mam odladeny soft na PC - BC++ . (70 000 radku) Je to psano s
>//  //  ohledem na
>//  //  //  PIC
>//  //  //  procesory.
>//  //  //
>//  //  //  Ht-Soft se trochu hadal, ale prelozil vse. Zatim ale program
>//  nechce
>//  //  //  fungovat, nekam se zabiha. (Drobny detail :-))) )
>//  //  //  Omezeni je u promennych v externi pameti. Napriklad nelze
napsat
>//  //  //  Structura.Bit_Pole=1 nebo ++Structura.Pocet. Taky je
nestastne
>//  //  vyresen
>//  //  //  pristup do externi pameti - u zapisu se vzdy inicializuje
TBLPTR
>//  i
>//  //  kdyz
>//  //  //  zapisuji do promennych za lezicich v pameti za sebou.
>//  //  //
>//  //  //  Microchip-C18 si neporadil s polem structur. Mam jich tam
>//  nekolik,
>//  //  takze
>//  //  //  je
>//  //  //  to o nicem. Musel jsem taky vymazat z prommennych "near".
>//  //  //  Dale nezna typ promenne bit, takze misto TMR1IF=1 musite psat
>//  //  //  PIR1bits.TMR1IF=1. Taky jsem zatim neprisel na to jak zapnout
>//  asm
>//  //  vypis.
>//  //  //
>//  //  //  Zatim tedy vysledek nic moc. Potrebuji odladit vse na PC a co
s
>//  //  //  nejmensimi
>//  //  //  upravami prelozit do PICu, protoze ICDII je strasne pomala -
u
>//  //  velkych
>//  //  //  procesoru je tak akorat  vhodne na ladeni drobnych
kosmetickych
>//  //  uprav.
>//  //  //
>//  //  //  Obe verze kompilatoru jsou posldniho data
>//  //  //
>//  //  //  Michal Gregor
>//  //  _______________________________________________
>//  HW-list mailing list  -  sponsored by www.HW.cz
>//  Hw-list@list.hw.cz
>//  http://list.hw.cz/mailman/listinfo/hw-list
>
>_______________________________________________
>HW-list mailing list  -  sponsored by www.HW.cz
>Hw-list@list.hw.cz
>http://list.hw.cz/mailman/listinfo/hw-list
>




Další informace o konferenci Hw-list