??? 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 |
Topic | Author | Date |
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 |