据我了解,对于普通的单片机(如AVR、PIC),一般有两种对其闪存进行编程的方法。
- 使用程序员:在线串行编程(或一些变体?)
- 某种形式的引导加载程序,外部设备与之通信,最终允许微控制器闪存自己的存储器。
当然,使用引导加载程序必须有一个很好的理由,否则它目前的广泛使用会很奇怪。我只是似乎还没有完全掌握它。
程序员很贵吗?但是,有Arduinos(ATmega 微控制器)可以用作程序员。一个额外 IC 的成本是否足以保证使用引导加载程序?如果我没记错的话,最新的 Arduinos 完全摆脱了 FTDI 芯片,取而代之的是一个 ATmega 处理器,该处理器执行 USB 到串行接口。例如,肯定可以将编程器的功能集成到这个IC上吗?
或者以 PIC 微控制器为例。我见过一种叫做JDM 程序员的东西。如果像这样的东西,几乎没有活动组件,可以对 PIC 进行编程,那么,
- 为什么要使用引导加载程序?
- 相对复杂得多的PICkit的目的是什么(除了稳健性)?调试能力?