I would like to set a (fuse?) bit to select the external Flash/PEROM as program memory instead of default Flash internal to the AT89C51. Is the BLJB bit the one I want to set? How do I set it?
I doubt this is an SFR bit considering it determines the source of opcode fetches. If it were, you'd be changing your code source on the fly which might be a bit tricky to manage. If this is not an SFR bit, then perhaps its something you set with an option in a device programmer?
Ah yes, as the Data Sheet clearly states: "Hardware register can only be accessed through the parallel programming modes which are handled by the parallel programmer." and, "The only hardware register of the AT89C51RD2/ED2 is called Hardware Byte or Hardware Security Byte (HSB)." The BLJB bit is in the Hardware Security Byte; ergo, you must use a programer option to set it. Is that not clear?
Yes, that answers my question. Thank you.
Andy, are you getting soft you asked the poster to find it in the datasheet and ended up finding it for him :) Erik
"The BLJB bit is in the Hardware Security Byte; ergo, you must use a programer option to set it. Is that not clear?" It's plain wrong. It can be modified by software.
The BLJB bit is in the Hardware Security Byte; ergo, you must use a programer option to set it. Is that not clear? No, it is not clear. Elsewhere in the data sheet, an API call is listed to program both the BLJB fuse, and the HSB ! See Table 76 of doc4235. So it may be possible that this can be accomplished with FLIP.