Path: csiph.com!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news.misty.com!news.iecc.com!.POSTED.gal.iecc.com!not-for-mail From: Paul Rubin Newsgroups: comp.arch.embedded Subject: Re: When exactly do you choose to use a RTOS (instead of a non-OS approach)? Date: Sun, 07 Jan 2018 13:41:55 -0800 Organization: A noiseless patient Spider Lines: 11 Message-ID: <87608dmjmk.fsf@nightsong.com> References: <87vaghnndl.fsf@nightsong.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: gal.iecc.com; posting-host="gal.iecc.com:64.57.183.53"; logging-data="13505"; mail-complaints-to="abuse@iecc.com" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) Funky-Path: eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail Funky-Injection-Info: reader02.eternal-september.org; posting-host="ae97e3878acaa56b84b352c4f0fedc83"; logging-data="19827"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+3lISchQYNZp5q5CY92n76" Cancel-Lock: sha1:J5gq88FWtwfrHz4/q96KCw69X14= sha1:tW33t4PgWseLcATk72r+YPHW3Xk= Funky-Xref: reader02.eternal-september.org comp.arch.embedded:47117 Xref: csiph.com comp.arch.embedded:27549 Tom Gardner writes: > But for many embedded systems, FSMs are (or IMNSHO ought to be!) a key > component in structuring and expressing the design. Canonical examples > are ATMs, car cruise control, comms/networking protocols etc. I don't see a requirement for FSM's in any of those. ATM's (I assume you mean cash dispensers) just seem like they'd run normal business code. Cruise control sounds like a normal PID-like controller. I've written tons of comms code without FSM's. On the other hand, maybe your comm protocol involves checksums or error correcting codes. Doing those with FSMs would be straightforward in theory but ridiculous in practice.