I am using a Rix51 board with 8xc251TB and SAB82526 HDLC controller. I want to memory map the HDLC registers so that I can easily read-write to them in C code. For example to write to a FIFO register addressable at 0x40 location internally in SAB82526 I do the following : #define FIFO *(volatile unsigned char far *)(0x01FD40) FIFO = 0x01; Is the above incorrect in any way because I am unable to write in the above manner . Though there are no errors/warnings during building but while running on the simulator (uvision2) , I dont get the expected values at expected addresses. Can anyone help? Thanks Puneet
Does the memory window not show externally mapped i/os? How could it? Maybe I don't understand but unless you have an in-circuit emulator hooked up to real hardware, you're not going to see your real mem. mapped values. - Mark
i am yet not running the application on actual hardware but just on the simulator environment provided by uvision. So i guess the memory window should show me the details. Also if you know of any monitor program for downloading and running (with breakpoints,etc) the 251 applications on a Rix51 board, please let me know. Thanks
Maybe an application for the newly-documented rwatch and wwatch Predefined Debug Functions? See the post, "rwatch, wwatch in uVision v2.07 & later" http://www.keil.com/forum/msgpage.asp?MsgID=1025 Basically, they let a Signal Function wait until a specific address is read/written. So perhaps you could use them to wait for an access to the address of your mem-mapped peripheral, and then do whatever's required when the access occurs?