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