|
| undgå ram plads Fra : Kasper |
Dato : 09-03-08 11:00 |
|
Hej,
jeg har et array as text som er konstabel og ligge i flash på mit embeded
controller, det gør det også med code kommandoen, men alligevel optager
denne linie 20bytes ram, formentlig pointer til hver string i array.
Hvordan kan jeg få de pointere ned i flash også?
problemet er jeg har ca. 20 af de linier:
char code *mnu0000[] = {"Calibrate Channel 1...","Calibrate Channel
2...","Calibrate Channel 3...","Calibrate Channel 4..."," "/*"Calibrate
4-20mA Out..." not used now*/,"Hardware Test...","Show
Configuration","Tools...","Save Configuration","",};
linierne bliver brugt i denne struct:
//menu structure :
code struct Menu_data_type
{
unsigned int menu_nr;
char code *menu_title;
char code **menu_data;
void (*pt2function)(unsigned char index);
} menu_data[] = {
0x0000, "Main Menu :",mnu0000,0,
0x0001, "Calibrate Channel 1 :",mnu0001,0,
Det er Keil compiler jeg bruger
Kasper
| |
Kent Friis (09-03-2008)
| Kommentar Fra : Kent Friis |
Dato : 09-03-08 11:20 |
|
Den Sun, 9 Mar 2008 11:00:16 +0100 skrev Kasper:
> Hej,
>
> jeg har et array as text som er konstabel og ligge i flash på mit embeded
> controller, det gør det også med code kommandoen, men alligevel optager
> denne linie 20bytes ram, formentlig pointer til hver string i array.
>
> Hvordan kan jeg få de pointere ned i flash også?
> problemet er jeg har ca. 20 af de linier:
> char code *mnu0000[] = {"Calibrate Channel 1...","Calibrate Channel
> 2...","Calibrate Channel 3...","Calibrate Channel 4..."," "/*"Calibrate
> 4-20mA Out..." not used now*/,"Hardware Test...","Show
> Configuration","Tools...","Save Configuration","",};
$ cdecl
const char * const array[];
declare array as array of const pointer to const char;
Din compiler bruger så "code" i stedet for "const" (gammel compiler?)
men måske kan det hjælpe dig videre alligevel.
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
Kasper (09-03-2008)
| Kommentar Fra : Kasper |
Dato : 09-03-08 11:35 |
|
> Din compiler bruger så "code" i stedet for "const" (gammel compiler?)
> men måske kan det hjælpe dig videre alligevel.
Tak, det virker :)
den kan også bruge const, men virkningen er den samme umilbart
Kasper
| |
Kent Friis (10-03-2008)
| Kommentar Fra : Kent Friis |
Dato : 10-03-08 17:24 |
|
Den Sun, 9 Mar 2008 11:34:56 +0100 skrev Kasper:
>
>> Din compiler bruger så "code" i stedet for "const" (gammel compiler?)
>> men måske kan det hjælpe dig videre alligevel.
>
> Tak, det virker :)
>
> den kan også bruge const, men virkningen er den samme umilbart
"const" er standard C, det er "code" ikke.
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
|
|