1 |
On 01/13/2017 02:45 AM, Sven Eden wrote: |
2 |
|
3 |
> Btw.: Even "embedded experts" wholeheartedly agree that they disagree what |
4 |
> "embedded" actually is. But I do think SoCs actually *do* qualify, at least to |
5 |
> some degree... |
6 |
|
7 |
|
8 |
Huh? |
9 |
|
10 |
Probably who you deem as an expert; they have not clearly defined |
11 |
systems types and semantics of an embedded systems. An embedded system |
12 |
is one that is 'closed' to pedestrian/consumer/user modifications, |
13 |
excepting rooting and other non-normal bypass mechanisms. A modification |
14 |
is not the same thing as a configuration. An embedded system is designed |
15 |
with limited functionality or "canned product functionality" for |
16 |
consumers of very specific task-sets. Early Micros where often more |
17 |
accurately referred to as 'microcontrollers' as their function was |
18 |
simply to replace mechanical control systems that were prone to wear and |
19 |
failure. When programming occurs (again rooting and hacking do not |
20 |
count), it is only allowed by the system designer(s). So a Rasp. Pi on |
21 |
the internet, open to dozens or thousands of coders, is not an embedded |
22 |
system. At some point it may become an embedded system, but it must be |
23 |
locked down, limited in functionality and purged of all that software |
24 |
used for development but not needed to run and function as the |
25 |
designer(s) intend. Updates are usually in a binary form, again under |
26 |
the strict control as designed by the product (embedded systems) developer. |
27 |
|
28 |
|
29 |
Given that, the reason why so many folks are confused as to what an |
30 |
embedded system actually is, is that there are lots of "open" platforms |
31 |
where users are encouraged to be the designer, thus having architecture, |
32 |
coding, and modification access that an ordinary user would not have; |
33 |
again, security hacks that grant non-normal access |
34 |
do not count. That is if you 'hack' into the product or the bios of a |
35 |
computer, you have not converted the device's intended usage into a |
36 |
embedded system, although you may have low level access to the hardware, |
37 |
firmware and other subsystems that the designers did not intentionally |
38 |
make available to you. When a computer is 'locked down and limited' like |
39 |
a kiosk, it actually is an embedded system. |
40 |
|
41 |
|
42 |
Traditionally, the easy way to set up product developers was through |
43 |
vendors (OEM like Freescale, Samsung, Broadcom, etc) via a 'dev board'. |
44 |
Example codes, minimal stack of an rtos or vendor supplied software |
45 |
system, along with documentation and details of the in-situ hardware |
46 |
that comprise the 'dev board'. Small systems did not have (nor do they |
47 |
now) have an 'OS' instead they were simple state-machines or run a |
48 |
polling algorithm. Most embedded systems still operate on these sorts of |
49 |
codes, even today. |
50 |
|
51 |
|
52 |
Fast forward, Rasp. Pi et. al are dev boards that can be turned into |
53 |
open, multi user systems, say if you make it a typical minimized linux |
54 |
system. Some even have inputs for keyboard, mouse and terminal; so that |
55 |
sort of system, would not be an embedded system. Now take the same |
56 |
board, lock it down so all it does is control the sprinklers in your |
57 |
yard, with limited functional interfaces to the 'standard user' and it |
58 |
is indeed an 'embedded system'. Most products with a small |
59 |
microprocessor are 'embedded systems'. Most Rasp. Pi boards are user |
60 |
systems because they are open and unlimited an any given time and are |
61 |
not 'locked down'. |
62 |
|
63 |
|
64 |
It takes a designer, or a team of designers to create an 'embedded |
65 |
system', particularly if the embedded system is to be turned into a |
66 |
commercial product. The net effect of boards like Rasp. Pi is open up |
67 |
the opportunity for folks to learn 'product development'. Most have |
68 |
chosen to create user systems with some functionality not found in |
69 |
traditional desktop systems. Surely there are edge cases that blur |
70 |
the lines of distinction; but most are not a finalized product (embedded |
71 |
system) as they are in a constant state of flux related to the interned |
72 |
software, thus they are not an 'embedded system'. A properly designed |
73 |
embedded system can last in its minimized and limited form for decades |
74 |
or more and operated as intended (think digital alarm clock). Others do |
75 |
need an update to the firmware (locked down internal software), but that |
76 |
is only performed by the product owners or vendors, in the normal case |
77 |
of operation. Indeterminant hardware is just hardware; it has to be |
78 |
robustly defined, tested and implemented to be a user system, an |
79 |
embedded system, or whatever the designer has in mind. |
80 |
|
81 |
|
82 |
So hopefully, I have articulated the fact that an 'embedded system' is |
83 |
determined by the designer, not the underlying hardware from a vendor. |
84 |
Robust embedded system design, regardless of VHDL or C or ? codes |
85 |
are more of an art-form than a technical expose on software development. |
86 |
I know embedded designers that have created thousands of products some |
87 |
in a matter of weeks, and other teams that fail to produce a single |
88 |
robust product, in their entire lifetime. The most prolific designer of |
89 |
them all, is simple referred to as 'doctor bitch' by her subordinates |
90 |
and friends. Some, more respectfully refer to her as the queen of |
91 |
assembler, as she has fixed thousands of compiler bugs from a myriad of |
92 |
compiler vendors, not for compensation, but because the bugs got in her |
93 |
way....... |
94 |
|
95 |
|
96 |
|
97 |
hth, |
98 |
James |