As a good student, I’ve been very busy lately (and for the last 4 months) studying. So the only thing I’ve had time to write is study notes. I thought that I’d make the most of them, share a bit of my new knowledge with you, and give you a quick crammer’s guide to some of the topics from each of my subjects last semester. The information probably won’t mean a whole lot to you if you’ve never learnt anything about the topic before, but if you have, hopefully, this’ll clear up a few things for you.
This one’s about Embedded programming and microcontrollers. This subject was totally based around group work on a topic we were assigned. Our topic meant that we covered covers programming for a microcontroller, different types of microcontrollers, and a bit of project management.
Microcontroller Anatomy
Microcontrollers seem like a simple enough concept. They’re the little computers that are inside stuff. On investigation though, we found that it’s a bit more complex than that. There are a lot of terms that get thrown around (and a bunch that you never hear) within this space that seem synonymous, however each is different even in the subtlest way. So here’s a list of some terms you may or may not have heard before and their meanings, as best as I can surmise them:
- Microcontrollers – A name given to the hardware platform that is usually used in integrated/embedded applications. A microcontroller is a system-on-a-chip, which includes a microprocessor, some memory, sometimes a small amount of storage, and possibly some other inputs and outputs.
- Microprocessors – Like a compacted CPU, which needs separate chips for RAM, storage, and interfacing with I/O.
- FPGAs – (field-programmable gate arrays) Another type of system-on-a-chip, often used for specialised real-time-dependant systems. Their ability to be totally reprogrammed in-place is their main feature.
- System-on-a-chip – A system where most or all of its components are integrated onto a single microchip.
- Single-board computers – A fully-fledged computers, squeezed into a smaller footprint.
- Embedded programming – Any programming specifically targeted for, and taking into consideration the limitations of, an system witha specialised function, that exist within a larger system.
If you want to see a bit of a list of actual microcontrollers, along with their pros and cons, have a look at these lists over at Maker Shed and Hack A Day.
Until Next Time,
Nitemice