Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.arch.embedded > #27200 > unrolled thread

Embedded platforms for beginners?

Started byElof Huang <elof.huang@runbox.com>
First post2017-09-01 14:07 +0800
Last post2017-09-10 09:03 -0500
Articles 20 on this page of 74 — 15 participants

Back to article view | Back to comp.arch.embedded


Contents

  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 →


#27200 — Embedded platforms for beginners?

FromElof Huang <elof.huang@runbox.com>
Date2017-09-01 14:07 +0800
SubjectEmbedded 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]


#27201

FromJack <jack4747@gmail.com>
Date2017-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]


#27202

Fromrickman <gnuarm@gmail.com>
Date2017-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]


#27203

FromClifford Heath <no.spam@please.net>
Date2017-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]


#27205

FromElof Huang <elof.huang@runbox.com>
Date2017-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]


#27206

FromClifford Heath <no.spam@please.net>
Date2017-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]


#27214

FromElof Huang <elof.huang@runbox.com>
Date2017-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]


#27216

FromClifford Heath <no.spam@please.net>
Date2017-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]


#27217

Fromrickman <gnuarm@gmail.com>
Date2017-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]


#27207

FromPhil Hobbs <pcdhSpamMeSenseless@electrooptical.net>
Date2017-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]


#27208

FromClifford Heath <no.spam@please.net>
Date2017-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]


#27209

FromPhil Hobbs <pcdhSpamMeSenseless@electrooptical.net>
Date2017-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]


#27210

FromClifford Heath <no.spam@please.net>
Date2017-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]


#27211

FromPaul Rubin <no.email@nospam.invalid>
Date2017-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]


#27212

FromClifford Heath <no.spam@please.net>
Date2017-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]


#27213

Fromrickman <gnuarm@gmail.com>
Date2017-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]


#27215

FromClifford Heath <no.spam@please.net>
Date2017-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]


#27218

Fromrickman <gnuarm@gmail.com>
Date2017-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]


#27226

FromPaul Rubin <no.email@nospam.invalid>
Date2017-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]


#27252

Fromrickman <gnuarm@gmail.com>
Date2017-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