February 18th, 2005, 10:43 PM
How do you go about programming things that don't have an operating system? Does anyone have a tutorial that would be a good intro to the subject? I'm thinking of things like this.
P.S. Sorry - I didn't know which forum to put this in.
It is better to die on your feet than to live on your knees.
February 19th, 2005, 07:58 AM
I suggest you search for "programming embedded systems", that is what systems engineers who program defence equipment call them over here.
I am sorry but I don't have any contacts in that field right now, so I cannot recommend any literature. You might try contacting a few defence contractors, as their guys would be able to point you in the right direction.
EDIT: this is what I am thinking about:
February 19th, 2005, 08:10 AM
From your link, I caught these things, which probably give a good indication:
Since we did not want to force the chip to contain just one picture, it would have to connect to a computer using the UART, and download pictures from there. Thus we will write a small drawing program in Windows that lets a user draw its schematic, and send it directly at the serial port.
From the sounds of things, they're using a computer with windows o/s to 'flash' the chips - that is, using it's operating system to semipermanently embed the program into EPROM(s) onboard the card. This is typical when setting up hardware-oriented systems, including the simple robot that was pictured in your link. Back in the day we used to setup print servers the same way - link them via RJ45 to a nic on our SCO box, net into the ip, and set the configuration settings... from then on, the printserver 'remembered' those settings, even when loaded onto a truck, shipped 1000 miles overseas, and put up in a lumber yard down in the Dominican Republic..
The first step is the computer program. This would be a standard windows program written in C++. It is basically a line drawing program, with added Serial Port functionality so that it can send the points to the Micro controller when it is requested. It works by letting the user draw a series of connected lines. The program would then format the lines so that they fit in a byte (125 values, positive and negative with the extra 6 items reserved for handshaking, etc).
This same method is used when the BIOS chipset of your computer is created - it's 'flashed' in a machine specifically programmed to do so prior to being set into your motherboard - even though the system is automated and you can't really tell the preprogrammed box doing the flashing was, at one time or another it all originated from some os somewhere.
Exceptions to this:
Goto your local Radio Shack. Buy a 'breadboard' kit. You'll very quickly learn the exceptions - basic logic circuits and or nor nand anor, as well as basic robotic configurations (like the mechanical arms in the old erector sets - you push a button on the remote, it fires a servomotor to move the arm this way or that). For anything much more advanced than a basic elevator, os's are required.
Even a broken watch is correct twice a day.
Which coder said that nobody could outcode Microsoft in their own OS? Write a bit and make a fortune!