Hi, Would anyone please advise me the steps as how to configure the settings [startup.a51]?? so that program can access or allocate XDATA varibales in 32K memory size?? Thanking you in advance. Cheers, Simon
Unless you have some strange derivative you don't need to modify startup.a51. Just make sure you've specified the correct size and start address for your xdata memory in Target->Options then declare variables with the xdata keyword: int xdata foo; A good "reading of the manual" wouldn't do any harm either. Stefan
Thanks for your reply. My test program works with internal ERAM 768 bytes, like XRAM. When I install 32K RAM board, and with xdata variable declared to a larger size, it is not working. I have studied the data sheet and it says that AUXR register is required to set to 0x03 to enable 1. ALE active with MOVX or MOVC instruction [AO=1] 2. to enable external data memory access [EXTRAM=1] As there are a number of things I have to check, such as the memory board...etc., I would appreciate very much of your advice on whether the AURX=0x03 is set/ declared in the main program or in the startup.a51 file so that I can focus on trouble shooting other possibilites. Thank you very much for your time and advice. Simon
I didn't notice that you had specified the derivative in the subject line. Unfortunately I don't know anything about this derivative, maybe someone else can answer your question. It's a good idea to include all the pertinent information in the body of the message. Stefan
Hi Stefan, Thanks for your reply. I'll work on it and see how it will come out. Your advice is appreciated. Simon
View all questions in Keil forum