??? 10/13/06 12:49 Read: times |
#126405 - where to place the code Responding to: ???'s previous message |
Arvind,
Only the FLASH_API (FLASH_PROGRAM or call-it-what-you-want) must be above 2000h. More precisely, the part, when you flip the bits in FCF to map the BOOT FLASH (Block 1) into the 0000h-1FFFh area. In other words, the rest of your code, including call FLASH_whatever may be wherever you want; plus the user code starts ecexuting from 0000h, so that's where your jmp Start must be located. Arvind said:
I dont understand fully FIRMWARE_FLAG: db 0 ... That's an initial value, indicating the "untouched-yet" or "fresh" device. The flash location addressed by FIRMWARWE_FLAG will contain 0 after you burn the firmware into it. After the password is entered the first time, you should erase it (=0FFh), which then upon subsequent resets indicates "device already in use, password has been already assigned". You might do it in any other way you want, of course; e.g. initialize to 0FFh and set to 0 when password is entered, or having a default password; it's up to you. Arvind said:
also ... ORG 3200h is the starting address of my START subroutine and not the address of my password ... OK, why not. Then tell us, where do you want to place the password? Arvind said:
you can see that I have moved the value of r4 and r5 in dptr ... Yes, clearly indicating, that you want to program data into 3200h location. If you code is supposed to sit there, you should not attempt to overwrite it...! Arvind said:
I am sorry 3200 is decimal Then you shouldn't append consistently the h suffix to it, indicating clearly it is a hexadecimal value... Arvind said:
and I have converted to hex and then moved to dptr ... and jumping to 3200h ... could please tell me the stupidity I am doing here ... as I am confused ... The trouble is, that you wrote the comments in a wrong way. OK, rethink the whole thing once again, rewrite it (best from scratch) and come back. Jan Waclawek PS. Please stop using SMS abbreviations such as "daz y" instead of "that's why". SMS-talk is considered rude on this forum. Thanks. |