JTAG可以控制芯片每个引脚的状态,因此你通过JTAG可以操作这些引脚来模拟flash写入时序,这样就把程序写进开发板上的flash中了。就是这么操作的速度很慢
更进一步地,很多芯片也支持通过JTAG来访问一些调试寄存器,用来读取处理器内的寄存器,设置硬件断点什么的,这样配合软件也能实现调试的功能
下载程序不一定要用到JTAG,但是仿真么有他就有点困难了 。比如你用LM3SMCU。(仿真器用的是LMlink),你下载程序,完成后拔掉仿真器,程序依然再跑。但是你仿真时拔掉试试。所以仿真器的作用主要是仿真。
芯片内部SROM中在芯片出厂时被烧尽boot代码,固化的只能读,就是这段代码将烧写的程序通过调用flash编程,写进闪存里面