A lot of companies give merit raises as a matter of course, but in these troubled times we can expect some rethinking of this policy. If your job as firmware engineer is implementing products, then presumably a merit raise is earned by being able to build systems faster, more accurately, and more economically. This isn't a rhetorical question to be casually and quickly answered in the affirmative. Wrestle with the perhaps uncomfortable truth. If you decide you've done everything correctly and need no changes, you probably haven't been honest with yourself.
Managers curse engineering activities because they are so hard to measure.
There's always a thousand unforeseen problems, some technical, some specification related, and others due to events far beyond the control of the engineering group. It's hard to compare this year's project with last year's, since no two are of equal complexity. It might seem impossible to assess engineering productivity, but there is one sure fire way to improve. With or without object oriented techniques, build libraries, document them, and re-use them constantly. You can be very sure your boss is grading you, comparing you to associates and others in related fields.