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
"Since your circuit works with one cpu, but not with the other, another thing you should check very carefully is what difference there are, between these chips. They may be not quite as compatible as you think they are." eg, the MOVC instruction might be broken on one of them: http://www.8052.com/forum/read.phtml?id=81721
andrew, infinte thanks. Now, after 2 weeks of coming crazy, i've hardly learned an ipoprtant thing about microcontrollers: always read the errata before choosing one. The workoround for me will be to choose the DS 89C420, since i always work from external ram. Thanks again, Angelo