It can be tough to start working with embedded systems. Most software engineers need a crash course in electrical engineering, and most electrical engineers need a crash course in good software design. Working closely with a member of the opposite discipline will make getting into embedded systems much easier. Some of my best friends are electrical engineers.
If you’ve never been through a development cycle that includes hardware, it can be a bit daunting to try to intuit your roles and responsibilities. I’ll start out with an overview of a how a project usually flows. Then I’ll give you some more detailed advice on the skills you need to hold up your end of the team, including:
Reading a datasheet
Getting to know a new processor
Unraveling a schematic
Having a debugging toolbox
Testing the hardware (and software)
The product starts out as an idea or a need to be filled. Someone makes a high-level product design based on features, cost, and time to market. At this point, a schedule is usually created to show the major milestones and activities (see Figure 3-1).
The hardware team goes through datasheets and reference designs to choose components, ideally consulting the embedded software team. Often development kits are purchased for the riskiest parts of the ...