Microchip-C18 x htsoft-C18

Marek Pavlu pavlu@HWserver.cz
Čtvrtek Listopad 2 16:44:12 CET 2006


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




Další informace o konferenci Hw-list