The thing I enjoy most about my job developing firmware for embedded systems is that it's a lot like being paid to solve puzzles. Many of the projects I work on are just as challenging as the old text based adventure games such as Infocom's Zork series.
The datasheets which contain information about how the chips in embedded hardware are supposed to function can be challenging to decipher. Vendors do their best but it's not unusual for the datasheets to either be incomplete or to contain subtle inaccuracies. A chip I developed a device driver for recently had an accurate datasheet but the device driver gave the wrong results because of an issue with the C compiler for the ARM processor. It turns out gcc for ARM CPUs does not support signed character types by default which this chip required. Fortunately gcc includes a compiler flag "-fsigned-char" which allows this strange behavior to be overridden.
No comments:
Post a Comment