Course code:
MEDT-1
Years with company:
18
Years programming:
40
Primary programming language:
C
Other programming languages:
C++, Ada 95 (!), Assembly (rare)
Unit test harnesses:
Home-grown
Something else:
I have been developing on embedded systems & protocols nearly my entire career. I really enjoy it.
Test practice now:
I use debug trace statements to follow the execution path and log variables. I use a tool to send messages to exercise the paths/features.
Target system:
ARM M3/M4 MCUs controlling some discretes & peripherals (Bluetooth, USB, I2C, SPI). Soft real-time.
Dev tools:
Keil MDK, Segger System View, VS Code, Coverity static analysis, MS TFS, custom tools.
Build time:
31-60 seconds
Coding standard:
We use an edited version of MISRA C.
Function too long:
When the cyclomatic complexity is over about 50. When I have to scroll the screen more than 3x.
Code reviews:
Independently performed by one or two individuals, usually by diffing.
Code time:
55
Test time:
20
Debug time:
25
Favorite thing about dev:
The creativity, learning something new, the challenge of doing it well. Documenting/specifying it.
Least favorite thing about dev:
Getting into something over my head.
Tdd knowledge:
Just the basics. I used to think it wouldn't work for embedded systems.
Why are you attending:
I think TDD is a good way to combine test with development. I like that it's a process, not a tool.