• Welcome to Valhalla Legends Archive.
 

OS development for appliances

Started by hismajesty, June 23, 2005, 01:33 PM

Previous topic - Next topic

hismajesty

How do they do this? Develop the OS For things like a camera, or a fax machine, or the credit card things in stores, something like that?

R.a.B.B.i.T

PICOTUX!

Err....they have them for some blenders too (which use the internet).  As long as they have an ALU, anything can have an OS built for them.  This is done by instructing the ALU to toggle different circuits to do different things.

Banana fanna fo fanna

I was sort of interested in that for a few hours during school one day, so I researched it. You program something called a microcontroller, which is a chip that accepts a very limited assembly language (there are USB programmer devices that you can hook up to your PC and compile C programs for it).

See http://www.mstracey.btinternet.co.uk/pictutorial/picmain.htm

K

Very similar to the sensor nodes I program for which run on the msp430 -- There are only 27 instructions including 8 jump instructions.  The cpu can interact with peripheral devices through various pins which can be set to either an input state or output state.

Usually the microcontroller has some sort of timing device on it like a 32Khz watch crystal or a DCO, so that interaction with peripheral devices can be timed correctly.

For example a blender might have a microcontroller with one pin configured in input mode and one pin configured in output mode -- the microcontroller could interact with a motor via some interface like SPI and control the motor speed by shifting bits out and receive status bits in.

Adron

There are also C (or C-like language) compilers available for many microcontrollers. Typically not full ANSI C since many of those things aren't relevant to embedded systems, but you can program them at a somewhat higher level than assembly code.

You write your code on a PC, perhaps you simulate it in an emulator/simulator first (works pretty much like the nes emulators), and then you load it into your target microcontroller and boot it up :)

Joe[x86]

Woah, I want to write an operating system for my blender..
Quote from: brew on April 25, 2007, 07:33 PM
that made me feel like a total idiot. this entire thing was useless.

K

Quote from: Adron on June 25, 2005, 03:10 AM
There are also C (or C-like language) compilers available for many microcontrollers. Typically not full ANSI C since many of those things aren't relevant to embedded systems, but you can program them at a somewhat higher level than assembly code.

You write your code on a PC, perhaps you simulate it in an emulator/simulator first (works pretty much like the nes emulators), and then you load it into your target microcontroller and boot it up :)

And if you want to buy these compilers along with licenses from the companies that manufacture the microprocessors, they are usually rather pricey -- thank god for gcc ports ;)