Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.arch.embedded > #27200 > unrolled thread
| Started by | Elof Huang <elof.huang@runbox.com> |
|---|---|
| First post | 2017-09-01 14:07 +0800 |
| Last post | 2017-09-10 09:03 -0500 |
| Articles | 20 on this page of 74 — 15 participants |
Back to article view | Back to comp.arch.embedded
Embedded platforms for beginners? Elof Huang <elof.huang@runbox.com> - 2017-09-01 14:07 +0800
Re: Embedded platforms for beginners? Jack <jack4747@gmail.com> - 2017-08-31 23:22 -0700
Re: Embedded platforms for beginners? rickman <gnuarm@gmail.com> - 2017-09-01 04:10 -0400
Re: Embedded platforms for beginners? Clifford Heath <no.spam@please.net> - 2017-09-01 21:49 +1000
Re: Embedded platforms for beginners? Elof Huang <elof.huang@runbox.com> - 2017-09-02 11:57 +0800
Re: Embedded platforms for beginners? Clifford Heath <no.spam@please.net> - 2017-09-02 18:25 +1000
Re: Embedded platforms for beginners? Elof Huang <elof.huang@runbox.com> - 2017-09-03 15:37 +0800
Re: Embedded platforms for beginners? Clifford Heath <no.spam@please.net> - 2017-09-03 17:54 +1000
Re: Embedded platforms for beginners? rickman <gnuarm@gmail.com> - 2017-09-03 13:49 -0400
Re: Embedded platforms for beginners? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-09-02 11:41 -0400
Re: Embedded platforms for beginners? Clifford Heath <no.spam@please.net> - 2017-09-03 09:44 +1000
Re: Embedded platforms for beginners? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-09-02 20:39 -0400
Re: Embedded platforms for beginners? Clifford Heath <no.spam@please.net> - 2017-09-03 11:16 +1000
Re: Embedded platforms for beginners? Paul Rubin <no.email@nospam.invalid> - 2017-09-02 18:21 -0700
Re: Embedded platforms for beginners? Clifford Heath <no.spam@please.net> - 2017-09-03 14:26 +1000
Re: Embedded platforms for beginners? rickman <gnuarm@gmail.com> - 2017-09-03 02:14 -0400
Re: Embedded platforms for beginners? Clifford Heath <no.spam@please.net> - 2017-09-03 17:52 +1000
Re: Embedded platforms for beginners? rickman <gnuarm@gmail.com> - 2017-09-03 13:50 -0400
Re: Embedded platforms for beginners? Paul Rubin <no.email@nospam.invalid> - 2017-09-03 22:20 -0700
Re: Embedded platforms for beginners? rickman <gnuarm@gmail.com> - 2017-09-05 22:06 -0400
Re: Embedded platforms for beginners? Clifford Heath <no.spam@please.net> - 2017-09-06 12:21 +1000
Re: Embedded platforms for beginners? rickman <gnuarm@gmail.com> - 2017-09-05 22:42 -0400
Re: Embedded platforms for beginners? Clifford Heath <no.spam@please.net> - 2017-09-06 14:26 +1000
Re: Embedded platforms for beginners? rickman <gnuarm@gmail.com> - 2017-09-06 01:20 -0400
Re: Embedded platforms for beginners? George Neuner <gneuner2@comcast.net> - 2017-09-03 15:58 -0400
Re: Embedded platforms for beginners? Clifford Heath <no.spam@please.net> - 2017-09-04 08:00 +1000
Re: Embedded platforms for beginners? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-09-03 19:13 -0400
Re: Embedded platforms for beginners? Clifford Heath <no.spam@please.net> - 2017-09-04 09:58 +1000
Re: Embedded platforms for beginners? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-09-03 20:16 -0400
Re: Embedded platforms for beginners? Clifford Heath <no.spam@please.net> - 2017-09-04 15:13 +1000
Re: Embedded platforms for beginners? Paul Rubin <no.email@nospam.invalid> - 2017-09-03 22:24 -0700
Re: Embedded platforms for beginners? Clifford Heath <no.spam@please.net> - 2017-09-04 15:55 +1000
Re: Embedded platforms for beginners? David Brown <david.brown@hesbynett.no> - 2017-09-05 14:15 +0200
Re: Embedded platforms for beginners? George Neuner <gneuner2@comcast.net> - 2017-09-05 12:35 -0400
Re: Embedded platforms for beginners? Rob Gaddi <rgaddi@highlandtechnology.invalid> - 2017-09-05 10:02 -0700
Re: Embedded platforms for beginners? Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-09-05 18:13 +0100
Re: Embedded platforms for beginners? David Brown <david.brown@hesbynett.no> - 2017-09-06 10:24 +0200
Re: Embedded platforms for beginners? Paul Rubin <no.email@nospam.invalid> - 2017-09-05 17:10 -0700
Re: Embedded platforms for beginners? David Brown <david.brown@hesbynett.no> - 2017-09-06 09:57 +0200
Re: Embedded platforms for beginners? Paul Rubin <no.email@nospam.invalid> - 2017-09-05 16:57 -0700
Re: Embedded platforms for beginners? Paul Rubin <no.email@nospam.invalid> - 2017-09-05 16:54 -0700
Re: Embedded platforms for beginners? Clifford Heath <no.spam@please.net> - 2017-09-06 12:31 +1000
Re: Embedded platforms for beginners? Paul Rubin <no.email@nospam.invalid> - 2017-09-05 19:42 -0700
Re: Embedded platforms for beginners? David Brown <david.brown@hesbynett.no> - 2017-09-05 10:16 +0200
Re: Embedded platforms for beginners? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-09-05 16:56 -0400
Re: Embedded platforms for beginners? Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-09-04 10:46 +0100
Re: Embedded platforms for beginners? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-09-05 17:09 -0400
Re: Embedded platforms for beginners? Paul Rubin <no.email@nospam.invalid> - 2017-09-05 19:35 -0700
Re: Embedded platforms for beginners? Clifford Heath <no.spam@please.net> - 2017-09-06 12:40 +1000
Re: Embedded platforms for beginners? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-09-06 00:42 -0400
Re: Embedded platforms for beginners? Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-09-06 08:55 +0100
Re: Embedded platforms for beginners? Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-09-06 08:45 +0100
Re: Embedded platforms for beginners? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-09-07 20:23 -0400
Re: Embedded platforms for beginners? Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-09-08 08:42 +0100
Re: Embedded platforms for beginners? David Brown <david.brown@hesbynett.no> - 2017-09-08 12:07 +0200
Re: Embedded platforms for beginners? Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-09-08 11:40 +0100
Re: Embedded platforms for beginners? David Brown <david.brown@hesbynett.no> - 2017-09-08 13:24 +0200
Re: Embedded platforms for beginners? Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-09-08 13:36 +0100
Re: Embedded platforms for beginners? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-09-09 13:16 -0400
Re: Embedded platforms for beginners? Les Cargill <lcargill99@comcast.com> - 2017-09-10 08:53 -0500
Re: Embedded platforms for beginners? Dimiter_Popoff <dp@tgi-sci.com> - 2017-09-10 20:18 +0300
Re: Embedded platforms for beginners? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-09-11 21:24 -0400
Re: Embedded platforms for beginners? Les Cargill <lcargill99@comcast.com> - 2017-09-15 22:22 -0500
Re: Embedded platforms for beginners? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-09-18 11:26 -0400
Re: Embedded platforms for beginners? Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-09-18 18:26 +0100
Re: Embedded platforms for beginners? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-09-19 14:27 -0400
Re: Embedded platforms for beginners? Tom Gardner <spamjunk@blueyonder.co.uk> - 2017-09-18 18:24 +0100
Re: Embedded platforms for beginners? Paul Rubin <no.email@nospam.invalid> - 2017-09-03 22:30 -0700
Re: Embedded platforms for beginners? Clifford Heath <no.spam@please.net> - 2017-09-04 15:51 +1000
Re: Embedded platforms for beginners? Paul Rubin <no.email@nospam.invalid> - 2017-09-03 22:04 -0700
Re: Embedded platforms for beginners? kristoff <kristoff@skypro.be> - 2017-09-05 17:56 +0200
Re: Embedded platforms for beginners? Luke A. Guest <laguest@archeia.com> - 2017-09-10 17:10 +0100
Re: Embedded platforms for beginners? tarjei99@gmail.com - 2017-09-10 05:49 -0700
Re: Embedded platforms for beginners? Les Cargill <lcargill99@comcast.com> - 2017-09-10 09:03 -0500
Page 1 of 4 [1] 2 3 4 Next page →
| From | Elof Huang <elof.huang@runbox.com> |
|---|---|
| Date | 2017-09-01 14:07 +0800 |
| Subject | Embedded platforms for beginners? |
| Message-ID | <59a8f969$0$2474$b1db1813$814165ff@news.astraweb.com> |
I want to learn Embedded systems, but don't know how to start it, do you recommend any platform to start?
[toc] | [next] | [standalone]
| From | Jack <jack4747@gmail.com> |
|---|---|
| Date | 2017-08-31 23:22 -0700 |
| Message-ID | <5f7b770c-a605-4799-9bdb-dee71da7e35b@googlegroups.com> |
| In reply to | #27200 |
Il giorno venerdì 1 settembre 2017 08:08:48 UTC+2, Elof Huang ha scritto: > I want to learn Embedded systems, but don't know how to start it, > do you recommend any platform to start? mbed.org. They have cheap hardware, an online IDE (bleah), tutorials, demo, etc. IMHO it's better if you choose the hardware, and then download the official IDE from the producer. Bye Jack
[toc] | [prev] | [next] | [standalone]
| From | rickman <gnuarm@gmail.com> |
|---|---|
| Date | 2017-09-01 04:10 -0400 |
| Message-ID | <oob4ei$jo4$3@dont-email.me> |
| In reply to | #27200 |
Elof Huang wrote on 9/1/2017 2:07 AM: > I want to learn Embedded systems, but don't know how to start it, > do you recommend any platform to start? "Embedded systems" is a pretty general term. I would recommend any of the many ARM eval boards. TI has a few that are pretty cheap with free tools. Their MSP430 boards are pretty interesting as well. Do you have any particular goals? -- Rick C Viewed the eclipse at Wintercrest Farms, on the centerline of totality since 1998
[toc] | [prev] | [next] | [standalone]
| From | Clifford Heath <no.spam@please.net> |
|---|---|
| Date | 2017-09-01 21:49 +1000 |
| Message-ID | <hPbqB.20513$QC2.9735@fx19.iad> |
| In reply to | #27200 |
On 01/09/17 16:07, Elof Huang wrote: > I want to learn Embedded systems, but don't know how to start it, > do you recommend any platform to start? If you're really a beginner, there is really nothing better than the Arduino system. So much code, blogs, forums, etc, no matter what you want to do, someone will have done it... ... mostly badly, but they will have done it, and it'll give you time to learn how to do better. I suggested the following shopping list for my son (the only one why didn't major in computer programing!) to start just recently: As discussed, the best tutorial ecosystem for learning this stuff is Arduino, and the easiest "getting started" because of the huge number of projects you can just copy from. The C language is close to the machine, so you'll learn things that you can apply to other CPU types, not just the AVR, without hiding what's really going on. The downside is that before you go too far you should read an introductory book on C. If you can borrow a not-ancient version of this it'd be good: <https://en.wikipedia.org/wiki/The_C_Programming_Language> I tried to find everything from the same AliExpress store to make the ordering easier. This stuff runs off USB or a power pack. I don't think you should buy Chinese power packs, they are often unsafe. Start with just USB power. The Arduino I started with is this "Uno" (the name refers to the CPU type and connection layout). Get two or three. You'll need a USB cable, which is included in the second link here (from the same store) (one of those and one or two of the others, unless you already have the right cable): <https://www.aliexpress.com/item/Free-shipping-UNO-R3-MEGA328P-with-usb-cable-for-Arduino-Compatible-Dropshipping/32241074510.html> <https://www.aliexpress.com/store/product/UNO-R3-MEGA328P-new-and-original-ATMEGA16U2-Good-Quality-USB-Cable/912692_1442349460.html> To wire up projects in a similar way to many you'll see online, get a couple of each proto-board and jumper wires. <https://www.aliexpress.com/store/product/Free-Shipping-Quality-400-point-mini-bread-board-breadboard-8-5CM-x-5-5CM-400-holes/912692_32325177584.html> <https://www.aliexpress.com/store/product/Free-Shipping-male-breadboard-cable-Breadboard-Wires-male-to-male-2-54pitch-20cm-in-stock/912692_711782213.html> They make bigger ones too: <https://www.aliexpress.com/store/product/MB102-Bread-plate-experiment-socket-plate-165-x-55-x-10-mm-MB-102-experiment-for/912692_1444529207.html> This board seems to provide a lot for very little money and no soldering. It plugs directly on top of the UNO and gives you buttons, lights, a numeric display, buzzer, infrared receiver (for a TV remote), and a servo interface for controlling hobby servos: <https://www.aliexpress.com/store/product/Multifunctional-expansion-board-kit-based-learning-for-arduino-UNO-r3-LENARDO-mega-2560-Shield/912692_1891771170.html> Clifford Heath.
[toc] | [prev] | [next] | [standalone]
| From | Elof Huang <elof.huang@runbox.com> |
|---|---|
| Date | 2017-09-02 11:57 +0800 |
| Message-ID | <59aa2c52$0$30071$b1db1813$d06edd96@news.astraweb.com> |
| In reply to | #27203 |
Thank you for so much information, I have saved it >Clifford Heath 於 9/1/2017 7:49 PM 寫道: > As discussed, the best tutorial ecosystem for learning this stuff > is Arduino, and the easiest "getting started" because of the huge > number of projects you can just copy from. The C language is close > to the machine, so you'll learn things that you can apply to other > CPU types, not just the AVR, without hiding what's really going on. > The downside is that before you go too far you should read an > introductory book on C. If you can borrow a not-ancient version > of this it'd be good: > <https://en.wikipedia.org/wiki/The_C_Programming_Language> I manage to learn C, but I want to know which should I start, C or Embedded C? Having checked Arduino site several times, its forum says it uses C++, I don't know how to program in C while the libraries are not C. >Do you have any particular goals? Still looking for it, but I am interested in making an open source hardware correspond to close source hardware like OBD.
[toc] | [prev] | [next] | [standalone]
| From | Clifford Heath <no.spam@please.net> |
|---|---|
| Date | 2017-09-02 18:25 +1000 |
| Message-ID | <RVtqB.25364$_f2.9482@fx16.iad> |
| In reply to | #27205 |
On 02/09/17 13:57, Elof Huang wrote: > Thank you for so much information, I have saved it > >Clifford Heath 於 9/1/2017 7:49 PM 寫道: >> As discussed, the best tutorial ecosystem for learning this stuff >> is Arduino, and the easiest "getting started" because of the huge >> number of projects you can just copy from. > I manage to learn C, but I want to know which should I start, C or > Embedded C? C is C. Embedded C is a small set of mostly unnecessary extensions to C, which in any case are not well-supported by tools. Ignore it. The things you might eventually need (like fixed-point arithmetic) can be handled in regular C through libraries, with no need of language extensions. > Having checked Arduino site several times, its forum says it uses C++, > I don't know how to program in C while the libraries are not C. Although C++ is a fairly large set of (mostly) compatible extensions to C, very little of the Arduino API uses the features. Arduino is mostly C, with just a few C++ features used mostly to manage namespaces. If you know C at all, you'll quickly get to grips with the C++ features that are used in Arduino standard APIs and most projects. Clifford Heath.
[toc] | [prev] | [next] | [standalone]
| From | Elof Huang <elof.huang@runbox.com> |
|---|---|
| Date | 2017-09-03 15:37 +0800 |
| Message-ID | <59abb162$0$10624$b1db1813$e580016b@news.astraweb.com> |
| In reply to | #27206 |
Clifford Heath 於 9/2/2017 4:25 PM 寫道: > On 02/09/17 13:57, Elof Huang wrote: >> Thank you for so much information, I have saved it >> >Clifford Heath 於 9/1/2017 7:49 PM 寫道: >>> As discussed, the best tutorial ecosystem for learning this stuff >>> is Arduino, and the easiest "getting started" because of the huge >>> number of projects you can just copy from. > >> I manage to learn C, but I want to know which should I start, C or >> Embedded C? > > C is C. Embedded C is a small set of mostly unnecessary extensions > to C, which in any case are not well-supported by tools. Ignore it. > The things you might eventually need (like fixed-point arithmetic) > can be handled in regular C through libraries, with no need of > language extensions. > >> Having checked Arduino site several times, its forum says it uses C++, >> I don't know how to program in C while the libraries are not C. > > Although C++ is a fairly large set of (mostly) compatible extensions > to C, very little of the Arduino API uses the features. Arduino is > mostly C, with just a few C++ features used mostly to manage namespaces. > > If you know C at all, you'll quickly get to grips with the C++ features > that are used in Arduino standard APIs and most projects. All I need to do is learning C, and do not need to worry about Embedded part and Arduino?
[toc] | [prev] | [next] | [standalone]
| From | Clifford Heath <no.spam@please.net> |
|---|---|
| Date | 2017-09-03 17:54 +1000 |
| Message-ID | <kzOqB.99288$lI2.97062@fx39.iad> |
| In reply to | #27214 |
On 03/09/17 17:37, Elof Huang wrote: > Clifford Heath 於 9/2/2017 4:25 PM 寫道: >> On 02/09/17 13:57, Elof Huang wrote: >>> Thank you for so much information, I have saved it >>> >Clifford Heath 於 9/1/2017 7:49 PM 寫道: >>>> As discussed, the best tutorial ecosystem for learning this stuff >>>> is Arduino, and the easiest "getting started" because of the huge >>>> number of projects you can just copy from. >> >>> I manage to learn C, but I want to know which should I start, C or >>> Embedded C? >> >> C is C. Embedded C is a small set of mostly unnecessary extensions >> to C, which in any case are not well-supported by tools. Ignore it. >> The things you might eventually need (like fixed-point arithmetic) >> can be handled in regular C through libraries, with no need of >> language extensions. >> >>> Having checked Arduino site several times, its forum says it uses C++, >>> I don't know how to program in C while the libraries are not C. >> >> Although C++ is a fairly large set of (mostly) compatible extensions >> to C, very little of the Arduino API uses the features. Arduino is >> mostly C, with just a few C++ features used mostly to manage namespaces. >> >> If you know C at all, you'll quickly get to grips with the C++ features >> that are used in Arduino standard APIs and most projects. > > > All I need to do is learning C, and do not need to worry about Embedded > part and Arduino? Arduino is a development platform and a set of C/C++ libraries to talk to the hardware. If you use an Arduino device, you'll want to start with the Arduino platform. You might move beyond it, but not soon. You don't need to worry about Embedded C. I've been writing embedded C for over 20 years, and until you mentioned it, never even knew that "Embedded C" existed. Clifford Heath.
[toc] | [prev] | [next] | [standalone]
| From | rickman <gnuarm@gmail.com> |
|---|---|
| Date | 2017-09-03 13:49 -0400 |
| Message-ID | <oohf3h$sc9$4@dont-email.me> |
| In reply to | #27214 |
Elof Huang wrote on 9/3/2017 3:37 AM: > Clifford Heath 於 9/2/2017 4:25 PM 寫道: >> On 02/09/17 13:57, Elof Huang wrote: >>> Thank you for so much information, I have saved it >>> >Clifford Heath 於 9/1/2017 7:49 PM 寫道: >>>> As discussed, the best tutorial ecosystem for learning this stuff >>>> is Arduino, and the easiest "getting started" because of the huge >>>> number of projects you can just copy from. >> >>> I manage to learn C, but I want to know which should I start, C or >>> Embedded C? >> >> C is C. Embedded C is a small set of mostly unnecessary extensions >> to C, which in any case are not well-supported by tools. Ignore it. >> The things you might eventually need (like fixed-point arithmetic) >> can be handled in regular C through libraries, with no need of >> language extensions. >> >>> Having checked Arduino site several times, its forum says it uses C++, >>> I don't know how to program in C while the libraries are not C. >> >> Although C++ is a fairly large set of (mostly) compatible extensions >> to C, very little of the Arduino API uses the features. Arduino is >> mostly C, with just a few C++ features used mostly to manage namespaces. >> >> If you know C at all, you'll quickly get to grips with the C++ features >> that are used in Arduino standard APIs and most projects. > > > All I need to do is learning C, and do not need to worry about Embedded part > and Arduino? Then use C tools on your computer or phone and play away! Nothing is simpler (in terms of getting the tools up and running) and 90% of what you learn will be useful no matter what your target is. I actually recommend that you learn Forth though. It is *much* easier to ramp up with and runs on nearly any target. MPE in Europe and Forth Inc in the US supply eval versions you can learn with and there are many open source versions. I used Win32Forth for a commercially used test fixture which has made me a lot of money for very little hassle. -- Rick C Viewed the eclipse at Wintercrest Farms, on the centerline of totality since 1998
[toc] | [prev] | [next] | [standalone]
| From | Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> |
|---|---|
| Date | 2017-09-02 11:41 -0400 |
| Message-ID | <sZidnajrbNWpTDfEnZ2dnUU7-f3NnZ2d@supernews.com> |
| In reply to | #27203 |
On 09/01/2017 07:49 AM, Clifford Heath wrote: > On 01/09/17 16:07, Elof Huang wrote: >> I want to learn Embedded systems, but don't know how to start it, >> do you recommend any platform to start? > > If you're really a beginner, there is really nothing better than > the Arduino system. Unless you actually want to learn to build systems. Arduino is sort of embedded-Python-lite, and (last time I looked) has horribly archaic development tools. I've had source-level debugging since Microsoft 5.2 for DOS, circa 1989. Arduino? Not last time I checked. > So much code, blogs, forums, etc, no matter > what you want to do, someone will have done it... ... mostly badly, but they will have done it, and it'll give you > time to learn how to do better. If they have the time and the discipline. The percentage of code I see that is stitched together from sample code and snippets of stackexchange is mind-boggling. For instance, my son and I are in the midst of fixing one of those right now, re-doing a customer's instrument that the contract engineering firm botched. The customer paid us to demonstrate the concept and write the HDL but had the board and firmware done for cheap overseas. (That was nearly three years ago--an expensive mistake.) I'm a big fan of the LPCxpresso ecosystem myself. Cheers Phil Hobbs -- Dr Philip C D Hobbs Principal Consultant ElectroOptical Innovations LLC Optics, Electro-optics, Photonics, Analog Electronics 160 North State Road #203 Briarcliff Manor NY 10510 hobbs at electrooptical dot net http://electrooptical.net
[toc] | [prev] | [next] | [standalone]
| From | Clifford Heath <no.spam@please.net> |
|---|---|
| Date | 2017-09-03 09:44 +1000 |
| Message-ID | <vnHqB.86907$Iu1.34492@fx07.iad> |
| In reply to | #27207 |
On 03/09/17 01:41, Phil Hobbs wrote: > On 09/01/2017 07:49 AM, Clifford Heath wrote: >> On 01/09/17 16:07, Elof Huang wrote: >>> I want to learn Embedded systems, but don't know how to start it, >>> do you recommend any platform to start? >> >> If you're really a beginner, there is really nothing better than >> the Arduino system. > > Unless you actually want to learn to build systems. Arduino is sort of > embedded-Python-lite, C has so little resemblance to Python that I can't understand why you said that. I know that you know both languages. > and (last time I looked) has horribly archaic > development tools. I've had source-level debugging since Microsoft 5.2 > for DOS, circa 1989. Arduino? Not last time I checked. I must agree with that. But is there another simple architecture with such a broad supportive beginner community? I'm not counting cases where you never need to see the machine, like RPi, the various micro-Python or Node things; they're just desktop-lite. >> So much code, blogs, forums, etc, no matter >> what you want to do, someone will have done it... ... mostly badly, >> but they will have done it, and it'll give you >> time to learn how to do better. > > If they have the time and the discipline. The percentage of code I see > that is stitched together from sample code and snippets of stackexchange > is mind-boggling. Yes, but there is some quite nice stuff too. It's worth being exposed to both good and bad practices, and learning to distinguish them. > For instance, my son and I are in the midst of fixing > one of those right now, re-doing a customer's instrument that the > contract engineering firm botched. That's pretty sad. However, the error was not because the contractor chose Arduino, but because the customer chose that contractor. Clifford Heath
[toc] | [prev] | [next] | [standalone]
| From | Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> |
|---|---|
| Date | 2017-09-02 20:39 -0400 |
| Message-ID | <WJadnbd8o-6u0jbEnZ2dnUU7-TfNnZ2d@supernews.com> |
| In reply to | #27208 |
On 09/02/2017 07:44 PM, Clifford Heath wrote: > On 03/09/17 01:41, Phil Hobbs wrote: >> On 09/01/2017 07:49 AM, Clifford Heath wrote: >>> On 01/09/17 16:07, Elof Huang wrote: >>>> I want to learn Embedded systems, but don't know how to start it, >>>> do you recommend any platform to start? >>> >>> If you're really a beginner, there is really nothing better than >>> the Arduino system. >> >> Unless you actually want to learn to build systems. Arduino is sort >> of embedded-Python-lite, > > C has so little resemblance to Python that I can't understand why > you said that. I know that you know both languages. It's not the language I mean, it's the ethos of bolting stuff together from giant libraries made of code you couldn't write yourself. Obviously there are limits--I'm not going to try reimplementing the C++ standard library any time soon--but one of the good things about learning on embedded systems is that you're closer to the metal. It's sort of like Montessori schools--the children learn that glass things break if you drop them, for instance. Reality obtrudes into the process a bit more. > >> and (last time I looked) has horribly archaic >> development tools. I've had source-level debugging since Microsoft >> 5.2 for DOS, circa 1989. Arduino? Not last time I checked. > > I must agree with that. But is there another simple architecture > with such a broad supportive beginner community? I'm not counting > cases where you never need to see the machine, like RPi, the various > micro-Python or Node things; they're just desktop-lite. > >>> So much code, blogs, forums, etc, no matter >>> what you want to do, someone will have done it... ... mostly badly, >>> but they will have done it, and it'll give you >>> time to learn how to do better. >> >> If they have the time and the discipline. The percentage of code I >> see that is stitched together from sample code and snippets of >> stackexchange is mind-boggling. > > Yes, but there is some quite nice stuff too. It's worth being exposed > to both good and bad practices, and learning to distinguish them. Agreed. Rubbing a puppy's nose in its mistakes, and all that. ;) > >> For instance, my son and I are in the midst of fixing >> one of those right now, re-doing a customer's instrument that the >> contract engineering firm botched. > > That's pretty sad. However, the error was not because the contractor > chose Arduino, but because the customer chose that contractor. It wasn't Arduino--they actually cloned the LPCxpresso board for the LPC1769. That isn't a bad start at all except that it's massive overkill for the job. But then they didn't use the 12-MHz crystal oscillator they specified--in fact they didn't set up the clock at all, so this nice 120 MHz MCU is running at its default 4 MHz on the internal RC oscillator. We'll probably use an LPC1764 running at 96 MHz on the RC, which is way better than good enough. (We, or at least I, don't do enough embedded stuff to get good at more than one or two MCU families. I can find my way round ATmegas and NXP ARMs, but that's about it these days. My son Simon does big-ass FPGAs and manly stuff like that, whereas I've done exactly one Verilog project on a CPLD.) Cheers Phil Hobbs -- Dr Philip C D Hobbs Principal Consultant ElectroOptical Innovations LLC Optics, Electro-optics, Photonics, Analog Electronics 160 North State Road #203 Briarcliff Manor NY 10510 hobbs at electrooptical dot net http://electrooptical.net
[toc] | [prev] | [next] | [standalone]
| From | Clifford Heath <no.spam@please.net> |
|---|---|
| Date | 2017-09-03 11:16 +1000 |
| Message-ID | <xJIqB.65922$wI2.25780@fx41.iad> |
| In reply to | #27209 |
On 03/09/17 10:39, Phil Hobbs wrote: > On 09/02/2017 07:44 PM, Clifford Heath wrote: >> On 03/09/17 01:41, Phil Hobbs wrote: >>> On 09/01/2017 07:49 AM, Clifford Heath wrote: >>>> On 01/09/17 16:07, Elof Huang wrote: >>>>> I want to learn Embedded systems, but don't know how to start it, >>>>> do you recommend any platform to start? >>>> If you're really a beginner, there is really nothing better than >>>> the Arduino system. >>> Unless you actually want to learn to build systems. Arduino is sort >>> of embedded-Python-lite, >> C has so little resemblance to Python that I can't understand why >> you said that. I know that you know both languages. > It's not the language I mean, it's the ethos of bolting stuff together > from giant libraries made of code you couldn't write yourself. Ahh, I see. Well, that's not my practice. I detest many aspects of the standard Arduino APIs, and have a plan to completely rewrite them and all the other libraries I use, from the GPIO pin level up. But for a newb, I think it's an acceptable approach. > Obviously there are limits--I'm not going to try reimplementing the C++ > standard library I've always used as little as possible of the C++ stdlib, even when writing million-line products. It encodes and hides too many assumptions about what might be "good for me". I'll be the judge of what is good for me, thanks all the same! We used libraries we wrote ourselves, in almost all cases. > one of the good things about > learning on embedded systems is that you're closer to the metal. Exactly. And for a beginner, it needs to be as little metal as possible, consistent with running an HLL. STM32 is great, but you couldn't expect a beginner to configure the clock chains, for example. I don't imagine that many ARM chips are as simple as an AVR (talking peripherals here; the instruction set is the domain of the compiler). I really liked the MSP430, but it doesn't have the support that AVR has. I tried to build an Arduino-style platform for it once - big job though. I had also tried the same thing earlier with the 68HC11 - got a good toolchain going using gcc and my own debugger DL11, but never packaged it for newbs. Insufficient RAM and no hardware breakpoints were its downfall, but the MSP430 solved that. Clifford Heath.
[toc] | [prev] | [next] | [standalone]
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Date | 2017-09-02 18:21 -0700 |
| Message-ID | <87a82co9uz.fsf@nightsong.com> |
| In reply to | #27208 |
Clifford Heath <no.spam@please.net> writes: > I'm not counting cases where you never need to see the machine, like > RPi, the various micro-Python or Node things; they're just > desktop-lite. Circuit Python? https://www.adafruit.com/product/3501 I haven't tried it yet but it doesn't look that desktop-ish.
[toc] | [prev] | [next] | [standalone]
| From | Clifford Heath <no.spam@please.net> |
|---|---|
| Date | 2017-09-03 14:26 +1000 |
| Message-ID | <XvLqB.28929$WI2.23299@fx38.iad> |
| In reply to | #27211 |
On 03/09/17 11:21, Paul Rubin wrote: > Clifford Heath <no.spam@please.net> writes: >> I'm not counting cases where you never need to see the machine, like >> RPi, the various micro-Python or Node things; they're just >> desktop-lite. > > Circuit Python? https://www.adafruit.com/product/3501 > I haven't tried it yet but it doesn't look that desktop-ish. * No need to allocate or manage memory (it's GC'd) * API access to all port pins, audio, touch, etc * No need to touch a peripheral device directly * No need to initialize the chip or devices In other words, it's fairly highly-managed. That's a fine thing, but the skills are not easily transferable to other MCUs. Clifford Heath.
[toc] | [prev] | [next] | [standalone]
| From | rickman <gnuarm@gmail.com> |
|---|---|
| Date | 2017-09-03 02:14 -0400 |
| Message-ID | <oog6bc$39j$2@dont-email.me> |
| In reply to | #27212 |
Clifford Heath wrote on 9/3/2017 12:26 AM: > On 03/09/17 11:21, Paul Rubin wrote: >> Clifford Heath <no.spam@please.net> writes: >>> I'm not counting cases where you never need to see the machine, like >>> RPi, the various micro-Python or Node things; they're just >>> desktop-lite. >> >> Circuit Python? https://www.adafruit.com/product/3501 >> I haven't tried it yet but it doesn't look that desktop-ish. > > * No need to allocate or manage memory (it's GC'd) What is GC? > * API access to all port pins, audio, touch, etc > * No need to touch a peripheral device directly > * No need to initialize the chip or devices > > In other words, it's fairly highly-managed. > That's a fine thing, but the skills are not easily > transferable to other MCUs. I'm not sure that is really true. There are many other skills that are learned in this process which *are* transferable. Just learning to use the tools and debug a program is the most important skill of all I think. The rest is just details that differ largely between targets. -- Rick C Viewed the eclipse at Wintercrest Farms, on the centerline of totality since 1998
[toc] | [prev] | [next] | [standalone]
| From | Clifford Heath <no.spam@please.net> |
|---|---|
| Date | 2017-09-03 17:52 +1000 |
| Message-ID | <gxOqB.99287$lI2.58205@fx39.iad> |
| In reply to | #27213 |
On 03/09/17 16:14, rickman wrote: > Clifford Heath wrote on 9/3/2017 12:26 AM: >> On 03/09/17 11:21, Paul Rubin wrote: >>> Clifford Heath <no.spam@please.net> writes: >>>> I'm not counting cases where you never need to see the machine, like >>>> RPi, the various micro-Python or Node things; they're just >>>> desktop-lite. >>> >>> Circuit Python? https://www.adafruit.com/product/3501 >>> I haven't tried it yet but it doesn't look that desktop-ish. >> >> * No need to allocate or manage memory (it's GC'd) > > What is GC? Garbage collection. Make new objects and just lose them, the GC will pick them up. You never know when the GC will run, and you need a *lot* more memory, so it's not a good way to get the most out of an MCU. >> * API access to all port pins, audio, touch, etc >> * No need to touch a peripheral device directly >> * No need to initialize the chip or devices >> >> In other words, it's fairly highly-managed. >> That's a fine thing, but the skills are not easily >> transferable to other MCUs. > > I'm not sure that is really true. There are many other skills that are > learned in this process which *are* transferable. Just learning to use > the tools and debug a program is the most important skill of all I > think. The rest is just details that differ largely between targets. Yes. But all those skills can also be learned in a desktop environment. If you actually want to learn embedded, the primary need is to learn how to control hardware, especially to deal with fine-grained real-world timing constraints (timer/capture hardware, etc). Clifford Heath.
[toc] | [prev] | [next] | [standalone]
| From | rickman <gnuarm@gmail.com> |
|---|---|
| Date | 2017-09-03 13:50 -0400 |
| Message-ID | <oohf5p$sc9$5@dont-email.me> |
| In reply to | #27215 |
Clifford Heath wrote on 9/3/2017 3:52 AM: > On 03/09/17 16:14, rickman wrote: >> Clifford Heath wrote on 9/3/2017 12:26 AM: >>> On 03/09/17 11:21, Paul Rubin wrote: >>>> Clifford Heath <no.spam@please.net> writes: >>>>> I'm not counting cases where you never need to see the machine, like >>>>> RPi, the various micro-Python or Node things; they're just >>>>> desktop-lite. >>>> >>>> Circuit Python? https://www.adafruit.com/product/3501 >>>> I haven't tried it yet but it doesn't look that desktop-ish. >>> >>> * No need to allocate or manage memory (it's GC'd) >> >> What is GC? > > Garbage collection. Make new objects and just lose them, > the GC will pick them up. You never know when the GC will > run, and you need a *lot* more memory, so it's not a good > way to get the most out of an MCU. Why didn't you write garbage collection? It's not like "GC'd" is a commonly used abbreviation. -- Rick C Viewed the eclipse at Wintercrest Farms, on the centerline of totality since 1998
[toc] | [prev] | [next] | [standalone]
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Date | 2017-09-03 22:20 -0700 |
| Message-ID | <87shg3m44d.fsf@nightsong.com> |
| In reply to | #27218 |
rickman <gnuarm@gmail.com> writes: > It's not like "GC'd" is a commonly used abbreviation. At least among language geeks, it's definitely commonly used.
[toc] | [prev] | [next] | [standalone]
| From | rickman <gnuarm@gmail.com> |
|---|---|
| Date | 2017-09-05 22:06 -0400 |
| Message-ID | <oonl6m$8f8$1@dont-email.me> |
| In reply to | #27226 |
Paul Rubin wrote on 9/4/2017 1:20 AM: > rickman <gnuarm@gmail.com> writes: >> It's not like "GC'd" is a commonly used abbreviation. > > At least among language geeks, it's definitely commonly used. Exactly, when you are talking to people who already know what you are talking about. -- Rick C Viewed the eclipse at Wintercrest Farms, on the centerline of totality since 1998
[toc] | [prev] | [next] | [standalone]
Page 1 of 4 [1] 2 3 4 Next page →
Back to top | Article view | comp.arch.embedded
csiph-web