Embedded Systems Growing, Expect Broad Pattern Support
As embedded systems start to have more memory and processor available, and shift from bare metal, to real-time-kernels, to embedded versions of Linux and Windows or even to Android, I suspect they will pick up all these patterns and more.
Pattern Limiting Factors
Not sure how to make a table, but your list could be evaluated for suitability to be implemented on bare metal, with an RTK, or with an OS. There may be variations dependent on computer languages, with assembler or embedded C++ potentially being restrictive, C lacking object orientation to facilitate some of the patterns, and C++ (or its features) being either unavailable or prohibited by coding standards like MISRA.
Coding Standard and Real-Time Interaction with Patterns
Some embedded systems projects forbid use of dynamic memory. This puts a real damper on some of the patterns. Others may either hurt or help with the amount of memory required. Use of managed code techniques can introduce unwanted latency during garbage collection.
Patterns as a Starting Point?
I believe the answers to the above questions would work as a good
starting point for any novice programmers in the embedded world.
I think this statement is a bit of a jump. Patterns are something of a meta-concept and are no substitute for down and dirty details like memory maps, programming peripheral devices like timers, uarts, SPI, I2C, ATOD/DTOA, PWM, etc. or creating interrupt services routines. If you are using an OS, you will need some kind of board support package. If you are using COTS, you need to evaluate which products.
If you are doing custom hardware, there is interaction with electrical engineers and some training to cope with reading schematics and reading (or maybe writing) data sheets and theory of operations documents. Using test equipment like Oscilloscopes, logic analyzers, JTAG or In-Circuit Emulators and IDE based cross development tools from Windows, Linux or even Mac.
Embedded Systems On Stack Exchange?
There was an Embedded Systems site for Stack Exchange that was in the Commitment stage in Area 51. It was closed due to a two year time limit. There are several embedded related proposals including a beta for Raspberry Pi, a BeagleBoard with two followers, and an Arduino proposal that is also closed.
There is a procedure for reopening or reproposing a site. If anyone is up for it, let's give it a try.