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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
12/19/06 13:00
Read: times


 
#129743 - boostrap+application
Responding to: ???'s previous message
If Your compiler/linker supports ORG directive - everything
other depends only from You and chip used.
- build bootloader, relocated in some segment. Start vector
will(must) point to bootloader entry point.
Program chip with bootloader.
- build applictaion , located in erasable segments , which
bootloader can erase/program. In final binary file
You will have reset vector, pointed to application entry point. Remove these bytes(delete). Now You can send application
to bootloader. But..
.. here You still have problemm with other vectors - for interrupts. If micro can execute from RAM - its ok, both bootloader and application can copy (when starting) place independent routines into ram. Other way is to define
(via ORG) entry points for interrupts in application and declare
these adresses when building bootloader. So interrupts will pass trough bootloader - bootloader code will make branch to application interrupt routines , when application(not bootloader) is active.

This post is only an opinion, not expirience. In my practice i'm using Winbond 78e516b - bootloader is placed in additional
flash room (4kB), bootloader can be invoked by application software or by hardware connection (P2.6=0 and P2.7=0,or P4.3=0; in reset condition). For example - we preprogramm PLCC chips with bootloader and application, which is kind of bootloader too.Both are <2kB. After this chips are going to be soldered. When boards arrive for assembling, application is running and waiting to switch to 'hidden' booloader. PC reprograms application trough RS232. After that reprogramming is still availlable- bootloader can be invoked trough hardware or trough software command.
regards,
Stefan




List of 5 messages in thread
TopicAuthorDate
Multi-Application Programming for 8051            01/01/70 00:00      
   Different projects            01/01/70 00:00      
   boostrap+application            01/01/70 00:00      
   LX51 not essential.            01/01/70 00:00      
      Yes i did it.            01/01/70 00:00      

Back to Subject List