Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
09/12/03 10:57
Read: times


 
#54621 - RE: AT89C51CC01 update
Responding to: ???'s previous message
Hi,
how I can buildup this fixed bootcode in KEIL
	CSEG	AT fixed_address
The idea is simple and has some realization ways:
First and the best solution. You should write own boot-loader, upload it to CPU flash, put its high byte address into SBV register and set the bit BLJB (do it all by Flip software). I suggest you to use upper part of the program flash (above 0x7000 - in this case, the rest part of the program code may be programmed from your bootloader. As well, remember that the start address of a custom bootloader must be 256-bytes aligned).
Now, after reset occured there is no hardware conditions; but because BLJB, a program runs into FM1 (Atmel boot loader). Then it looks at SBV internaly and does jump to SBV[00]h, here: to your custom bootloader. There you should check for that main program is valid (I suggest to use CRC) and if it is passed then go to main execution (0x0000 or any other by your taste). If the main program is not valid, CRC failed etc (for example, due the previous upload was broken for a some reason), then you stay in wait loop till remote upload be done.
Somewhere in the main program you listen for remote upload request and if it has been called then do jump to your custom bootloader code.
Described way above is safest and helps you to take control over program code even if it was broken with uncomplete uploading.

Good days!

List of 11 messages in thread
TopicAuthorDate
AT89C51CC01 update            01/01/70 00:00      
   RE: AT89C51CC01 update            01/01/70 00:00      
   RE: AT89C51CC01 update            01/01/70 00:00      
      RE: AT89C51CC01 update            01/01/70 00:00      
         RE: AT89C51CC01 update            01/01/70 00:00      
   RE: AT89C51CC01 update            01/01/70 00:00      
   RE: AT89C51CC01 update            01/01/70 00:00      
      RE: AT89C51CC01 update            01/01/70 00:00      
      RE: AT89C51CC01 update            01/01/70 00:00      
         RE: AT89C51CC01 update TO ALL            01/01/70 00:00      
            RE: AT89C51CC01 update TO ALL            01/01/70 00:00      

Back to Subject List