1

Possible Duplicate:
How to become an embedded software developer?

I'm third year undergraduate computer engineering I and I like embedded system I would like to be my specialize in engineering , but I found it a fast topic , so from your experience what is the best practice toward this target and what is the first step or books needed .thanks

Yahya Tawil
  • 442
  • 2
  • 11
  • 20
  • It's a very broad question: embedded systems include a lot of things, from microcontrollers to power electronics to analog electronics to RF; you can put in everything, as long as there is a sort of CPU somewhere. – clabacchio Apr 05 '12 at 10:38
  • http://electronics.stackexchange.com/questions/3343/how-to-become-an-embedded-software-developer/3344#3344 – Toby Jaffey Apr 05 '12 at 10:44
  • 2
    Get a microcontroller, a breadboard, a few generic parts and do something. Start with blinking a LED and go up from there. – Olin Lathrop Apr 05 '12 at 11:35
  • Olin's advice is sound. If you want to skip the breadboard part, get an Arduino. – stevenvh Apr 05 '12 at 11:38
  • @stevenvh isn't Arduino based on breadboards? – clabacchio Apr 05 '12 at 11:54
  • @clabacchio - Arduino comes on a PCB, not something like [this](http://upload.wikimedia.org/wikipedia/commons/thumb/4/47/Breadboard_complex.jpg/721px-Breadboard_complex.jpg), which is what I associate breadboarding with. – stevenvh Apr 05 '12 at 11:57
  • @stevenvh Eew, hate it when "digital and breadboarding" comes together. – abdullah kahraman Apr 05 '12 at 12:00
  • @stevenvh yes of course, but they provide a small breadboard to practice with (better for newbies). Abnd BTW, that breadboard is sick :) – clabacchio Apr 05 '12 at 12:33
  • 4
    I disagree with the arduino approach. The OP is trying to *learn*, not get a specific project done. The arduino interface deliberately hides what is going on. Get a PIC 18F2520 or something and start experimenting. You'll learn a lot more using the microcontroller directly without the sugar coating for dummies that the arduino is all about. – Olin Lathrop Apr 05 '12 at 12:57
  • 1
    @Olin - you may be right, I haven't used Arduino myself. Yet there are ready-to-use development boards for most types of controllers which allow you/force you to do everything at the lowest level. Arduino is probably not an example of this. – stevenvh Apr 05 '12 at 13:34
  • @clabacchio: You can get some Arduinos in a breadboard-friendly form. – Chris Laplante Apr 05 '12 at 15:06

1 Answers1

3

The comments are very true and realistic. As an enthusiast electronics engineer, without going through electronics school(i did IT) I some how landed up in embedded electronics.

You can tell you it's a bit of a nightmare to start off with, but the rewards are amazing.

First of all

Determine which embedded platform you want to work in.

Micro .NET

I discovered this recently and am actually pretty pleased with Microsoft offering free C# Visual Studio for 32-bit MCU's. The netDuino looks pretty good. I have not had chance to try it but I use Visual Studio everyday and looking at the demo.. this beats any other (FREE, and many paid) IDE out there for embedded. I will try this next.

AVR

Atmel, well know for its Arduino amongst beginner electronic enthusiasts with its 8bit 16 MHz chips proves to be a simple way to do nice things with electronics. But the Arduino is very limited if you need to do some modern day things. Fortunately, there are inexpensive chips and dev kits using 32bits.

Also Atmel offers ARM Solutions, used in like smartphones, NAS drives.. some games consoles.

And not be left in the dust.. Also do 8051 Architecture.

Atmel has to be praised for being the best starting point for beginners because it offers thousands of proper examples with documentaion for all their platforms, with a "mature"(arguable by both sides) IDE called Atmel AVR Studio 5 (6 in beta as we speak) .. ALL FOR FREE!!! There is a massive community supporting Atmel and many other IDE's available with loads of hacks and tutorials all over the interweb!

8051

Ther are ample MCU and SystemOnChip available out there. I have made several PCBs using Texas Instrument CC-2533 2.4 GHz SoC. It is an amazing power packed MCU+Zigbee all in one magical cheap as chips IC. One problem I ran into.. There is not free IDE used to compile firmware for it and the libraries are extremely difficult to understand. The best IDE for this and other 8051 chips is IAR Embedded Workbench - But it's not free (about 4000USD per annum for full blown environment) and the IDE is pretty crap.. but it works with almost all the 8051 out there, included vendor specific debuggers and programmers. If you learn this, which is by far the most popular.. you can make a very good living out of it!

Some vendors include. Atmel,Freescale, Maxim, National, Renesas, Samsung, STM, Texax

ARM

I have never had chance to write for ARM! But I, and all of us reading have used ARM in one way or another, be it a NAS drive, smartphone, or the ever so popular by demand Rapberry PI which runs a customised version of Fedora and also other amazing software like XBMC ARM, however has high level and low level developemnt; By nature, 1 developer will not do both as this can be extremely difficult and usually takes a team of people to get an end product.

Others

Not sure yet.. I have not tried anything else yet.

WillyWonka
  • 221
  • 1
  • 3
  • 1
    I wouldn't recommend the 8051 for starters. It's a Damn Old Design, and chances are you'll outgrow it quickly. I'd rather go for AVR (e.g. Arduino) or ARM (e.g. mbed). 8051 is OK if you have legacy designs lying around. – stevenvh Apr 05 '12 at 12:53
  • 8051 is the in deed one of the oldest and most mature architectures out there, built by Intel and prooven to work very well. I did not want to mention Arduino.. just because its very limited 8,16mhz processor that cant handle massive loads like big LCD's, Sound Processing, etc. But, the newer AVR are indeed something work looking at.. Ill add it now – WillyWonka Apr 05 '12 at 13:23
  • 3
    People nowadays are so spoiled by high clock frequencies that they don't realize anymore that you often don't need them. The TRS-80 had an *1.77MHz(!)* Z80, but managed to run a flight simulator (granted, with very low resolution graphics). – stevenvh Apr 05 '12 at 13:30
  • Anyway, AFAIK the 8051 is not much more powerful... – clabacchio Apr 05 '12 at 13:47
  • 2
    @stevenvh - The [Apollo Guidance Computer](http://en.wikipedia.org/wiki/Apollo_Guidance_Computer) was only 2.048MHz and did more than simulate :) – MikeJ-UK Apr 05 '12 at 13:54
  • 5
    @Mike - Sometimes a simulator has to do more than the real thing. I remember, when you touched-down a bit hard, you saw the horizon shake. You don't have to program that in the real thing! – stevenvh Apr 05 '12 at 13:58
  • @clabacchio - certainly not. It clocked at 12MHz, but needed 12 clock cycles for 1 machine cycle, and several instructions needed more than one machine cycle. That means 0.5 MIPS or less. – stevenvh Apr 05 '12 at 14:00
  • @Saad .. Possibly.. but is free and theres plenty of helpo out there. Whats you opinion on IAR Embedded? – WillyWonka Apr 05 '12 at 14:00
  • @MikeJ-UK, stevenvh: not only details like the bounce, but the complete graphical system is unnecessary in the real thing. In a simulator this is the most processor-intensitive part! – Federico Russo Apr 05 '12 at 14:41
  • @WillyWonka - the fact that the 8051 is by Intel is no guarantee for anything. iAPX432 anyone? – stevenvh Apr 05 '12 at 17:33
  • @WillyWonka Microsoft doesn't give the free version of Visual studio. You get a free version just for 3 months and almost all the embedded IDE are free like MPLAB, Atmel Studio, Keil, Eclipse, Arduino IDE, MPIDE, Code Composer Studio .! – Aircraft Oct 08 '15 at 07:20
  • You do get Community Edition for Free.. maybe not for 8051 but I suppose that is the "plugin" developed under VS that is not free. C/C++/C#/Python you can build for free. It lacks all the pro things like profilers and visualisers.. but its got the essentials and works pretty well. – WillyWonka Feb 09 '16 at 19:38