Skip to main content

+1 866 653-6233 LinkedIn Software Expert Witness Directory

About Us Contact Us

Barr Group Software Experts

Barr Group Software Experts

Main navigation

  • Expert Services
    • Consulting Experts in Software and Electronics
    • Expert Reports by Testifying Software Experts
    • Reverse Engineering and Forensic Analysis
    • Software Source Code Review and Analysis
  • Areas of Expertise
    • Left Side
      • Artificial Intelligence
      • Automotive Systems
      • Cloud Computing
      • Computer Security
      • Consumer Electronics
      • Electronic Circuits
      • Enterprise Software
      • Financial Technology
      • Firmware and IoT
    • Right Side
      • Industrial Controls
      • Mechanical Design
      • Medical Devices
      • Military & Aerospace
      • Mobile Devices & Apps
      • Optical Equipment
      • Renewable Energy
      • Signal Processing
      • Telecommunications
  • Matters & Venues
    • Patent Infringement and Invalidity Experts
    • Software Copyright and Trade Secrets Experts
    • Product Liability and Failure Analysis Experts
    • Contract Disputes and Software Project Failures
    • Venues and Clients
  • Directory
  • Case Studies
    • DirecTV Anti-Piracy
    • Samsung Software Copyright
    • Toyota Runaway Cars
  • Resources
    • Expert Witness Blog
    • Source Code Review in Litigation
    • Software Source Code Discovery

Firmware Update v17.08

  1. Home
  2. Firmware Update
  3. Firmware Update v17.08
Posted August 18, 2017

"A man is a success if he gets up in the morning and goes to bed at night and in between does what he wants to do." --Bob Dylan

In this issue:

  • Efficient CRC Calculations in C
  • What Does 0x47u Mean Anyway?
  • Upcoming Embedded Systems Training Courses
  • Free White Space Cleanup Tool: QClean
  • Industry News That's Not Boring

Firmware Update is a free, occasional newsletter by embedded systems expert Michael Barr. Firmware Update is a trademark and this issue is Copyright ©2017 by the author. You may forward whole issues to other embedded systems designers.  All other rights are reserved.


Efficient CRC Calculations in C

Cyclic redundancy codes (CRCs) are among the strongest checksums available: able to detect the vast majority of multi-bit errors in stored or transmitted data. However, the modulo-2 arithmetic used to compute a CRC does not map easily into software. To save you valuable time, I wrote an article about CRC calculation techniques and made a library of C source code public domain.

What Does 0x47u Mean Anyway?

MISRA-C Rule 10.6 requires that the suffix "u" be "applied to all constants of unsigned type." Thus increasing compliance with the MISRA-C guidelines by embedded software developers around the world has increased the probability of running into code that looks like

uint8_t foo = 0x47u;

In a blog post that explains the significance, Nigel Jones also enumerates three ways to fully comply with this required rule.

Upcoming Embedded Systems Training Courses

Better trained embedded software developers produce fewer bugs and complete their projects more quickly. Isn't it time to upgrade your team's skills?

  • Embedded Software Boot Camp® in Maryland, Spain, California, and Germany
  • Best Practices for Designing Safer Systems in California
  • Power Techniques: TDD & Agile in California
  • Embedded Security Boot Camp® in Massachusetts and California
  • Best Practices for Designing More Secure Systems in Germany
  • Embedded Android Boot Camp™ in Michigan

Groups of three or more from one company are eligible for a 20% discount. Private training is usually best for whole teams. A full course catalog is available.

Free White Space Cleanup Tool: QClean

Always the helpful fellow, Miro Samek recently released a handy command-line utility to automate white space cleanup in source code. As a professional software developer you should not ignore whitespace. Rather than leave the compiler to make sense of your code you should include white space rules in your coding standard to make the code more readable and maintainable. The new QClean utility looks like a handy way to automate enforcement of such rules.

Industry News That's Not Boring

Almost all modern automobiles employ CAN networks, which contain an unpatchable security weakness: http://blog.trendmicro.com/trendlabs-security-intelligence/connected-car-hack/

AspenCore's 2017 Embedded Markets Study is out, with interesting data re practices of embedded systems designers. https://lnkd.in/dJGExBg

embedded.fm: "Don't Use Arduino (for Professional Work)" http://embedded.fm/blog/2017/8/12/dont-use-arduino-for-professional-work

The Internet of Things is a weapon that's aimed right back at our open society: https://t.co/0JhS4wS9km

After he challenged the accuracy of red light cameras, this Oregan man was fined for practicing engineering without a license: https://t.co/oArQeOg0GX


Quick Links to Useful Stuff

  • Bug-killing Embedded C Coding Standard
  • Blogs about Embedded Systems Design
  • Embedded Systems Glossary
  • Library of Free How-To Technical Articles

How to Contact the Author

I'm always interested in hearing from embedded systems designers and happy to take a few minutes to help you find the resources to get a design done right. Send me an email anytime. And be sure to also connect with me on Twitter (@embeddedbarr) and LinkedIn (https://linkedin.com/in/embeddedbarr).

  • Back to Main
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Request an Expert

(866) 653-6233

Blog Categories

assembly
C
coding standards
communications
debugging
electronics
Java
real-time
RTOS
safety
security
tools
user interfaces
Barr Group logo
Call us

Expert Services

  • Source Code Review Services
  • Expert Witness Directory
  • Reverse Engineering Services
  • Expert Reports & Testimony
  • How-To Technical Articles
  • Engineering Services

Latest Insights

  • Payment Processing and e-Payments Fraud
  • Albert Einstein Expert Witness
  • Medical Device Litigation and FDA 510(k)
  • Personality Traits of the Best Expert Witnesses

Website contents copyright © 2012-2025 by Barr Group. | Barr Group's logo is a U.S.-registered ® trademark.

SITEMAP  |  PRIVACY