Hi all,
We've written an MCU-resident software development environment that we call "StickOS" that includes an editor, transparent line-by-line BASIC compiler, interactive debugger, performance profiler, and flash filesystem. We've ported it to almost a dozen MCUs (HCS08, HCS12, ColdFire, and PIC32) in the hope of making simple embedded system development easier for the casual user, and in particular, for high school students.
If folks are interested, StickOS runs on a number of readily available evaluation boards, as well as bare MCUs (i.e., it requires no off-MCU resources), and full documentation and binary downloads are available here:
Once StickOS is flashed on the MCU, you can control the MCU from any terminal emulator. You can control the pins and peripherals of the MCU both interactively and programmatically and the MCU can be set to autorun its BASIC control program. StickOS also supports easy wireless connectivity between MCUs when they have SPI access to a Freescale MC1320x wireless transceiver, and on selected MCUs also supports USB Host Mode for trivial data logging to a USB flash drive.
Just as a simple example, to read an analog-to-digital converter attached to, say, a potentiometer, in StickOS takes two statements (the first statement declares a variable named "pot" and binds it to pin an0 that is configured for use by the analog-to-digital converter, and the second statement prints the value of the analog-to-digital converter, in millivolts):
dim pot as pin an0 for analog input print pot
StickOS recently won 2nd place in the Freescale JM Badge Board Design Challenge: Can Your Badge Do This? contest.
We have a number of additional MCU ports in the works presently (including STM32 and PIC24 -- each port takes between a day and a week) and are always considering others, so feel free to suggest your favorite platform to us; we're especially seeking educators who might want to give it a try and give us feedback on how it works for them.
Thank you.
-- Rich