Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Are you looking specifically at embedded software development, or are you interested in circuit board design as well?</p> <p>If it's just software, then I would suggest getting hold of an ARM development board (Possibly the Philips LPC range - <a href="http://www.sparkfun.com/commerce/categories.php?c=25" rel="nofollow noreferrer">sparkfun</a> have some nice ones) that you can program via a bootloader over usb and start hacking. Get one with a display and an ethernet port and you can build up to making some sort of network attached sensor (temperature, water level, object counter, etc). Start out little (turn on a LED from a button) and work your way up.</p> <p>If you're also into the electronics side of things, I'd suggest something like an MP3 (or WAV) player and maybe stick to the AVR or PIC 8bit microcontrollers (AVR is used on the Arduino) as these are a little easier to deal with than ARM. Here you could start with a usb powered device that streams wav files from a PC serial port out to a pair of headphones, and build up to a battery powered board, feeding data to an MP3 decoder IC from an SD card.</p> <p>Some things you may want to learn &amp; demonstrate:</p> <ul> <li>Understands the bounds of working with limited resources, including memory management (dynamic and/or static); resource management (locks, semaphores, mutex); multiple tasks (interrupts); and appropriate data structures</li> <li>Ability to interface with other devices/ICs over various interconnects (analog &amp; digital IO, serial bus (RS232, I2C, SPI))</li> <li>Ability to sanely structure a program and segment the various modules without producing 'spaghetti' code</li> <li>Ability to use source and integrate 3rd party libraries where appropriate (think FAT filesystem, or TCP/IP stack)</li> </ul> <p>Misc Tips:</p> <ul> <li>read and <em>understand</em> the datasheets (yes all of them)</li> <li>code and test on the desktop where possible, but understand that there are differences and bugs will still creep through (this is where it helps to be using a tool-chain that is common with the desktop - GCC is good, but the tools are generally CLI)</li> <li>use assert a lot - you can flash the line number of a failed assert using a single LED - this is invaluable</li> </ul> <p>Most of all have fun - it still makes me smile when you first get a new component working (display, motor, sensor). Embedded makes the world go round :)</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload