Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
11/30/07 06:15
Read: times


 
#147617 - It's been a while...
Responding to: ???'s previous message
...but this sounds familiar.

Alistair Goodfellow said:
I'm using a Dallas DS89C450 microcontroller to control a TFT monitor. I have a large lookup table with the appropriate scaling requirements for the different sources the monitor accepts (NTSC/PAL/VGA/etc).

This is currently stored as a constant in code memory and the monitor works fine. I'd like to add an option to change this on the fly, however, so this will need to be stored as a variable. The table is too large to be stored into data memory so I wish to store it in xram.

When I do this, however, the monitor doesn't work properly and displays random noise on the screen (sometimes looks like memory contents, sometimes it's a constant colour) instead of the input source or a blank screen in the case of no signal.

Have you done anything successfully with the internal XDATA RAM on the DS89C450? I think Russ has some good advice.

Russ Cooper said:
Can you write a simple routine to dump the contents of the table, just to see if it's getting set up in RAM properly? Or maybe do the same thing with an ICE or a debugger or whatever?

If the table appears intact (and remains so as you run your program), then the problem may be that you are not accessing it correctly. On the other hand, if the table looks wrong, then maybe your startup code is incorrect, or your linker settings are incorrect, or the table is getting clobbered before you try to use it, or ...

-- Russ

Right along those lines, look at the manual.

Ultra-High-Speed Flash Microcontroller User’s Guide said:
The ultra-high-speed microcontroller incorporates an internal 1kB SRAM that is usable as data, program, or merged program/data memory. Upon a power-on reset, the internal 1kB memory is disabled and transparent to both program and data memory maps.

I assume you're using the Keil toolchain. I don't remember what all is in the startup file for this device, but you might want to check to ensure that DME0 is being set to 1 so that the internal XRAM is active as data memory.

--Sasha Jevtic


List of 16 messages in thread
TopicAuthorDate
Dallas DS89C450 - placing a large array into xram            01/01/70 00:00      
   of course it does            01/01/70 00:00      
      OP is using large memory model            01/01/70 00:00      
         Yep - I'm using the large memory model            01/01/70 00:00      
   large memory model and timing            01/01/70 00:00      
      I'm using the XRAM inside the DS89C450            01/01/70 00:00      
         Do Not Forget pdata            01/01/70 00:00      
            I'll look into this            01/01/70 00:00      
   Divide and conquer            01/01/70 00:00      
      Thanks - I will try this            01/01/70 00:00      
         one other thing ...            01/01/70 00:00      
         You're welcome            01/01/70 00:00      
            We've fixed it            01/01/70 00:00      
   It's been a while...            01/01/70 00:00      
      Thanks - That's fixed it!            01/01/70 00:00      
   Thanks for your help            01/01/70 00:00      

Back to Subject List