(Source: CrazyCloud- stock.adobe.com)
It is said that a person who only has a hammer everything looks like a nail. Having the right tool for the right job is crucial for effectiveness and efficiency in any skilled profession. Embedded system development is no different. That said, until fairly recently, tools aimed at embedded development have lacked the refinement and modern feature sets found in the development tools aimed at desktop, web, and mobile developers. In addition, programming microcontrollers and FPGAs have historically required rather expensive hardware programmers/debuggers and proprietary software licenses. The recent push towards more open source ecosystems (e.g., RISC-V microprocessor, Arduino IDE, etc.) has had an arguably net positive effect on the robustness and user-friendliness of many embedded development tools. Here is a look at software developments that have and are continuing to make significant changes to the workflow of embedded system developers:
float calculateVolume
Copilot will finish the function declaration as follows:
float calculateVolume(float radius) {
return (4.0/3.0) * PI * radius * radius * radius;
}
Copilot is essentially an AI colleague who can help develop code by providing at least a starting point for function definitions. However, like any automation tool, it does not replace a need for a human to review and, if necessary, correct code generated by Copilot.
Michael Parks, P.E. is the co-founder of Green Shoe Garage, a custom electronics design studio and embedded security research firm located in Western Maryland. He produces the Gears of Resistance Podcast to help raise public awareness of technical and scientific matters. Michael is also a licensed Professional Engineer in the state of Maryland and holds a Master’s degree in systems engineering from Johns Hopkins University.