CH1 1 V/div20 ns/divf 12.0 MHztrig ↑ 1.65 VSWDJTAG5VTP1TP2SCLSDAGNDSWDJTAG- - -V3V312MPC --------SP --------R0 --------CPU runningPC 0x000001A4SP 0x20001FF0R0 0x00000000CPU haltedPC 0x000001A6SP 0x20001FF0R0 0x00000000CPU haltedMCUTMPboard 2: no reading1 power 3.29 V ok2 clock 12.0 MHz ok3 code PC moves ok4 bus 0x48 NACK !> scan: SDA pin openLOGICSTART0x48 W ACK0x00 ACKRESTART0x48 R ACK0x19 ACK0x00 NACKSTOPTDITDO01010101
Lit wire with moving dashes: current is flowing on itTools: multimeter, oscilloscope, debugger and logic analyser, each with its leadsCards: the registers, the decoded bus bytes and the fault logGlowing tokens: bits travelling along a wire or a leadBring-up of a new board goes power, then clocks, then code: a multimeter checks the 3.3 V rail, an oscilloscope checks the 12 MHz clock, and a debugger loads the program and halts the CPU to read its registers. A logic analyser records the I2C bus and decodes its bytes; boundary scan tests every signal pin through a JTAG chain (TDI in, TDO out), which SWD cannot do. Period and frequency are inverses: T = 1 / f. At 12 MHz one cycle lasts 83.3 ns, which is 4.17 divisions at 20 ns per division. The TMP102 sensor's 12-bit reading is the first byte followed by the top four bits of the second, at 0.0625 °C per step: 0x19 0x00 is 0x190 = 400 steps = 25.0 °C.

Power first

  1. Bring-up means switching on a brand-new board for the first time. Go in order: power, then clocks, then code. Power first, because nothing works on a bad supply. Here a regulator turns 5 V into the 3.3 V the chips need.

Then clocks

Then code

Buses and faults

What the tool shows

;; step 1/10 · power-first
;; about: 3.3 V regulator
Bring-up order

1 power   rails at the right voltage?
2 clocks  is the oscillator running?
3 code    can the debugger talk to the CPU?

Before power-on, a resistance check
between 3V3 and GND catches a short.

Power, then clocks, then code: each stage needs the one before it. A CPU with a bad supply or no clock cannot run code, and a debugger cannot talk to it. The LM1117-3.3 regulator's datasheet allows 3.235 V to 3.365 V on its output from 0 °C to 125 °C at loads up to 800 mA (3.267 V to 3.333 V at 25 °C).