Skip to content
Avecas

FIRMWARE DEVELOPMENT

Firmware development

Implement dependable device behaviour from startup through normal operation, updates and fault recovery.

Discuss your requirements
Laptop with source code open in a development environment

Illustrative engineering photography.

THE ENGINEERING SCOPE

Built around
your requirements.

Explore the approach ↓
01

Technical starting point

Processor documentation, memory map, board revision, peripheral interfaces and boot requirements.

02

Acceptance evidence

Watchdog behaviour, timing limits, resource use, reset causes and interrupted updates.

03

Delivery package

Firmware source, reproducible builds, configuration notes, tests and release artifacts.

CLIENT GUIDE

Scope firmware development with the right evidence.

Use these technical checkpoints to make the first project review productive.

Provide before the review

  • Processor documentation
  • Memory map
  • Board revision
  • Peripheral interfaces and boot requirements

Review during execution

  • Watchdog behaviour
  • Timing limits
  • Resource use
  • Reset causes and interrupted updates

Agree for delivery

  • Firmware source
  • Reproducible builds
  • Configuration notes
  • Tests and release artifacts

HOW WE WORK

Clarity at each stage.

01

Bring up clocks and memory

The initial review establishes the baseline using processor documentation, memory map, board revision, peripheral interfaces and boot requirements. Record gaps and dependencies before implementation.

02

Implement peripheral services

Carry out the agreed work against the reviewed baseline. For firmware development, keep the interfaces and configuration used by this stage visible to the receiving team.

03

Integrate application state machines

Retain the intermediate artifacts and review watchdog behaviour, timing limits, resource use, reset causes and interrupted updates. Investigate failures before using these results as an input to the next stage.

04

Test update and recovery paths

Package firmware source, reproducible builds, configuration notes, tests and release artifacts. Review unresolved findings against the agreed acceptance criteria and assign ownership for follow-up.

PROJECT DECISIONS

Know what moves the work forward.

Use these gates to agree readiness, review evidence and responsibility at each stage.

  1. 01

    Baseline ready

    Are the starting inputs complete enough to proceed?

    Review method and evidence

    Processor documentation, memory map, board revision, peripheral interfaces and boot requirements.

    Review evidence

    Record input revisions, missing material and who can resolve each dependency.

  2. 02

    Implementation reviewed

    Has the work addressed the agreed technical objective?

    Review method and evidence

    Implement dependable device behaviour from startup through normal operation, updates and fault recovery.

    Review evidence

    Keep the intermediate artifacts with review comments and the decisions that changed the design.

  3. 03

    Evidence checked

    Can the result be reproduced and interpreted?

    Review method and evidence

    Watchdog behaviour, timing limits, resource use, reset causes and interrupted updates.

    Review evidence

    Capture the configuration, expected result, observed result and unresolved findings.

  4. 04

    Handoff accepted

    Can the receiving team use the delivery package?

    Review method and evidence

    Firmware source, reproducible builds, configuration notes, tests and release artifacts.

    Review evidence

    Review build or execution instructions, known limitations and ownership of follow-up actions.

INPUTS & OUTPUTS

What the work involves.

The final statement of work defines the scope and acceptance criteria.

Client inputs
Processor documentation, memory map, board revision, peripheral interfaces and boot requirements.
Engineering sequence
Bring up clocks and memory; implement peripheral services; integrate application state machines; test update and recovery paths.
Outputs to agree
Firmware source, reproducible builds, configuration notes, tests and release artifacts.

TECHNICAL DECISIONS

Planning firmware development.

Read the technical guide

The engineering objective

Implement dependable device behaviour from startup through normal operation, updates and fault recovery.

The work starts from processor documentation, memory map, board revision, peripheral interfaces and boot requirements. The team should identify the authoritative revision of each input and record any assumptions needed to proceed. This prevents a later result from being interpreted against a different specification or configuration.

What needs technical attention

Interrupt context and shared state need deliberate ownership; recovery paths should be tested on the target hardware.

The review centres on watchdog behaviour, timing limits, resource use, reset causes and interrupted updates. Each finding should identify the input revision, observed behaviour and supporting evidence. Distinguish a confirmed defect from a configuration issue, an unsupported case or an open engineering question before deciding how to resolve it.

How the work is reviewed

The practical sequence is: bring up clocks and memory; implement peripheral services; integrate application state machines; test update and recovery paths. Intermediate reviews allow the client to resolve decisions while changes are still manageable. If an input changes, identify the affected activities and repeat the checks that depend on it.

The expected package comprises firmware source, reproducible builds, configuration notes, tests and release artifacts. Acceptance criteria should specify what the receiving team needs to reproduce, inspect or integrate these artifacts. Include known limitations and outstanding actions in that package, rather than assuming that delivery of a file implies acceptance.

Design for transitions, concurrency and recovery

Embedded behaviour is shaped by the target hardware as well as application code. Keep the processor, board revision, memory map, boot flow and peripheral configuration visible in the project baseline. Define ownership of buffers and shared state across tasks, interrupts and DMA. Specify whether an API can block, which context may call it and how errors are reported to its caller.

Testing should follow the device lifecycle: startup, configuration, normal work, overload, low-power transitions, update and recovery. Host-side tests are valuable for deterministic logic, while target tests are needed for hardware timing and peripheral behaviour. Record which environment produced each result. A passing simulated test should not be presented as a measurement from the physical board.

Observe resource use under realistic contention, including stack and heap peaks, interrupt latency, queue growth and deadline misses. Inject failures where the product must recover: a disconnected peripheral, failed initialisation, timeout or interrupted update. Release notes should state the compatible hardware and configuration, how the image was built and how a previous known-good state can be restored when the product’s update design supports it.

An illustrative review scenario

A peripheral times out while an application task is being stopped. Check that callbacks cannot access released memory, locks are released and a later restart can initialise the device cleanly. Keep a repeatable fault-injection test alongside the normal transfer test. The exact sequence depends on the target platform and is agreed during implementation.

BEFORE WE BEGIN

Project questions.

A clear conversation is the start of a strong engineering relationship.

What inputs are needed for firmware development?

The starting review needs processor documentation, memory map, board revision, peripheral interfaces and boot requirements. Share the current revision and known limitations so the scope reflects the actual design state.

What does the firmware development handoff include?

The statement of work can define firmware source, reproducible builds, configuration notes, tests and release artifacts. The final package should include review results and any open actions.

Which technical risks need particular attention?

Interrupt context and shared state need deliberate ownership; recovery paths should be tested on the target hardware.

Can we start with a focused technical review?

The first work package can be a review of the available inputs and the engineering questions that must be resolved. Agree its boundaries, access requirements and expected findings before committing to a larger implementation. A review should leave an actionable list of decisions, dependencies and next steps.

How are changes and unresolved findings handled?

Tie each finding to the relevant revision and supporting evidence. A change should identify the affected interfaces, activities and checks. Confirm its effect on scope and delivery with the responsible owner. At handoff, distinguish closed findings, accepted limitations and open work so that a file transfer is not mistaken for technical acceptance.

PUT THE WORKFLOW IN CONTEXT

Explore the engineering decisions.

Practical reading to help prepare your project discussion. Studies are illustrative; they do not report client results.

Designing a firmware update that can recover from interruption ↗

YOUR NEXT CHAPTER STARTS HERE

What will you
build next?

Bring us your engineering challenge.
Let’s define the path from idea to implementation.

Start a conversation