I defined a array like this: uchar *tuning_order[160]={}; or const uchar *tuning_order[160]={}; but Keil said: error C249: 'DATA': SEGMENT TOO LARGE I do not konw why?I use the AT89S51.
"I know it is a bother to read it, but, unfortunately, that is the name of the game." The relevant part of the Manual is: http://www.keil.com/support/man/docs/c51/c51_le_memspecificptrs.htm (You will need to have read the previous section that I mentioned, too). "I will read the 'bible' documents carefully." In order to understand why Keil has "Memory-Specific Pointers" and special keywords to specify the memory areas for variables, you will probably need to read the so-called 'bible' documents first. The memory areas are described right at the start of Chapter 1 You would probably also benefit from this tutorial: http://www.8052.com/tut8051.phtml (again, the memory areas are described in Chapter 1)