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