Why do it this way? Because I can reach my project code from anywhere in the world from any machine I happen to have. In this sandbox, you don't even need to install a toolchain, everything is done with a browser. Here are the boards that work with the mbed platform. The author will get you up and going in a real big hurry. If you want to go down this road, buy a copy of "Mastering the STM32". CubeMX allocates pins and generates code plus there is a HAL (Hardware Abstraction Layer) and plenty of free tools. Yes, ST provides an entire universe to play in. There are multi-core variants, those with memory management (for the OS) and hardware floating point. And it is a family of devices from the very trivial up to PC equivalents. The ARM is vastly faster than the ATmegas. The project may port somewhere else but for a first cut, the Arduino platform (running on Microsoft Visual Studio) is very nice. The thing is, every time I want to try some little project, I reach for the Arduino. RAM gets a little tight from time to time. I can write forever and not fill up flash. I like the virtual garbage can approach to memory on most of the ARM chips. I like to think I have outgrown the small uCs like the Arduino and PIC16Fs. It has a lot of pins and the AVRlib stuff all works. Long before there was an Arduino, I was working with the ATmega128 and it was a very nice chip. You can also write all of your own code for the Arduino and try to optimize size and speed. Note that many of the ST boards are also mbed compatible. I use the original mbed based on the LPC1768 for projects and I simply plug it in like I might with an Arduino Nano. is now owned by ARM - for better or worse. Even then, there are simplified platforms like 'mbed' which provide a fairly large library (including networking) and everything else including an online toolchain. However, if you need more horsepower, you need to look toward ARM. So what if you develop on an Arduino with the intent to move the code to the ATmega328P chip on your product board? As long as the code solves the problem, go for it. The Arduino is a platform, the ATmega328P is a chip. As long as your project doesn't have constraints that dictate a choice, of course. Both have a point, but it's mostly a matter of personal preference. I'll warn you that this is a matter that tends to evoke strong opinions, and you'll inevitably get people telling you to go ARM because 8 bit is outdated or worthless and other people telling you ARM is lazy overkill with too much complexity. You'll learn a lot and have more control over the hardware with less hassle when you dig a little deeper than just the Arduino environment. AVR chips are in the other hand much more capable than many people give them credit for and the simple 8 bit architecture means it's much easier to work at a really low level. Those tend to offer more bang for buck when it comes to pure horsepower. AVR chips are relatively underpowered when you compare them with more modern ARM chips. That way you're already partially familiar with the ecosystem. What you could do is design your own boards with AVR chips. Using prototype boards for production is frowned upon by some.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |