~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Firmware Update
- July 25, 2013
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
in this issue
-- The Perils of Preemption
-- What to Do in the Idle Task
-- Intellectual Property Protections for Embedded Software
-- Upcoming Training Courses for Fall 2013 -- Industry News That's Not Boring
Firmware Update is a free newsletter by embedded guru Michael Barr. This issue is Copyright 2013 by Barr Group, but may be reprinted for non-commercial purposes. Please forward it to colleagues who may benefit from the information. |
|
The Perils of Preemption ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Every commercial RTOS employs a priority-based preemptive scheduler. This despite the fact that real-time systems vary in their requirements and real-time scheduling doesn't have to be so uniform. Multitasking and meeting deadlines is certainly not a one-size-fits-all problem.
Though there are good reasons to use priority-based preemption in some applications, preemption actually creates more problems than it solves for most embedded software developers. Programming in such an environment necessarily creates excess complexity when the application is not well suited to being coded as a set of tasks that can preempt each other. Sometimes this added complexity results in system failures. It almost always also lengthens development and debug cycles. |
|
What to Do in the Idle Task ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you are using an RTOS in your latest design then no doubt there is an idle task. It's been our experience that the idle task is underutilized by embedded programmers. The idle task is a wonderful resource that you can exploit to do all sorts of interesting things to improve your product.
If your current idle task consists of a do-nothing loop, then you are almost certainly missing an opportunity. This article contains several suggestions for useful work to put into this free background loop. |
|
Intellectual Property Protections for Embedded Software ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
My experiences as a testifying expert witness in numerous lawsuits involving software and source code have taught me a thing or two about the various intellectual property protections that are available to the creators of software. These are areas of the law that you, as an embedded software engineer, should probably know at least a little about. Hence, this primer.
Broadly speaking, software is protectable under three areas of intellectual property law: patent law, copyright law, and trade secret law. Each of these areas of the law protects your software in a different way and you may choose to rely on none, some, or all three such protections. |
|
Upcoming Training Courses for Fall 2013 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As you plan your Fall work schedule, take note that Barr Group will present three hands-on, week-long training programs to upgrade the skills of embedded software developers:
|
|
Industry News That's Not Boring ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Who Says C is Simple? http://www.cs.berkeley.edu/~necula/cil/cil016.html
Breaking down attacks on automotive firmware. http://www.eetimes.com/document.asp?doc_id=1318919 Chrysler recalls 282,000 minivans "inadvertently programmed" to deploy side airbags opposite impact. http://www.bbc.co.uk/news/business-23175919 We need security engineers more than cryptographers; we're terrible at engineering secure systems on strong crypto. http://www.schneier.com/blog/archives/2013/07/is_cryptography.html FAA-sponsored Study on CRC and Checksum performance. http://checksumcrc.blogspot.com/2013/05/crc-and-checksum-study-results-slides.html Vint Cerf: certification & liability part of future for developers of safety-critical software. http://mags.acm.org/communications/july_2013/m2/Page.action?folio=7&CFID=343344134&CFTOKEN=62073069 Invisible embedded: The cliche "8 bits is dead" is dead. CPU/MCU shipments are exploding. http://bit.ly/17pXp7O A new book on pointers in C to sooth the savage gEEk! http://shop.oreilly.com/category/deals/c-owo.do?code=WKCPRG&imm_mid=0a8c37&cmp=em-prog-books-videos-c-programming-wkcprg-direct "Knock, knock" "Who's there?" "Bug in your state machine" "Who's there?" A comparison between FreeRTOS and RTLinux in embedded real-time systems http://pdf.aminer.org/000/221/068/scheduling_in_critical_real_time_systems_a_minfesto.pdf Programmers VS Hackers. Humor: http://pic.twitter.com/qJqs0Zfh17 |
|
Quick Links ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Contact Information ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
email:
mbarr@barrgroup.com
phone:
866.65.EMBED
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|