I am getting an error while burning my program to AT89c51. Error is that it can't write on address "2D0" hexadecimal . Can any one please tell me why is it not writing on this address. Are there any specific addresses in 4k code space where we can't write ?
check your program since the 8051 assembler never check for program over lap you will find that two instruction are using the same location so the first take the location and when the other try to be in the same location it give the error i had the same problem a while ago so check the list file
Good luck
I don't think that here (I mean this thread) is the ideal place to continue this argue, but that's a bad advertise for keil product.
Are you saying that BL51 didn't raised the warning L5. If not what list did you checked ? the file with "map" extension ?
mmohamed15 said:
you will find that two instruction are using the same location so the first take the location and when the other try to be in the same location it give the error
Who gives you the error ? The programmer ? If yes then it was an error in HEX file.
But the BL51 creates an absolute object module (based on OMF51 object module provided by A51) which is used by OH51 Object-HEX convertor which generates the Intel HEX file.
So, on which part of this link you've done the changes to solve the overlap problem ?