由于LPC1102設(shè)備的引腳數(shù)目較少,很難預(yù)測(cè)客戶將使用哪些功能。因此,設(shè)計(jì)人員可以靈活地向其設(shè)備添加In-System Programming (ISP)支持的方式。
NXP的其他類(lèi)似設(shè)備,如ARM Cortex-M0和Cortex-M3系列中的許多設(shè)備,具有專(zhuān)用的ISP引腳,由引導(dǎo)加載程序進(jìn)行評(píng)估。但是在LPC1102上,設(shè)計(jì)人員必須根據(jù)其應(yīng)用程序使用的硬件和特性來(lái)添加此功能。
GUI工具Flash Magic(http://www.flashmagictool.com/)可用于通過(guò)串行通信對(duì)LPC1102(以及許多其他NXP設(shè)備)進(jìn)行編程,一旦[重新]調(diào)用了ISP。
空白的LPC1102芯片不會(huì)有有效的用戶代碼,因此引導(dǎo)加載程序?qū)⒆詣?dòng)調(diào)用ISP。然而,一旦部件被編程為有效的應(yīng)用程序,就無(wú)法通過(guò)硬件自動(dòng)調(diào)用ISP。
還應(yīng)該提到,某些應(yīng)用可能需要使用常用于串行線調(diào)試(SWD)的引腳來(lái)連接其他外設(shè)(如SPP/SPI)。當(dāng)SWD不再可用(尤其是在產(chǎn)品開(kāi)發(fā)期間),重新編程設(shè)備可能變得困難,甚至有時(shí)是不可能的。通過(guò)添加用戶控制的ISP調(diào)用,這些應(yīng)用可以在調(diào)用ISP時(shí)啟用SWD引腳,從而允許通過(guò)SWD閃存加載器對(duì)其進(jìn)行編程。如果忽略了這一步驟,可能需要重置設(shè)備以調(diào)用ISP。
如果應(yīng)用程序使用P0_10或P1_3作為GPIO或外設(shè)功能引腳,設(shè)計(jì)人員應(yīng)盡早計(jì)劃向設(shè)計(jì)中添加用戶調(diào)用的ISP功能。這樣做可以避免LPC1102的閃存無(wú)法重新編程的情況。