LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware > Linux - Embedded & Single-board computer
User Name
Password
Linux - Embedded & Single-board computer This forum is for the discussion of Linux on both embedded devices and single-board computers (such as the Raspberry Pi, BeagleBoard and PandaBoard). Discussions involving Arduino, plug computers and other micro-controller like devices are also welcome.

Notices


Reply
  Search this Thread
Old 08-16-2020, 09:42 PM   #1
tekra
Member
 
Registered: Aug 2010
Location: Brisbane, Australia
Distribution: Gentoo, Slackware, PCLOS, Debian
Posts: 230
Blog Entries: 2

Rep: Reputation: 50
Which 32-bit microcontroller has the best Linux support?


I've started my first 32-bit MCU project and am evaluating the choices. I'm Lx-only - don't have a Windoze box - and have successfully worked with 8-bit AVRs and PICs without having to rely on the manufs' IDEs, compilers and all the rest, since I don't like any of them and much prefer my own "down-to-the-metal" setup.

However, Microchip state that they do not support Lx, and when I downloaded some demo code, it came as a Windoze .exe archive. OK, so I can use WINE etc, but it's a pain. Unfortunately, their PIC32 is at the top of my list, and their 32-bit AVR is close behind. The alternative is ARM, but it seems to be overkill for my application, and the STM website is a big put-off: it warned me about my "out-of-date" 12-month old Firefox, and the page design features the now popular mild-grey text on a light-grey background. Who needs contrast?

Does anyone have experience with 32-bit MCUs and can offer advice? Most grateful for any input.
 
Old 08-17-2020, 07:04 AM   #2
rtmistler
Moderator
 
Registered: Mar 2011
Location: USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu, Debian
Posts: 9,883
Blog Entries: 13

Rep: Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930
SAMA5D27 it is from Microchip and does run Linux.

I would not use a PIC32, not enough memory.

https://www.microchip.com/Developmen...a5d27-som1-ek1
 
Old 08-17-2020, 05:13 PM   #3
tekra
Member
 
Registered: Aug 2010
Location: Brisbane, Australia
Distribution: Gentoo, Slackware, PCLOS, Debian
Posts: 230

Original Poster
Blog Entries: 2

Rep: Reputation: 50
Thanks for the suggestion. Yes, I've decided to go with an ARM Cortex-M for a number of reasons.

After the disappointment with STM I had a VERY pleasant experience with the NXP website. About the BEST online selection tool I've used: got me to within cooee of the right chip on the first attempt, as well as being more intuitive and much faster than most others.

Had forgotten about NXP - odd name - but it was Philips, VERY familiar. Work in progress ...
 
Old 08-17-2020, 09:15 PM   #4
rtmistler
Moderator
 
Registered: Mar 2011
Location: USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu, Debian
Posts: 9,883
Blog Entries: 13

Rep: Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930
Not sure if there's a continued question.

And I have to admit in your original post the topics vary significantly.

You use the term Windoze, implicitly insulting an OS. Got that. And I don't care that you call it that. Then you started to consider using it, and using it via WINE, but for a 32-bit AVR which likely may not give you enough capabilities to run WINE, let alone a display manager. As follow up to that you state that ARM seems to be overkill for your application, ending with STM's website is a big put-off. I totally get that too, but meanwhile I have worked directly with STMicro on various projects, quite successfully. They have a broad variety of products.

You also mentioned you much prefer "down-to-the-metal", which to me means, "bare metal" also "no OS". Granted a lot of chips do that, I've worked with plenty of them. But, since you're asking about Linux (assuming this is what you mean when you type "Lx"), then there's nothing really to cover here, except that you talked about the topic, sort of, as I've done in this paragraph.

Now you're looking at Cortex-M via NXP. Great, they run at least Debian and Yocto, probably Ubuntu too, but I haven't checked.

Perhaps you should cite a few specific SOCs or SOMs, list them, and ask if anybody can share positive or negative Linux experiences with any of them.

It also might help to describe better the processing needs of your application, such as whether or not it requires a display manager, or just the frame buffer, and how Firefox plays into the whole picture. Whether or not you'll need direct Ethernet, WiFi, Cellular, Bluetooth, or any/none of those thereof, including the network stacks which accompany those network access technologies. Similarly if you need any particular libraries or frameworks to support interpreted languages, and etc.

Per the thread title, "Which 32-bit microcontroller has the best Linux support?", perhaps just try a Pi. They're cheap, there's quite a few distros which have been run on them, and there's plenty of examples and projects you can cherry pick from to get you going.

Enjoy, I hope your project goes well.
 
Old 08-18-2020, 12:07 AM   #5
tekra
Member
 
Registered: Aug 2010
Location: Brisbane, Australia
Distribution: Gentoo, Slackware, PCLOS, Debian
Posts: 230

Original Poster
Blog Entries: 2

Rep: Reputation: 50
Hmmm! OK, first up, I think we got off on the wrong foot - feet, whatever - probably due to my lack of specificity as to "Linux support"; and yes, "Lx" IS DEFINITELY an abbreviation of "Linux". Full marks!

By this I meant DEVELOPMENT support. NO WAY do I intend running Lx on the chip: most, if not all of it will be assembler code, although I'll probably need to use some C to interface with whatever libraries the manuf supplies.

Taking Microchip as an example of many others, if you follow their expected (almost enforced) guidelines, you'll install their MPLAB software on your Windoze machine, program your target device using one of their (proprietary) programmers (some cheap enough for hobbyists), and wrap up (hopefully) by requesting preprogrammed chips, again requiring M$ compatibility to interface with their techs.

Not for me!

"... Windoze, implicitly insulting an OS." The Company Still Known As Microsoft is HIGHLY LITIGIOUS, although it seems you're not aware of this. The word "Windo?s" is Registered Intellectual Property of the afore-mentioned "Microsoft". My use of the term "Windoze" is to avoid any possibility of being sued by them for using it without due attribution. I don't need to insult M$: Bill Gates and all of his nefarious schemes are now hated by intelligent people across the world for the world-famous COVID pandemic. M$ was just the beginning.

"... using it via WINE, but for a 32-bit AVR ..." That's certainly an amazing conception that would NEVER have occurred to me! Full marks again for imagination. I meant running WINE on my workstation in order to read/run the example SUPPORT code provided by Microchip.

"... meanwhile I have worked directly with STMicro on various projects, quite successfully." I don't doubt that you have, as certainly have many others. Just not my cup of tea. "They have a broad variety of products." They sure do, and I'm sure that the free plug will get you a bonus. I TOTALLY get that.

"... Cortex-M via NXP. Great, they run at least Debian and Yocto, probably Ubuntu too, but I haven't checked." Crikey! Running any of those on a little thing like a Cortex-M had NEVER occurred to me. May even be possible: dunno and not interested.

I'm grateful for your input, but I think we're talking at cross purposes.
 
Old 08-18-2020, 07:46 AM   #6
rtmistler
Moderator
 
Registered: Mar 2011
Location: USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu, Debian
Posts: 9,883
Blog Entries: 13

Rep: Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930
MPLab has a version which runs under Linux.

Pretty much all of the low end 32-bit microcontrollers use the GNU tools for their compiler and it becomes matter if you wish to use their tools.

Cypress has tools which are Eclipse based and thus also work on Linux, in fact work better on Linux than Windows.

When you inspect the IDE tools and compilers for the various chips you are looking in to, review the download links and see the information related to any distributions tested with, they usually pick Debian or Ubuntu to verify against, but typically work with a lot of distros.

I can't really offer who I feel is "the best", I've used a lot of them, and during project changes we try a lot more out. Be it Windows or Linux, if we can't even engage their dev tools, then we put them down and look away, but typically the tools work fine and the options become to us whether or not the chip covers the needs we want from it, as well as things like cost, and package types available.
 
Old 08-18-2020, 07:21 PM   #7
tekra
Member
 
Registered: Aug 2010
Location: Brisbane, Australia
Distribution: Gentoo, Slackware, PCLOS, Debian
Posts: 230

Original Poster
Blog Entries: 2

Rep: Reputation: 50
Thanks for a useful summary. I've found the GNU tools to be very competent and reliable, as well as things like 'picprog' - now moved on to 'fpicprog' using a USB serial link.

It's a long time since I bothered examining any IDEs. All of my coding - HTML, C, assembler, whatever - is done in Nedit, the best Programmers' Editor in the entire History of the Universe (and I'm not a person given to superlatives). Not having to relearn another set of keystrokes and workarounds saves heaps of time. I always do compiling, assembling and debugging on the commandline. Not only do I get the raw info, I can write scripts (bash or Perl) to expedite and interpret the results automagically - another time-saver.

There can never be a "best" other than a personal best, and the above is mine. What I STRONGLY dislike is being unable to assert my preference, and forced to use someone else's - usually proprietary - "best". I'm also strongly of the opinion that students should still be taught the commandline approach. Not only is it a RELIABLE last-ditch fallback for their professional futures, it gives them invaluable insights into how the processes actually work, which IDEs are deliberately intended to hide and "simplify". Better a few months studying the basics than a lifetime spent endlessly relearning new "bests".
 
Old 08-19-2020, 06:17 AM   #8
fatmac
LQ Guru
 
Registered: Sep 2011
Location: Upper Hale, Surrey/Hants Border, UK
Distribution: Mainly Devuan, antiX, & Void, with Tiny Core, Fatdog, & BSD thrown in.
Posts: 5,499

Rep: Reputation: Disabled
As a Linux/BSD/Unix user, you should be using vi, it's available on everything....
 
Old 08-19-2020, 10:28 AM   #9
tekra
Member
 
Registered: Aug 2010
Location: Brisbane, Australia
Distribution: Gentoo, Slackware, PCLOS, Debian
Posts: 230

Original Poster
Blog Entries: 2

Rep: Reputation: 50
Tried a couple of times but still prefer Nedit. Others would say the same thing about emacs. Religious preferences, I suppose.
 
Old 08-19-2020, 01:36 PM   #10
rtmistler
Moderator
 
Registered: Mar 2011
Location: USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu, Debian
Posts: 9,883
Blog Entries: 13

Rep: Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930
Quite sure there's no further advice I can give.

You asked about which microcontroller has the best Linux support.
The first misconception (of my own design) was that you wished to "run" Linux on the microcontroller.
Clarification was that your real question was which microcontroller has the best Linux tools.
Further details were that you're not interested in any IDE tools and prefer to use GCC via the command line.

GCC or other command line compilers are universal, and you can use them on any OS where you're able to install them.

Same answer for your favorite editor, any OS where you're able to install it.

Last edited by rtmistler; 08-19-2020 at 01:47 PM.
 
Old 08-19-2020, 01:46 PM   #11
pan64
LQ Addict
 
Registered: Mar 2012
Location: Hungary
Distribution: debian/ubuntu/suse ...
Posts: 21,887

Rep: Reputation: 7317Reputation: 7317Reputation: 7317Reputation: 7317Reputation: 7317Reputation: 7317Reputation: 7317Reputation: 7317Reputation: 7317Reputation: 7317Reputation: 7317
Quote:
Originally Posted by tekra View Post
Tried a couple of times but still prefer Nedit. Others would say the same thing about emacs. Religious preferences, I suppose.
not really. vi is more or less the first full screen editor on unix (even before linux was born). vi is still available anywhere. That is de facto installed.
emacs and nedit are two different stories. NEdit requires gui, which makes it completely useless on servers. If you like emacs you can install it and use.
both emacs and vi are complex and need time to learn them.
 
Old 08-19-2020, 08:57 PM   #12
tekra
Member
 
Registered: Aug 2010
Location: Brisbane, Australia
Distribution: Gentoo, Slackware, PCLOS, Debian
Posts: 230

Original Poster
Blog Entries: 2

Rep: Reputation: 50
> Quite sure there's no further advice I can give.

Statement or question? This site is "Linux Questions". A question can, in general, be one of two things:

1. A request for a solution to a problem.

2. An invitation to discuss an issue.

This thread is the latter. I'm quite happy to leave it open until I've finalized my choices so that it can serve as a reference for others confronted by similar issues in the future.

BTW, I've settled on NXP's LPC11U6x family, a Cortex-M0 core with an amazing array of peripherals and facilities. Wasn't at all sure about dev support, and their "community" either doesn't have many English speakers or they're a quiet lot; still waiting for some answers. However found a GREAT site here:

https://os.mbed.com/

... which is run by ARM Themselves. It features Lx UP FRONT which removed my doubts about using dev tools on my box, so am feeling rather chuffed.

> ... which makes it completely useless on servers.

Quite true. I've been using Lx since 2000. In the early days everyone was a beginner and so had newbie/hobbyist/experimenter attitudes. As time passed, many became "professionals" of one kind or another, and their attitudes changed NOTICABLY; and, from my perspective, NOT for the better. Most were employed by commercial organizations, often TransNational Corporations, and their habitual responses to any discussion were not only from that perspective, but from those who spent most (if not all) of their lives slaving away for The Man. One unfortunate result of this is that Lx has developed along similar lines, and hobbyists are now viewed as peripheral, and often with condescension, if not derision.

Personally, i'm not the least interested in servers, nor any corporate issues, which doesn't mean they're invalid, just not relevant to me. If a GUI isn't available, I use "pico" (also de facto installed) to fix whatever's wrong with it. Then it's back to Nedit, the best Programmers' Editor in the entire History of the Universe (and I'm not ...)
 
Old 08-20-2020, 04:11 AM   #13
fatmac
LQ Guru
 
Registered: Sep 2011
Location: Upper Hale, Surrey/Hants Border, UK
Distribution: Mainly Devuan, antiX, & Void, with Tiny Core, Fatdog, & BSD thrown in.
Posts: 5,499

Rep: Reputation: Disabled
Quote:
Originally Posted by tekra View Post
Tried a couple of times but still prefer Nedit. Others would say the same thing about emacs. Religious preferences, I suppose.
My post was meant as 'tongue in cheek' - maybe it didn't quite work....but vi is available on all, no extra installing needed.
 
Old 08-20-2020, 08:13 AM   #14
rtmistler
Moderator
 
Registered: Mar 2011
Location: USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu, Debian
Posts: 9,883
Blog Entries: 13

Rep: Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930Reputation: 4930
Quote:
Originally Posted by tekra View Post
BTW, I've settled on NXP's LPC11U6x family, a Cortex-M0 core with an amazing array of peripherals and facilities. Wasn't at all sure about dev support, and their "community" either doesn't have many English speakers or they're a quiet lot; still waiting for some answers. However found a GREAT site here:

https://os.mbed.com/

... which is run by ARM Themselves. It features Lx UP FRONT which removed my doubts about using dev tools on my box, so am feeling rather chuffed.
Glad you found one that you prefer. What aspects of Linux, if any, involved with this board interest you?
Quote:
Originally Posted by tekra View Post
Tried a couple of times but still prefer Nedit. Others would say the same thing about emacs. Religious preferences, I suppose.
I sort of agree with the comment on vi, not because of any preference, but instead to be aware of the editor and a rudimentary level of understand about how to use it. Reason being is that it typically is the sole editor available on bare systems running Linux. If you are bringing up a new system operating Linux, and you also are customizing the distribution, you likely will not have a full up desktop, including display manager. In fact, if you're developing an IoT appliance, it probably will be headless and not have a GUI. The most likely tools available there would be things like vi or nano. So while I have a favorite editor myself, and it is not vi, I still have learned enough to be able to use vi.
 
Old 08-20-2020, 10:16 AM   #15
tekra
Member
 
Registered: Aug 2010
Location: Brisbane, Australia
Distribution: Gentoo, Slackware, PCLOS, Debian
Posts: 230

Original Poster
Blog Entries: 2

Rep: Reputation: 50
In my early days I made a serious attempt to use vi since I much admired its unique design, and as you both have pointed out, it's essentially a fundamental component of all Lx installs. Reason I abandoned it was simply that, like I said, I rarely interact with that level of the system: once an install's complete, that's it! This differs from guys whose daily work keeps them closely in touch with it. Similar comments apply to emacs, though abandoning it was much easier since it IS - very definitely - almost a religion, and I'm a determined agnostic.

There've been several other aspects of Lx - and tech in general, including hardware, my former professional occupation - that I've had to put aside without exploring them as far as I'd like. I've already passed my three score and ten, and most of these could each easily take a complete lifetime of discovery and application. C'est la vie!

As to the LPC11U6x, I'll be using it for several related designs, but as a development environment. The final products will probably use other chips with smaller optimized peripheral sets in order to reduce cost to a minimum. It's a highly competitive environment out there. For this reason I need something "full house generic" that satisfies my design criteria, but sufficiently compatible with smaller chips as to require a minimum of code rewrite for changing to them. The PIC32 seemed to offer this, one reason for my initial attraction, but I'd then be tying myself to single manuf. I've ALWAYS preferred components with second sources - much easier years ago when "mil spec" (q.v. for younger folk) assured this for most things. Mil spec is no longer relevant to today's commercial environment - other than for MTBF and the like. A pity. Another valuable default fallen by the wayside.

Besides, as a lone hobbyist/designer/manuf, my time is so limited in comparison to even a small organization that I must be extremely cautious before committing it to any learning process, perhaps the main reason I came BACK to ARM, since it was my initial, intuitive choice. Alternatives from other manufs are available should necessity dictate.

Thanks for the interest.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Hackable: Ubuntu boots on 8-bit microcontroller LXer Syndicated Linux News 0 03-30-2012 09:20 AM
LXer: ARM9 microcontroller gains Linux development support LXer Syndicated Linux News 0 10-16-2009 07:10 AM
Xpert in 8-16 bit microcontroller embedded system now inclining toward embedded linux priyadarshan Linux - Embedded & Single-board computer 2 02-12-2009 04:28 AM
68HC11 Microcontroller programming in linux skilambi Linux - Newbie 2 05-25-2008 09:57 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware > Linux - Embedded & Single-board computer

All times are GMT -5. The time now is 07:01 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration