由于LPC1102设备的引脚数目较少,很难预测客户将使用哪些功能。因此,设计人员可以灵活地向其设备添加In-System Programming (ISP)支持的方式。
NXP的其他类似设备,如ARM Cortex-M0和Cortex-M3系列中的许多设备,具有专用的ISP引脚,由引导加载程序进行评估。但是在LPC1102上,设计人员必须根据其应用程序使用的硬件和特性来添加此功能。
GUI工具Flash Magic(http://www.flashmagictool.com/)可用于通过串行通信对LPC1102(以及许多其他NXP设备)进行编程,一旦[重新]调用了ISP。
空白的LPC1102芯片不会有有效的用户代码,因此引导加载程序将自动调用ISP。然而,一旦部件被编程为有效的应用程序,就无法通过硬件自动调用ISP。
还应该提到,某些应用可能需要使用常用于串行线调试(SWD)的引脚来连接其他外设(如SPP/SPI)。当SWD不再可用(尤其是在产品开发期间),重新编程设备可能变得困难,甚至有时是不可能的。通过添加用户控制的ISP调用,这些应用可以在调用ISP时启用SWD引脚,从而允许通过SWD闪存加载器对其进行编程。如果忽略了这一步骤,可能需要重置设备以调用ISP。
如果应用程序使用P0_10或P1_3作为GPIO或外设功能引脚,设计人员应尽早计划向设计中添加用户调用的ISP功能。这样做可以避免LPC1102的闪存无法重新编程的情况。