[svlug] embedded linux (arm) any pointer?
Ivan Sergio Borgonovo
mail at webthatworks.it
Thu Jul 23 16:24:48 PDT 2015
On 07/23/2015 11:26 PM, Sarah Newman wrote:
> On 07/23/2015 02:14 PM, Ivan Sergio Borgonovo wrote:
>> I'm planning to start to program on embedded Linux on ARM.
>>
>> I've no idea about the boot process, hardware support, loading the
>> firmware, choosing a low footprint distribution (I'd like to have a
>> package manager if possible), cross compiling...
> You don't clearly say if this is a personal or commercial product and whether you're trying to run linux on something you already have or if you're
> planning on buying/building new hardware. How you proceed is much different depending on those factors. So what exactly are you planning to do?
I'd like to learn to program commercial products. Very small numbers in
the order of hundreds, not thousands.
For very simple systems choosing a CPU and designing our own PCB may be
an option but one of the reasons we're thinking about moving to Linux is
building a more sophisticated UI, that means linking a display and
driving it. For such setup I guess it may be worth to buy something
ready and maybe have some support for the manufacturer (display drivers?).
Even "writing my own distro" doesn't seem an option as well.
I bet programming a raspberry pi/beagleboard/... isn't that different
than programming a PC and there are a LOT of tools, guides, distro
whatever available.
On 07/23/2015 11:38 PM, Karen Shaeffer wrote:
> Hi Ivan,
> I've worked with ARM processors quite a while ago. First thing you need to
> grokk is that there are many different arm architectures available. You need
> to fully appreciate your hardware platform specifics, before you begin to
> make software decisions.
I thought the compiler would take care of it and yeah I'll be very
carefull to pick up something that have a working implementation of
Linux running on it and that has enough HP and IO for my needs.
Or did I miss the point?
> Then I'd likely start here:
> http://www.denx.de/wiki/view/ELDK-5/
>From here I found this these were really usefull:
http://www.denx.de/wiki/ELDKHistory/AlternativeEnvironments
http://elinux.org/Toolchains
and made me understand that the options are: a full fledged distribution
and a building tool
On 07/23/2015 11:46 PM, Michael Eager wrote:
> If what you are interested in is ARM system design, packaging, OS
> configuration and build, distribution, hardware support, and the other
> things you mention, none of which seem to involve writing programs
> for the ARM, then your question is far too open ended. Please ask a more
> focused question.
I need to get to the point where I can create a suitable Linux
environment on my target ARM system and then program stuff.
I'm not going to learn how to write tools that will make it possible,
something like buildroot or ELDK or a full fledged distribution like
Debian will do.
I think if I'll need something as complicated as a USB port or eth, I'll
pick up something that can run Debian and I'll delegate more hardwery
stuff to a slave processor (arduino, pic...).
BTW I've read your Getting started with Embedded Linux and nothing
really scared me other than having to maintain the drivers I may have to
write.
On 07/23/2015 11:59 PM, Rick Moen wrote:
> https://lwn.net/Articles/635289/
That's a bit scary...
Fortunately I think the first products won't be network connected, so I
won't be in such a hurry to update the kernel and if I pick up something
that the vendor say can run Linux I'd expect it will come with a working
Linux source.
Still a bit scary anyway since if I'm going to use a tool like buildroot
I'd have to understand how it play with "external" kernel source.
Again if I'm going to drive something more complicated than a pwm I'd
have to be sure how it is supported, but at least if it is, I won't have
to write it and maintain it.
I'll try to get a more precise idea about how people selling devices
"for arm" support them.
On 07/24/2015 12:12 AM, Sarah Newman wrote:
> Long term the hope is that all you'll need is a custom device tree: http://www.devicetree.org/Main_Page . It's unlikely that will go away because
> almost all SoCs have different pin functions, so even if all your devices are on a discoverable bus such as PCI you'll have to configure what pins to
> use for the PCI bus. The DTB *should* go in the bootloader
> https://events.linuxfoundation.org/sites/events/files/slides/petazzoni-device-tree-dummies.pdf, so that could eventually lead to a generic linux kernel.
And what about ARM manufacturers? do they distribute drivers for their
IO? I think I could write a module to drive a pwm or read an ADC. I just
finished to read all Michael Eager posts and for such simple things it
shouldn't be hard. I'm worried about writing drivers for such things as
LCD display or usb stuff, that would require too much time.
Furthermore I'd prefer not to have to update my drivers.
But as I wrote earlier first devices won't have network access so
keeping up with new kernels shouldn't be an issue.
BTW thanks for the link to the book.
thanks to all...
--
Ivan Sergio Borgonovo
http://www.webthatworks.it
More information about the svlug
mailing list