We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I have had a rather ugly problem caused due to the optimization. I am reading data from a fifo. The read port is at address 0x8200 (read only access). It also has a read reset port. Its address is also 0x8200 (both xdata) (write onle access). When I declare the varables for accessing the fifo like this:
xdata uchar fifo_data _at_ 0x8200; xdata uchar fifo_rres _at_ 0x8200;
xdata uchar fifo_data _at_ 0x8200; #define fifo_rres fifo_data
fifo_rres = 0xff; // reset fifo read jpg_adr = 1; // set jpg file address to the next address to be read fbuf_start = 0; // set buffer start pointer to zero fbuf_in = 1; // set buffer input pointer to next free byte in buffer fbuf_pos = 0; // set buffer read pointer to zero fbuf_startadr = 0; // set buffer startadress to zero fbuf[0] = fifo_data; // read first byte from jpg file