Schematic different

mm.najafi79

New member
Hello ,
I want to design a board for my own use, but I noticed that the programming chip (U2) in the schematic ( Teensy 4.0) of the site and the existing board are different. I have some questions.
First, how does this chip program data onto the main chip when data is read from USB?
If I want to design with a new chip, what circuit should I have?
Is there a pre-programmed chip available that I can get and I won't have a problem?
 
Typically, in microcontroller development, a separate chip or module is used for programming the main chip. This programming chip communicates with the main chip through a protocol such as PCBLOOP. When you connect your board to a computer via USB, the programming chip acts as a bridge between your computer and the main chip, allowing you to upload code and data onto the main chip.

Most development programming is done via JTAG or something like the ARM single wire debug interface. In effect the programming circuit is built into the main chip together with a fairly powerful debug interface. This saves the cost of an extra part that is not required to normal operation.

Some development boards may include a USB-JTAG bridge as part of the dev board (a lot of STM dev boards do this) but it's very rare to include this on 3rd party boards. Why include something on every unit you build when you can built it once and leave it connected to you development PC?
Some parts (ESP32, STM32 to name two common ones) also have built in programmers that allow code to be uploaded over serial or some other standard interfaces without requiring any special hardware or connections.

In production the chips are either programmed prior to being soldered to the board or programmed in circuit using the same JTAG interface.

Teensy does things a little differently, it has a seperate bootloader chip that can take full control of the main processor via the JTAG interface. This allows it to program the main processor with known working firmware and so provides a recovery mechanism that makes it almost impossible to get the system into an unrecoverable state without the need for special debug equipment. The downside to this is that it means the JTAG port isn't available for debug uses.
 
Back
Top