Arm &引用;“自我编程”;vs";“应用程序编程中”;

Arm &引用;“自我编程”;vs";“应用程序编程中”;,arm,embedded,microcontroller,avr,Arm,Embedded,Microcontroller,Avr,我指的是Atmega控制器和LPC2148微控制器。Atmel谈到“自编程”,而NXP谈到“应用程序编程”。这两种技术在概念上是相同的吗?这意味着我们甚至可以远程编程,而无需将程序员或PC与适当的软件连接起来?我认为您所指的与在部件中编程闪存有关,闪存包含部件运行的固件。对该部分进行编程有两大类。一种是当部件中的处理器停止运行时,您可以通过部件外部的软件、主机、设备程序员或部件上的管脚对部件进行编程。第二大类是部件上的软件编程部件上的内存所有部件都在部件内。不是自我修改代码,而是假设有N个程序库

我指的是Atmega控制器和LPC2148微控制器。Atmel谈到“自编程”,而NXP谈到“应用程序编程”。这两种技术在概念上是相同的吗?这意味着我们甚至可以远程编程,而无需将程序员或PC与适当的软件连接起来?

我认为您所指的与在部件中编程闪存有关,闪存包含部件运行的固件。对该部分进行编程有两大类。一种是当部件中的处理器停止运行时,您可以通过部件外部的软件、主机、设备程序员或部件上的管脚对部件进行编程。第二大类是部件上的软件编程部件上的内存所有部件都在部件内。不是自我修改代码,而是假设有N个程序库flash,一个程序库可以运行一个程序(比如引导加载程序),该程序可以对其他程序库进行编程。bootloader一个,另一个用例是部件具有通过以太网检查固件更新的能力

对于外部,芯片供应商设计/定义了用于停止处理器(理想情况下)和编程闪存的接口。对于内部到内部的情况,有一些接口是内部处理器地址空间的一部分,用于执行相同的任务,尽管不一定完全相同。因此,文档需要将这两种主要方法分开,因为它们都有地址和时序图等,这些都是解释如何做到这一点所必需的


每个供应商,无论是it工程部、市场营销部、法律部还是其他部门,出于各种原因,可能会为同一件事提出不同的术语,主要是为了避免您将我们的部分与他们的部分混淆。NXP不希望你在应用程序编程中搜索一些atmel部分,然后切换到atmel

是的。它们都意味着你编写的程序可以更新芯片的程序存储器(闪存)。此功能可用于实现引导加载程序等

在早期,您必须物理上解除程序内存芯片的插口,并使用特殊的编程工具加载代码。然后,我们进行了系统内编程——这意味着你可以将一个特殊工具连接到芯片上的几个引脚上,然后对其进行编程,而无需将其从电路板上移除。之后是应用程序编程,这意味着芯片可以自行编程

你可以看到这有点让人困惑,所以我认为这就是为什么Atmel只是在IAP中使用了更具描述性的术语“自我编程”