StickOS User's Guide
CPUStick User's Guide
Copyright © 2008-2012 CPUStick.com;
all rights reserved.
Patent U.S. 8,117,587.
Note that by its very nature, StickOS supports
In-Circuit Emulation (ICE) when it is running -- all you need is a
transport connecting the MCU to a host computer, and you have full
interactive control over the MCU, live in the target embedded system!
Alternatively, you can use the 2.4GHz zigflea wireless transport and
have full interactive control over the MCU, live in the target embedded system,
with no connected transport at all!
The StickOS BASIC programming environment includes the
- BASIC line editor
- ansi or vt100'ish terminal support
- BASIC compiler
- compiles to a fast and safe intermediate bytecode
- transparent line-by-line compilation is invisible to the
- integer variable/array support
- string variable support
- block structured programming and subroutine
- BASIC library
- interactive BASIC debugger, supporting:
- breakpoints, assertions, and watchpoints
- live variable (and pin) manipulation and examination
- execution tracing and single-stepping
- BASIC performance profiler
- trivially see where your
program spends its time!
- BASIC file system
- load and store multiple BASIC programs in flash
- 2.4GHz zigflea wireless transport
- remote control via a telnet/rlogin-like interface
- remote variable access in BASIC
- wireless BASIC program update
- wireless StickOS firmware upgrade
- USB Host Mode (on selected MCUs)
- log StickOS "print" statements to
external USB flash drive
- external control of MCU I/O pins, implicit thru "pin variables"
- digital input or output
- analog input or output (PWM actually)
- servo output
- frequency output
- uart input or output
- i2c master input and output
- qspi master input and output
- 4-bit HD44780-compatible LCD output
- 4x4 scanned keypad input
- internal peripheral control
- interrupts delivered to BASIC handlers!
- interval timers, dma timers, ADC, PWM, uarts,
i2c, qspi, etc.
- direct MCU register access from BASIC for
low-level control, thru MCU register variables
- internal flash memory control
- save programs and parameters to flash for standalone
- prolong flash lifetime by storing incremental updates in RAM
- clone one MCU’s flash directly to another
- upgrade StickOS firmware via terminal
- no external flash programmers needed!