From: John P. <joh...@jp...> - 2006-11-07 20:01:51
|
Hi everyone, Have been using SDCC (Version 2.6.0 #4309 (Jul 28 2006)) for an Atmel AT89C2051 (MCS51) chip which has the rather limited RAM space of 64 bytes. I wish to have a number of strings (char arrays) in code space as well as arrays of pointers to such strings. (The array of pointers is so the strings can be accessed via an index rather than by name.) The code, const char Thw_cmd[] = "thw"; const char Cnts_cmd[] = "cnts"; const char *cmds[] = { Thw_cmd, Cnts_cmd, NULL }; duely places the strings in code space BUT the *cmds[] array in RAM space. As a result it also adds quite a bit of code to initialise cmds[]. Is it possible to have the compiler place the cmds[] array in code space as well? That being so how could I declare a function so it would take a pointer so such a const array of pointers to const strings? Thanks for any help you can give, best wishes John |