Sonsivri
 
*
Welcome, Guest. Please login or register.
Did you miss your activation email?
April 23, 2024, 04:59:52 16:59


Login with username, password and session length


Pages: [1]
Print
Author Topic: [Q]PIC32 vs ARM  (Read 4082 times)
0 Members and 1 Guest are viewing this topic.
biomed12
Junior Member
**
Offline Offline

Posts: 94

Thank You
-Given: 67
-Receive: 5


« on: December 21, 2016, 11:06:15 23:06 »

Hello everyone,

I am a last class EEE student. I had many examples with 8-bit and 16-bit MCUs(PICs). I decided to migrate to 32-bit platforms. So, I need some advices for my future plans. I want to work on embedded systems during my life. Digital systems, signal processing, image processing, RTOS, embedded linux, more and more... These topics always make me excited. So, if I want to be an embedded system engineer, it is not necessary to explain the importance of CPUs. Briefly, which one do you recommend and have more advantages and is a good choice to waste time on, especially experts of embedded systems they develop applications.

Thanks. 
Logged
CocaCola
Senior Member
****
Offline Offline

Posts: 482

Thank You
-Given: 169
-Receive: 232



« Reply #1 on: December 21, 2016, 11:37:57 23:37 »

It's best to choose the microchip and/or CPU brand and features that best fit the specific design, don't force or try and force a design onto a chip, instead let the design choose the chip...

That said for general purpose designs you can find a family of chips you prefer and get to know best that will make designs more streamlined...  And this is mostly personal preference, I like Microchip brand, some like Atmel, others like TI, others like this or that there is no single right answer...  There are still people that love the 8051 architecture, as they know it inside and out, and even though it's an antique, there is nothing wrong with them liking it and using it...

If there is one thing to take away from the popularity of Android, iOS and Chrome OS in this modern computing age, it's the fact that you don't need the best of the best hardware and fastest chips to make world class products...
« Last Edit: December 22, 2016, 02:24:23 02:24 by CocaCola » Logged
biomed12
Junior Member
**
Offline Offline

Posts: 94

Thank You
-Given: 67
-Receive: 5


« Reply #2 on: December 22, 2016, 02:28:04 02:28 »

It's best to choose the microchip and/or CPU brand and features that best fit the specific design, don't force or try and force a design onto a chip, instead let the design choose the chip...

That said for general purpose designs you can find a family of chips you prefer and get to know best that will make designs more streamlined...  And this is mostly personal preference, I like Microchip brand, some like Atmel, others like TI, others like this or that there is no single right answer...  There are still people that love the 8051 architecture, as they know it inside and out, and even though it's an antique, there is nothing wrong with them liking it and using it...

Yes, you are right. But, i am reading some discussions about it. For example, i use xc languages+mplabx and some people are always complaining about its unstability. I think, i need more detail. ARM platforms looks nicer for some aspects etc etc...
Logged
CocaCola
Senior Member
****
Offline Offline

Posts: 482

Thank You
-Given: 169
-Receive: 232



« Reply #3 on: December 22, 2016, 02:49:04 02:49 »

People will complain about everything, as everyone has an opinion...  Some complaints are valid and address real concerns specific to a design or the hardware, and you should consider them, but to be blunt no platform is perfect and a vast majority of the he said she said is nothing but opinions...  If you are doing freelance work do whatever you want unless your clients request otherwise, if you are working for a company you are going to have to use the tools and chips they tell you to...  For maybe 95% of my freelance work the clients don't care what brand micro I use or language I use as long as it does what they want in the end...

You are essentially asking whether you should turn left, right, go straight or turn around, and the only way to know the answer is to determine where you want to end up...
Logged
bigtoy
Active Member
***
Offline Offline

Posts: 238

Thank You
-Given: 322
-Receive: 297


« Reply #4 on: December 22, 2016, 05:24:28 05:24 »

So you're a student, soon to graduate, you like playing with micros, and presumably you want to have some fun doing something that will look good on a resume. Yes?

If that's the case, my advice to you is pretty simple. Find some open-source project on an embedded micro that you can contribute to. Or start your own project. (But contributing to an existing project will show you can work in a team, which is better.)  Raspberry Pi is an obvious choice, and there are many active projects there. Beaglebone is another platform with lots of activity and interesting projects. Both of these run embedded linux, which looks good on a resume. Another interesting platform is the ESP32 (the higher-end successor to the very popular ESP8266); all kinds of single-chip wireless projects possible there.

The point is to find a project that excites you, one you want to help out and improve. Then let the project dictate which micro it uses. At the end of the day the toolchain is just a C compiler (or whatever) no matter which micro you choose. So don't fixate on the micro; just choose the project that makes you excited, contribute some good clean code, and put a link to it on your resume.
Logged
solutions
Hero Member
*****
Offline Offline

Posts: 1824

Thank You
-Given: 656
-Receive: 903



« Reply #5 on: December 22, 2016, 10:40:19 10:40 »

A chimp in human resources WILL fixate on the micro, because EVERYBODY will have C-programming and Github on their resume...anything to make a shorter resume pile - because that is what bureaucrats do...manage heights of paper stacks.
Logged
Old_but_Alive
Senior Member
****
Offline Offline

Posts: 329

Thank You
-Given: 705
-Receive: 118


« Reply #6 on: December 22, 2016, 12:14:27 12:14 »

I would go with ARM.

I use PIC's for 8 bit, but the variety and availability of ARM for 32 bit  versus MIPS32 bits is vastly superior.

ARM is much more complex, and not as easy to get "down and dirty" at the register level compared to any 8 bit micro.

I recently did a code comparison of a PIC16 and ARM32, and was surprised to find that the ARM used less code


I remember when microchip announced the pIC32 with the MIPS core, and way back then I thought it a big mistake.


Maybe now microchip have the ATMEL SAM series ARM cores, they will promote it more
Logged

I fought Ohm's Law ...  and the law won
I only use Mosfets because I have a Bipolar mental disorder :-)
metal
Global Moderator
Hero Member
*****
Offline Offline

Posts: 2420

Thank You
-Given: 862
-Receive: 678


Top Topic Starter


« Reply #7 on: December 22, 2016, 02:29:22 14:29 »

if microchip manages to treat ARM peripherals same way they did with 8-bit PICs, it will a very nice thing for PIC users, and STM32 users as well!
Logged
reksbg
Junior Member
**
Offline Offline

Posts: 60

Thank You
-Given: 26
-Receive: 56


« Reply #8 on: December 22, 2016, 02:40:18 14:40 »

I'm using all the time both PIC32 and ARM and if I have the choice I'll go all the time with ARM. For me everything for ARM is better - debuggers, IDEs, low cost programmers, SDKs, available code, etc.
The other advantage with ARM is that every major chip manufacturer has ARM chips in their portfolio so it is relatively easy to switch between them if something happens to the ones you are using. If something happens to PIC32 or/and Microchip it will be more difficult to switch to another MCU. On the other side as somebody already said - the MCU should be defined by the application so you don't want to limit yourself to just one architecture. As one of my teachers in the university said many years ago - you learn the first MCU in 3 months, the second one in 3 weeks and after that you can learn new one in 3 days Smiley. Of course it is not that simple but you are getting the idea Smiley. Those are just my 2 cents Smiley
Logged
zac
Active Member
***
Offline Offline

Posts: 147

Thank You
-Given: 81
-Receive: 57


« Reply #9 on: December 22, 2016, 11:38:42 23:38 »

There are still people that love the 8051 architecture, as they know it inside and out, and even though it's an antique, there is nothing wrong with them liking it and using it...

I used 8051 variants in many designs through the 1990s, but would choose a newer more capable architecture for a new design since there is now very little cost difference between 8051's and much more capable microcontrollers (such as TI's 16 bit MSP430 or even vastly more powerful arm cores).  I remember one design by a older well regarded colleague.  He was very familiar with the 8051 and designed a data acquisition system around some accelerated 8051 cores from Dallas Semiconductor.  We needed to generate stimulus waveforms and capture data (bursts at rate of a few thousand samples/second).  He used one 8051 core to generate the waveforms and another to capture them and data transfer was over rs485 serial.  This was a little kludgy, but worked well.  But, it became problematic when when we wanted to sample at higher rates (tens of thousands of samples/sec) and at higher resolution, resulting in much larger datasets.  Much of the firmware was written in assembly because we were near the limits of processor capability and it had to be highly optimized.  Maintaining code in assembly was really time consuming.  I try to code everything in C whenever possible.  At the time, I thought it would have made much more sense to use a 68K core that was available in an embedded version called dragonball.  We would have had to do much less redesign work when we added eventually usb and ethernet.

In terms of which architectures to learn, I would suggest the most popular ones such as ARM, PIC, MSP430, etc.  
« Last Edit: December 22, 2016, 11:41:26 23:41 by zac » Logged
CocaCola
Senior Member
****
Offline Offline

Posts: 482

Thank You
-Given: 169
-Receive: 232



« Reply #10 on: December 23, 2016, 03:05:14 03:05 »

A chimp in human resources WILL fixate on the micro, because EVERYBODY will have C-programming and Github on their resume...anything to make a shorter resume pile - because that is what bureaucrats do...manage heights of paper stacks.
Just a guess but, I suspect a lot of the resumes coming in nowadays also have a list of multiple brands and flavors of micros and development systems that they claim to have worked on listed as well, even if they just made a flashing led circuit Wink ... Thus I doubt listing ARM, PIC32 or whatever will actually make you stand out in the crowd nowadays unless you show that your skills with said micro rivals others somehow, although you will probably have a leg up on the guy that list Arduino...
Logged
bobcat1
Senior Member
****
Offline Offline

Posts: 295

Thank You
-Given: 4158
-Receive: 89


« Reply #11 on: December 25, 2016, 08:07:04 08:07 »

CocaCola  I defiantly agree with you ,
You can't measure one experience by looking at the list micro he say he worked with,
Whether you need to know more about a potential candidate you will need to put him to test ,
A test that show his experience on the front (that is not easy task)

All the best

Bobi

Logged
Gallymimu
Hero Member
*****
Offline Offline

Posts: 704

Thank You
-Given: 151
-Receive: 214


« Reply #12 on: December 25, 2016, 03:49:23 15:49 »

Another thing to consider, is, that if you are good at one architecture, you can learn the others quickly (unless you are a dope).  Thoughtfulness with embedded systems, getting the most out of a part (peripherals, DMA, layers of interrupts, boot loaders, error handling, solid diagnostics info, etc) are much more valuable skills and they can be applied to any architecture.

What is important is to understand the low level coding, drivers, etc and to make sure you aren't only competent at off the shelf libraries and RToS options, which is more of a risk with the more complex parts since they have memory and processing power to spare.
Logged
solutions
Hero Member
*****
Offline Offline

Posts: 1824

Thank You
-Given: 656
-Receive: 903



« Reply #13 on: December 25, 2016, 10:55:10 22:55 »

You can learn others quickly, but with 90 million unemployed on the streets in the USA, the mindset of allowing a COMPETENT designer a week or two to come up to speed has gotten to the point where the "lack of appropriate skills" is a deal killer.

They either leave the position open for months (a good percentage of these managers are idiots who got promoted to get them out of the way or through self-promotion) or hire someone that fits exactly. And, anyone with more than 5 years of experience is overpriced...
Logged
zac
Active Member
***
Offline Offline

Posts: 147

Thank You
-Given: 81
-Receive: 57


« Reply #14 on: December 28, 2016, 11:42:29 23:42 »

This paper comparing code sizes for various processors might be of interest.  My experience is that MIPS code tends to be larger than corresponding ARM code though this is of only minimal concern these days of cheap memory.    

http://web.eece.maine.edu/~vweaver/papers/iccd09/iccd09_density.pdf
Logged
Pages: [1]
Print
Jump to:  


DISCLAIMER
WE DONT HOST ANY ILLEGAL FILES ON THE SERVER
USE CONTACT US TO REPORT ILLEGAL FILES
ADMINISTRATORS CANNOT BE HELD RESPONSIBLE FOR USERS POSTS AND LINKS

... Copyright © 2003-2999 Sonsivri.to ...
Powered by SMF 1.1.18 | SMF © 2006-2009, Simple Machines LLC | HarzeM Dilber MC