Microcontrollers and Dev Boards - Page 1
Forum section: electronics / general

author: logictom
author_rank: Unknown
timestamp: January 19, 2010, 12:36:17 pm
content: I'm looking for some advice on microcontrollers and different development boards.I currently use PICs most of the time, have had a play around with an Arduino and some basic experience with a 68k, asm yuckI want to broaden my experience with different devices and thought I would ask what people recommend trying out.So my knowledge isn't tied to one brand could anyone recommend any devices widely used within industry? I've read about ARM devices but there seem to be some many I don't know where to start with them. This coming semester at uni I will also be working with the Coldfire platform so I'll have some experience with that but what others do people recommend?I'm also looking for suggestions on some good development boards to get up and running.Also I've only had some basic experience with assembly, is it worth putting in some time to learn how to use it properly?Thanks.

author: Simon
author_rank: Unknown
timestamp: January 19, 2010, 12:39:03 pm
content: try using basic, for example you can use mikroe basic, there are compilers for all types of uC devices so you learn one language and can easily adapt it to different uC's

author: logictom
author_rank: Unknown
timestamp: January 19, 2010, 09:25:54 pm
content: Thanks Simon, have had a quick look on their site. Looks like they do a C compiler for cross platform toI'm looking for a dev board or two, can you recommend any?Their arm board is a beast, looking for anything else on the market.

author: Simon
author_rank: Unknown
timestamp: January 19, 2010, 09:33:29 pm
content: they do pacal too, as I had very little training in school with pascal and did read up on Basic and found it quite an obvious language I went for basic.can't recommend a development board as I've never used one, I've not dabled with pic's long and so far have been happy enough with a breadboard, anything like push buttons I get a bread board leads and cut one of the pins off and solder them to the part. cheap and chearful

author: joelby
author_rank: Frequent Contributor
timestamp: January 19, 2010, 11:58:29 pm
content: Try browsing through a magazine like Circuit Cellar - they often detail different microcontrollers and their development boards. The consensus seems to be that C is the way to go for embedded development. An understanding of assembly code is pretty handy, but in general it's silly to develop large projects using it.

author: Unknown
author_rank: Unknown
timestamp: January 20, 2010, 07:10:05 pm
content: If you want to enhance your marketable skills in embedded development, then go the C route and forget the basic and pascal junk. Almost no one is looking for embedded developers with basic or pascal skills. Knowing assembler for popular micros can, but not automatically needs you, to earn more money. However, assembler jobs are rare, because it takes much more time to write in assembler and it is usually more economic to use a larger micro and do it in C.And regarding the MicroE stuff, well their C compiler isn't exactly loved by professionals. It is a tool they sell together with their pimped boards to otherwise clue-challenged educational institute decision makers.

author: jahonen
author_rank: Super Contributor
timestamp: January 20, 2010, 07:57:22 pm
content: A bit offtopic, but I think that learning programming concepts is most important - not the used programming language syntax whatever it is. You can always look the syntax up. Although I do quite a bit VHDL design, I have still hard time remembering the syntax, and I often resort to cheat sheets or some code I have already writtenIf one knows some basic concepts, e.g. loops, variables, functions etc. it is fairly easy to learn any language, as they often have same basic elements, but just used little differently.At my work, C is the de-facto programming language for embedded designs. If you want to learn one single language, then I think that C is what to learn. Even although I am a "hardware guy" officially, knowing C has been proven very useful on numerous occasions.Regards,JanneP.S. 68k assembly is wonderful (I'd say that perhaps the most beautiful assembly syntax for any CPU I have seen), I used to enjoy it when I used Amiga back at the 90's

author: logictom
author_rank: Unknown
timestamp: January 20, 2010, 08:51:19 pm
content: Thanks for all the replies guys.Quote from: Andrew on January 20, 2010, 07:10:05 pmWhat would you say were the most commonly used compilers?I've been using CCS compiler for lower PICs and have recently been using C30 for PIC24 project.Quote from: jahonen on January 20, 2010, 07:57:22 pmI agree with you there, I've used a fewer higher level languages and it definitely helps if you already know another. I'm going to try and brush up my programming skills, there's a few things I've learnt but then never put into any use so they've never been committed to memory.I have a module and project this semester based on VHDL so I might be printing out some of those cheat sheets to help me alongIf anyone has any more advise keep it coming, I'm always open to learning new things

author: charliex
author_rank: Frequent Contributor
timestamp: January 21, 2010, 08:07:09 pm
content: I always liked that I learnt assembler first, since I fell it gave a good insight into the way things work and you can go and figure out compiler bugs, etc. I pretty much stick to C, though for desktop I use what most people i know call C with classes, just basically using a limited set of C++ . I also find with C+asm knowledge you can skip to just about any other language fairly quickly.I like the mikroe boards, they offer a really good setup for learning, i've got the BIGPIC, they have the Arm ones too, lots of IO and add on's.Compiler wise I'd say GCC probably has the edge use wise, its not the greatest compiler, but it varies from platform to platform, the ARM support got a lot better when ARM themselves were so embarassed about its output they paid a guy to fix it up.For x86 i like the intel compiler, i usually use visual studio+intel c, for embedded it varies, codewarrior is common (though i personally find it awful to use on any platform), and again GCC. ADS/RT from ARM i prefer on the ARM. 68K i use gcc, codewarrior, SAS C, and A68K. PowerPC, CodeWarrior and gcc , Renesas i use their compiler.Jobs wise I've found people with embedded skills + expert asm can command higher pay rates, sony went around hiring a whole bunch of asm people a few years ago with very inviting pay.I do write in asm quite a lot, but rather than people who say stuff X is dumb, use Y, I say go with what's the best you can use or most comfortable with for the situation at hand, as long as it can be done of course.Also i'm with Janne, M68K is my favourite asm to use, pity motorola have just axed it a few moths ago. I still use it weekly though, and i've still got my A4000 too

author: Unknown
author_rank: Unknown
timestamp: January 23, 2010, 06:33:24 am
content: I personally believe that everyone should learn ASM, I am not saying you have to program in it, it is a case of use the tool that is the most APPROPRIATE. I find that even though my main app is in C I sometimes resort to asm for tight interrupt routines.Why learn ASM ?If your app does not work, you can look at the intermediate files produced and understand the code that it has produced from your CI used to write EVERYTHING in ASM, but now I would do 90% in C and the rest in ASM.Sometimes a job is not worth writing in C eg a code key (a simple uC that outputs a stream of data to reset another system when plugged in (this was used in motor sports in Targawest to reset the over speed devices)) The chip I used for this was an ATTiny15, First it does not have any SRAM so C is not going to work well with 32 registers only, second it has a small amount of Flash for code, so all the compiler overhead would have been more than the lines it took to actually do the intended task