Sida 1 av 1

Fujitsu SofTune C-kompiler

Postat: 24 juli 2011, 12:48:33
av Icecap
Jag tycker att jag kan trilla C ganska bra och i pelletsbrännaren används en Fujitsu MB90F853 CPU, en ganska hygglig 16-bitars sak med 128kB flash.

Jag har haft mina duster med den, inte så mycket själva processorn men kompilern. Och nu har jag fått ett problem jag inte kan lösa med de data jag hitta på nätet och Fujitsus sida.

Jag vill att programmet ska överstiga 64k.

Ja, jag har testat rätt minnesmodell, editerat startfilen osv men av någon anledning vägrar den att dela det hela upp i segment som kan placeras lite varstans. Allt kompilerar bra men när linkern ska göra sin del går det inte.

Så är det någon som har lite om detta så jag kan överstiga den satans gräns?

Jag har lyckats med att få alla meny-texter att ligga i minnet över de första 64k, då det var många texter och ett antal språk kom det ett problem då kompilern placerade en pointer till text-tabellerna i RAM, med stigande antal texter tog RAM'en helt enkelt slut varför jag var tvungen att skriva om alla textdeklarationer till ASM men det har fungerat perfekt och som tänkt sedan.

Jag har 53kB lediga och jag vill så gärna ha med SMS-larm och status men utan att knäcka 64k-gränsen går det inte. Jag har optimerat allt så långt det går så det finns inget mer att hämta där.

Re: Fujitsu SofTune C-kompiler

Postat: 24 juli 2011, 14:17:32
av Icecap
Nevermind, jag har hittat vägen fram!

Problemet visade sig att vara att jag har en massa filer med programbitar som #include.

Nu testade jag att ta en fil med LCD-rutinen i och göra dels en .C-fil och dels en .H-fil. .C-filen inkluderar jag i projektet (Project -> add member) och .H-filen inkluderar jag då på vanligt sätt med #include.

.H-filen innehåller bara följande:
extern void Initialize_LCD(void);
extern void Send_LCD_Char (unsigned char Data);
extern void Send2LCD (__far char * Text);
extern unsigned char LCD_Status (void);

och nu plötsligt ligger den bit programkod som detta ger över de första 64k, ganska som jag önskar. Nu jävlar ska det bli att göra om så det visslar om det hela.