DS89C430, pointer to constants dont work.

Hi all,

i've a really strange issue with a DALLAS DS89C430 full 8051 compatible chip.

I've an app. with external program memory, and external sram (both 70ns acccess time, clock is 25mhz).

When i compile my code with C51 7.1 or 7.5, everithing work, i can see a led blinking, i can see chars coming out from the UART0, filling SBUF0, but everytime in my source code i use something like *p++ , or a=tab[5], it don't work, or better, strange chars are read out, not the cortrect one.

If i put in the same socket a DS87C520, slower but similar chip, WITH THE SAME CODE, everything works correctly. Anyway, i don't think is a memory access issue, since i've measured with the scope, the memories give data correctly inside the PSEN time.

So, seems an op codes compatibility issue, or a bad adressing, or even, a wrong place adressing.

I would be happy even for some suggestion, Infinite thanks.

Angelo

Parents
  • If i put in the same socket a DS87C520, slower but similar chip, WITH THE SAME CODE, everything works correctly

    That's a very strong hint that, your olliscope work notwithstanding, the problem is indeed a hardware issue --- after all, you changed nothing but hardware, and it started to work.

    The most likely explanation is memory access timing. Check your memory timing setup (some DS chips support "wait states" for XRAM accesses, which may have been configured incorrectly) very carefully, and make sure your quartz oscillator has the right frequency, and all processor clock scalers are what you think they should be.

Reply
  • If i put in the same socket a DS87C520, slower but similar chip, WITH THE SAME CODE, everything works correctly

    That's a very strong hint that, your olliscope work notwithstanding, the problem is indeed a hardware issue --- after all, you changed nothing but hardware, and it started to work.

    The most likely explanation is memory access timing. Check your memory timing setup (some DS chips support "wait states" for XRAM accesses, which may have been configured incorrectly) very carefully, and make sure your quartz oscillator has the right frequency, and all processor clock scalers are what you think they should be.

Children
More questions in this forum