In past experience, the jtag/debugger has been done completely in hardware or handled offchip. When I learned that the HiFive1 RevB has a bootloader that is necessary for using jlink, I became confused. I tried looking into it, but I’m still confused. Isn’t the point of an embedded debugger, or a jtag/debugger at all, is so you can debug the board and program it without any overhead? If it requires a bootloader to use, why even use jlink at all? Why not just use some bootloader like arduino does and remove the chip?
Note: I’m not trying to ask this like “uhh this was a stupid decision, whyd u do it fam”. I might even be wrong about the bootloader part being required for jlink. I’m just looking into writing a bootloader myself and am wondering why I need to keep the default bootloader around, or if I even do.