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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
03/13/10 10:48
Read: times


 
#174105 - Allowing system upgrades via MIDI sysex in the field
Responding to: ???'s previous message
Hi Kai,

My intended use for this is in a MIDI controller device. I want to make a system that has a basic operating system and set of drivers for a few peripherals such as a graphic LCD display. The system could then run various programs on top of this simple OS depending on what MIDI gear the user wants to control.

I thought that if I put a simple boot program in the internal code memory then the whole OS and all the various user programs could be stored in an external non-volatile memory that could be read and written by the MCU at run time. In my first post I said serial EEPROM but what I mean is some comparatively large non-volatile storage (which could also be SPI flash as pointed out by Michael) that allows me to store many different user programs (that may total a lot more than 64k) that can be loaded into code memory when they are needed. Users would be able to download new applications to the device via MIDI sysex.

By storing the OS in the external memory as well as the user programs, I can also put an OS update program in the internal code memory as part of the boot program. That would allow the whole thing to be upgraded in the field by sending the correct MIDI sysex message to it when it is in the boot stage.

I just wondered if its a safe plan to play with the /EA pin in the way I'm suggesting because if it is, after the boot, the OS program could then control all of the interrupt vectors dynamically. It also means I have an extra 8k of dynamically re-programmable space to play with if I can discard the fixed 8k internal code after the boot is done.

Chris

List of 17 messages in thread
TopicAuthorDate
Controlling /EA with a port pin?            01/01/70 00:00      
   Why would you want do this??            01/01/70 00:00      
      Allowing system upgrades via MIDI sysex in the field            01/01/70 00:00      
         So why on an 8051?            01/01/70 00:00      
            Challenge??            01/01/70 00:00      
               Old fashioned 8031 dev boards            01/01/70 00:00      
                  Helpful points            01/01/70 00:00      
                     Good match            01/01/70 00:00      
                     Budget            01/01/70 00:00      
   See value to an extent...            01/01/70 00:00      
      Internal XDATA addresable as XCODE?            01/01/70 00:00      
         Executing code from XRAM            01/01/70 00:00      
         Code in OnBoard XRAM            01/01/70 00:00      
         Don't overlook other options ...            01/01/70 00:00      
         FX2            01/01/70 00:00      
   I bet you can't            01/01/70 00:00      
   Ideally a single chip design            01/01/70 00:00      

Back to Subject List