From a field of about 200 or more contributions submitted and published on Embedded.com this year, there are the ten top articles for 2014:
Tracking down the tainted data in your embedded app with static analysis
Systems which make use of a combination of components with different sources are at particular risk of the code and security vulnerabilities associated with tainted data. Modern static analysis tools can make it easier to track down eliminate those threats.
Managing the rechargeable batteries in your embedded/mobile design with BIF
How implementation of the MIPI Alliance Battery Interface (BIF) specification will make management of rechargeable batteries in untethered embedded, mobile, or wireless sensor design much simpler.
Do you really need source code?
Do you need the source code for your RTOS or for any other software IP? This article investigates whether source code access makes sense in all cases, when it is needed, and when access is less than useful.
A multitasking kernel in one line of code – almost
If all you want to do is just some basic multithreading or multitasking, here is a guide to how to make judgments on system complexity and some techniques to achieve your goals with no more than a few lines of code.
How to debug elusive software code problems without a debugger
Code problems in distributed systems such as wireless sensor networks cannot be easily located with a debugger. The author explains how to find them by capturing the call stack in real time and using it to stack dump at the point of failure.
Assessing 8-bit MCU communication interfaces for the Internet of Things
In this Product How-To article Tom David of Silicon Labs assesses the small footprint communications protocols such as SPI and I2C in 8-bit Internet of Things designs.
Building an electronic guitar digital sound synthesizer using a programmable SoC
Sree Harsha Angara describes how he built a simple electronic guitar synthesizer by implementing the Karplus-Strong guitar synthesis algorithm on a Cypress Programmable SoC.
Parallelism joins concurrency for multicore embedded computing
The difference between parallelism and concurrency in multicore-based embedded systems, how to choose, and tools you will need.
Alternatives to C/C++ for system programming in a distributed multicore world
A comparison of Google’s Go, Mozilla’s Rust, and the Ada-based Parasail as alternatives to C/C++ for code development in concurrent and parallel software environments.
Software techniques for building more efficient motor control designs
Software techniques for adding more features and higher complexity to a motor control design without increasing cost or requiring added components.