ARM Processor On a Breadboard (hackaday.com)
An anonymous reader writes: A normal Arduino is easy to use and cheap, but it is a reasonably slow 8-bit processor with limited memory. Why do people use them? They are simple to use and set up. Hackaday shows how to take a cheap ($6) 32-bit CPU in a breadboard-friendly package, plug in a small number of parts (resistors, LEDs, and a cable), and use an online Arduino-like IDE to program it. The chip is way more powerful than an 8-bit Arduino and the code is comparable in complexity to an Arduino sketch that does the same thing. It's an easy way to get into embedded without having to suffer through 8-bit processors. And the new Arduinos also use 32-bit ARM, so that's an option too.
Or you just buy a Teensy 3.1 for around $20. Its a 32-bit ARM running at 72 MHz and runs Arduino code.
My Arduino projects don't require the power of a 32-bit processor, but do run on batteries. How much more (... or less maybe?) power is drawn by this processor?
"I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)
An 8-bit processor with limited RAM breeds tight, bug free code. Exactly what you need in the embedded (any?) world. Help get the kids away from bad habits!!
hehe, that was great! Go on, pull the other one. :)
I wish I had a good sig, but all the good ones are copyrighted
So let me be clear, I'm currently work on flight controller software (Drones) that I'm running on both AVR and ARM processors. A 72mhz ARMv6 chip ... meh, give me the AVR at 20mhz.
Its not all about bus width or clock speed. Most AVR instructions are 1 or 2 clock cycles, a handful are 3. ARM is rarely a single clock cycle, 3 being common. From a MHZ perspective, you just practically equalized them. The ARM at 72mhz has very little advantage from a CPU perspective. Having an MMU is nice, but once you start using it, you're likely starting to eat more cycles than you have spare and you're no longer real time.
The AVR has a fully orthogonal instruction set. Writing AVR assembly is actually enjoyable. Unlike ARM (god don't get me started on x86).
AVR chips are durable, you're not going to find an ARM that can handle the load/voltage of an AVR. I could go on for hours.
Of course, on that same note, I could argue for hours about why you'd want to use an ARM over an AVR.
They don't serve the same purposes, its stupid to pretend they really compete against each other. You simply can't take full advantage of the ARM CPU and do a lot of real time work, for example. So just use an AVR for the real time bits and leave the 'business logic' to something else.
The chip is way more powerful than an 8-bit Arduino
No, it isn't, you're just only looking at the MHZ and not the actual real world performance. Its not bad or anything, its just barely better.
and the code is comparable in complexity to an Arduino
Sure, but so is any processor that has an Arduino library for it, whats your point? I can write an entire OS in one line if you want. Of course, that one line is just going to jump to some actual code that does the real work ... kind of like how Arduino sketchs are just standard C++ files which are preprocessed to include the Arduino headers and libraries.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
8 bit processors are simple, functional and a joy to program; what moron thinks one "suffers" from using the proper sized tool for a job?
Indeed. And it also helps you to learn how to use a small embedded CPU and its peripherals. After you have mastered that, you cans till go to larger CPUs.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
The ARM is more powerful, but is also bigger, costs several times more and draws more power. If you don't need the power - many or most embedded applications don't - you're increasing the cost and reducing battery life for nothing.
Don't get me wrong; A tiny low-end ARM system is fun and useful. Just like an ATTiny, or ATmega, or larger, more capable ARM systems. They all address different needs.
Trust the Computer. The Computer is your friend.
essentially an arduino with a 32 bit processor. They have even taken great care to make sure that the programming environment is identical and many of the Arduino shields work with minor code or hardware modifications. https://www.digilentinc.com/Pr...
A lot of the physics doesn't lend itself to 0-255 integer values, GPS location too, really not 0-255 integer, and when you get to advanced features like camera tracking you really won't manage it.
I think you're kidding yourself about ARM taking several cycles per instructions, its often less than 1 due to pipe-lining parallelizing operations, and more registers mean less transfers to and from memory.
"No, it isn't, you're just only looking at the MHZ and not the actual real world performance"
Sorry, ARM blows it away in the real world. Its a faster chip, it processes bigger numbers per instruction (32 bit vs 8 bit), has more bandwidth to memory (moves more data per cycle). I think your comment is wishful thinking, but then again I'm an 8 bit guy at heart too.
Let's go about this differently. If you are starting out on an arduino like environment as a kid and just learning and then you graduate from that tier of development, you want to move to the next thing. Generally speaking, you can write your own firmware and nuke the arduino or similar boot loader with some bare metal code. An 8-bit micro has a much shallower bare metal learning curve to beat. A 32 bit ARM cortex has all kinds of clock tree and power management crap to set up just to make port pins work when you are talking bare metal. Lets not discourage the poor kids with a massive chasm to leap from arduino to bare metal. 8 bit keeps the leap much smaller!
I always saw that Arduino as performing two fundamental roles:
1. Give people an easy to use, highly applicable micro controller that has a multitude of uses for hobby and even professional end application
2. Open the door to other micro controllers that suit different, potentially more complicated purposes
I'm a latecomer to the Arduino bandwaggon; having come from an EE background I'm already aware of the plethora of micro controller options and I have a good idea about their suitability for purpose. The 8-bit Arduino is fit for a vast number of purposes exactly as it is. When you're entering the scene from the Arduino as your starting point and then moving up you move on past the 8-bit ATmega when you need something a little more powerful that the Arduino can't do.
ARM is a fantastic development platform, it's capable of an awful lot more, but that's not entirely what the Arduino is all about, at least not by my interpretation. The Arduino in that respect is a sincerely great place to start but it's also a great place to stay. You can do an awful lot with one of those little ATmegas. There are just so many micro controllers, so much to learn, so many applications that I don't think anyone can truly call themselves expert in all branches, so if you've found a limb on the micro controller tree that you find comfortable then you're not doing anything wrong by sitting there.
Now what red blooded engineer doesn't want a bigger tool?
There are a constant barrage of cable channels explaining how you can take the proper suppliments, all for a bigger tool. And mechanical devices!
So why should your average pundit who reviews microprocessor tools and toolkits, and then goes home to take his EnZip and Vacupro and SusTane products, and then sits in front of a TV alone and dreams of JustOver19 dates, know anything at all about "Fitting a tool to a Job" ?
Come on, you're expecting rationality. Ain't gonna happen.
Don't take life too seriously; it isn't permanent.
This was covered 1.5 years ago in this DrDobbs article: http://www.drdobbs.com/embedde...
Been there, done that, the breadboarded ARM is a cool toy but not very practical.
I hadn't known there were so many idiots in the world until I started using the Internet -Stanislaw Lem
This is one of those subjects where I just shut the fuck up and listen, for the most part. Sometimes I ask questions. I simply don't know enough. I can offer no opinions that are qualified. I can, and do, learn and that is a god thing.
I bought a half dozen of the RPi kits when they came out and I've only unboxed one. I played with it and did exactly nothing of value with it. I keep meaning to pick it up and learn more but I can't actually think of anything I'd want to do with it or with the rest of them. I'd donate them to the local school (they get a lot of my stuff) but they're just an elementary school. I'm not sure that they'd be able to take advantage of the donation. The IT guy (they have just one - the school has 56 students, up two from last year) might be able to use them.
Anyhow, I am quite curious and enjoy reading the banter between those who do know. I've reached the point where I think I understand enough of it to get started. I just can't think of a damned thing to do that isn't already done, done better, and actually will give me a sense of accomplishment. Maybe I can just get a Linux distro installed on one and call it good. That might be interesting enough.
"So long and thanks for all the fish."
Excellent information. Thanks.
> I bought a half dozen of the RPi kits when they came out and I've only unboxed one. I played with it and did exactly nothing of value with it. I keep meaning to pick it up and learn more but I can't actually think of anything I'd want to do with it or with the rest of them.
--There are *lots* of things you can do with a PI that are pretty neat. If you already know Linux, you can just leave the board up and running 24/7 with minimal power expense.
--I chose to implement my Squid server on a Cubieboard instead, but you can do basically the same with a PI.
--Some links to get you started:
https://communities.vmware.com...
^^ This is a complete drop-in Squid Vmware appliance that I created. Once you get a Linux distribution installed on the PI, you can install the Squid package on it as well and copy the config files over.
http://www.squid-cache.org/
http://www.instructables.com/i...
http://www.pcworld.com/article...
http://www.itpro.co.uk/mobile/...
http://www.digitaltrends.com/c...
--Your local LUG (Linux User Group) should be able to help you get started and maybe give you some ideas on what to do with the board(s). HTH
https://en.wikipedia.org/wiki/...
--I recommend you designate a Saturday (or whatever day is $convenient) and resolve to do something with at least one Pi board. Feel free to email me with progress reports ;-)
.
== WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??
You are awesome! Thanks. Your post is now bookmarked and I *will* make the time to get to it. This may result in an email. *chuckles*
Also, I live in a very remote area of NW Maine - near Canada. I'm actually closer to Canada than I am to my nearest decent sized town. I *am* the local LUG. (When did LUG go to Linux User Group instead of Local User Group anyhow?) I am not home at the moment, I won't be for a while as I'm out engaging in wanderlust but appear to have actually stalled in Buffalo. (It involves a female. Now.)
As an interesting aside, I guess I kind of, sort of, have a female friend whom I met due to being geeky enough to have a Live USB (Lubuntu IIRC) in my laptop bag. So, I've engaged in my wanderlust, gotten stuck, and have managed to convert someone to Linux. I'm pretty sure this means my life is in shambles but I am having a good time.
Also, I have VMWare Workstation - multiple licenses. I'll be sure to check the image out even if I'm nowhere near a PI. As I'm stuck in one location for an indeterminate time, I'll try to find a local source for a kit. If I can't find a local source then I've already checked with the hotel and they're happy to let me receive mail here - specifically packages. I'm now paying for two rooms so they're pretty happy. (Again, it involves a female and is a very long story.)
Thanks again. Hopefully I find it as exciting as I'd hoped when I first decided to buy them. I had a plan... I want to create an automated gate at the bottom of my driveway up to and including distributing RFID broadcast devices so that they gate opens automatically. I want to write my own cell phone app that lets me know if someone's gone through or if someone's waiting - then have a camera to see and be able to open the gate remotely. I'd also like to enable the gate to open automatically only for certain times for certain friends. It probably sounds harder than it really is - I don't think it should be too difficult. I just lost motivation and realized that I really don't need such a system.
Somewhere, I might have lost a spark. You may have rekindled it though. Thanks! Seriously, thanks. There's a bunch of lengthy responses I could add but, suffice to say, I'm out appeasing my wanderlust for a reason and this may actually reflect back on that reason. Of course, now there's the issue of a female but we're not, yet, sleeping together so I can just meander away if needed. That too is another very long story. Either way, I shall add you to the friend's list so that I can more easily spot your posts. You appear to be a fountain of knowledge (and helpful, to boot) and that's why I'm here on Slashdot.
"So long and thanks for all the fish."
--Good on ya. :-)
/ but be careful, le femme can wreck ya if not careful ;-) // still, wish you the best
.
== WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??