5. First Steps on Hardware

This section gives a brief walk-through on setting up a debugger connection to a BMS-Master Board. Aim of this section is to check that all crucial parts of the toolchain work and to recap the process of setting up the toolchain.


In order to be able to develop software for the BMS and deploy it to the embedded target, it is absolutely necessary to have these three components in place:

  • the embedded device itself,

  • a power supply,

  • a debugger.

5.1. Setup

It is assumed, that all required software has been installed. Details on the software installation can be found in Software Installation. Most notable parts of the toolchain are:

  • the conda environment,

  • the compiler toolchain,

  • and a debugger.

5.2. Compilation

Details on this step are described in Building the Application. The following steps should pass and result in the application being built.

C:\Users\vulpes\Documents\foxbms-2>waf configure build_bin

If any error messages occur, they have to be investigated before continuing.

5.3. Hardware setup

For this first setup, it is enough to connect a power supply and a debug connection to the BMS-Master Board. Optionally, a CAN-interface can be connected to the CAN1 connector. Details on the position and type of connectors can be found in Connectors.

5.4. Debug session

Details on setting up the debugger toolchain can be found in Debugging the Application.

The following steps go through the most important parts of the workflow. If they work as expected, it can be assumed that the debugger toolchain is functional.

  • Connect the debugger to the target.

  • Supply power to the target.

  • Attach the debugger in the debug tool to the target and download the built binary to the target.

  • Start the target.

After these steps, it should be possible to halt and re-start the target. The variable os_timer should show incremented values when halting the target. Central data structures such as bms_state, sys_state, cont_contactorStates and ltc_cellVoltage (for AFEs of the LTC family).