views:

503

answers:

2

I would like to be able to have a basic OS and a basic file system for the high end MSP430 probably the MSP430F5438. I know I can go with something like FreeRTOS , IAR PowerPac or Micrium to name just some of the options for the OS and file system. However I would like to be able to also have the ability to load little applets or threads at a latter time ideally getting this extra code off of the file system. My goal is not to have to reflash the entire device to change or implement a function on the embedded device. Not sure where to head to implement this ability or if I need to switch to another processor like an ARM.

+2  A: 

I'm pretty sure that you're always going to have to reflash the MSP 430 every time you want to change the program code. Of course a bootloader can update the flash by itself, so you'll just want to make a program that acts like a bootloader but only updates ceratin parts of the program memory - ie, where you want your applets to be placed. And then you'll have to know what memory location each area of the flash where your applet code is so you can call it.

You'd also run into a problem with running the code in these applets. If there's only one memory location you want to run them from then you can compile them with that in mind. If you want several different applets that could run from any 'applet space' in memory then you might run into trouble because they won't know what address they are starting from.

And of course, none of these applets is going to be able to be very large. How much room will your RTOS take up?

Stephen Friederichs
+2  A: 

The MSP430 is a great controller, but if you want to run an OS, and load apps without burning them to flash, you should probably switch to ARM (another great platform with many ARM based microcontrollers).

dwelch
The address space on the msp430 is 16 bit, that includes all the rom and ram. Not that you cant run an OS and apps within that space, but I dont think you will find an msp430 with the amount of memory you desire unless you use something like openmsp430 on an fpga and adjust the amount of ram and rom.
dwelch
This app is being driven by cost so I am leaning towords a flash device. What I am after then is to be able to have a stable part of the firmware and a dynamic part. I would like to be able to do a remote reflash of the dynamic part without touching the stable part. If the upgrade goes bad I do not want to lose the stable part. I was thing that I could compile the dynamic part as a self contained position independent block of code and then have hooks into the stable part. Just not sure the MSP430 can handle this. Alos could a flash based ARM handle this?
Rex Logan
In both cases you should be able to erase small (relative to the whole) portion so of the flash while running from other portions of the flash. I have not yet done an msp430 bootloader so I dont know the on chip flashing stuff, but have done this with some ARMs, while running from flash flashed other portions of the flash.
dwelch