hi i m trying to interface a graphics lcd jhd12864e with LPC2148 having arm7 core..i was able to interface it with 89v51rd2 successfully but it does not work with arm..can any one provide some consultancy regarding this..also if any one has worked using the same lcd please give me tour email id for contact..
but i single stepped through the code during simulation and also checked the peripherals it was doing the desired operation but after actually programming the board the lcd doesnt initialize..should i change the lcd because jhd12864e does not have much documentation and examples on interfacing with arm
Single-stepping just tests that something gets done.
Have you used an oscilloscope and measured the speed of the signals. The individual timing of all signals? Because whenever you move "working" code from one processor to another, your task must always be to: 1) Check that all signals can be correctly set as "on" or "off". 2) Check that all required timing are within the specifications. 3) Check that the voltages are as expected. 4) Check that rise and fall times are as expected. ...
Embedded development isn't just writing code and debugging. It's just as much a job that requires working with the actual electronics.
Timing has been suggested to you more than once as a likely problem. Single-stepping tells you nothing about your timing!
"during simulation ... checked the peripherals it was doing the desired operation"
But was that the correct operation?
"jhd12864e does not have much documentation and examples on interfacing with arm"
The LCD controller neither knows nor cares what processor you use.
It is up to you to read the controller's specification, and implement its requirements.
Again, you say you have a working 8051 implementation - so have you done a detailed comparison of the signals for your two implementations?
You need to get your oscilloscope out, and look at the actual signals on the wires...
Timing has been suggested to you more than once as a likely problem. Single-stepping tells you nothing about your timing! it seems you think "NAAH, I know better"
now a few comments on Andys reply But was that the correct operation?</ ALSO but was it correctly simulated (I/O simulation is very error prone) ALSO simulation does NOT not at all consider timing.
also; jhd12864e does not have much documentation and examples on interfacing with arm and so friggin what. The required signals are documented, what more do you need? a fried pigeon flying in through the window?
I suggest you refrain from posting till you have had the scope out and checked the timings against the datasheet
Erik
It has also been pointed out that "working" does not necessarily mean that it is a "good" or "correct" implementation - it could well be flawed, but in a way (or ways) that just happens not to show-up in your 8051 system.
For a classic example, see: www.8052.com/.../178415
So, not only do you need to get your scope on the new ARM implementation - to see why it doesn't work - but you also need to get your scope on the old 8051 implementation - to check how well it really is working...!