三~四年前，當開發恩智浦的 LPC11xx (ARM Cortex-M0) 韌體時，設計者必須在名為 LPCXpresso 的套裝軟體下執行，它提供各系列晶片的周邊驅動程式與原始碼，方便使用者 compile & link。如果要除錯程式的話，這套軟體必須再搭配使用名為 LPC-Link 的除錯器，我們用它來除錯也可燒錄代碼。幾年前，LPC 並不支援在 KEIL C 的環境開發 (當時很多 ARM 晶片都用 KEIL 環境開發)，所以只能安裝 LPCXpresso，後來 LPC 已經成功整合到 IAR / KEIL 等環境了。有關的開發軟體與除錯器可以連結到 LPCware 的網站上。
最近我的 LPC-Link 好像壽終正寢，USB 完全偵測不到它。原本想再買一個 LPC-Link，不過因工作需要我也常常使用 ULINK2 在開發與除錯意法半導體 STM32 晶片 (ARM Cortex-M3)，於是想要將 LPC 開發環境移植到 KEIL C上面，這樣就只要維護一套開發軟體和一個除錯器，也能開發設計 STM32 和 LPC11x 韌體了。圖一就是移植到 KEIL 所需的重要檔案，原本的驅動程式原始碼移過來，並替換掉下列的檔案，基本上就大功告成了。
除錯的方面，因為不用 LPC-Link 後，首先要將 ULINK2 除錯器接到晶片接腳上。我的 ULINK2 一端連著一條 20-pin JTAG 排線，而真正使用到 debug 的腳只有五根，分別是 Vcc, GND, NReset, SwClk, SwDio。因此，只要將上述的五根接腳接到 LPC111x 晶片對應的 pin 腳，大致上就完成了。
即使 LPC11xx 是低階的 ARM Cortex-M0 晶片，如果沒有整合 RTOS 的話，基本上使用起來也沒甚麼問題 (main 函式裡用一個無窮迴圈處理所有的事情)。不過，如果想要讓系統開發更具效率，更容易維護整體程式碼的話，整合一套 OS 是不錯的方法。這裡介紹 FreeRTOS 這套作業系統，從它的官方網站來看，它已經成功地將 RTOS 整合到多家 MCU 晶片製造商。之前，我經常使用的意法半導體 STM32 晶片也早就使用 FreeRTOS v6.1 當作作業系統了，所以我也有意把 LPC11xx 與 RTOS 整合起來，讓整個系統開發具有效率，運行也會有效率。圖二所示是整合 FreeRTOS 的相關檔案。
省電是 ARM-based 讓市場受歡迎的原因之一，恩智浦的 LPC11xx 提供四種功耗模式：全速 (active)、小憩 (sleep)、休眠 (deep sleep)、關機 (deep power down)。
全速模式 - 晶片的 ARM 核心和晶片的周邊都提供系統時脈，所以是耗電最多的模式，但也是系統能全速運算的模式。
小憩模式 - 仍舊供電給晶片的周邊並且提供系統時脈，但是 ARM 核心進入小憩模式，暫時不執行運算指令，直到有中斷產生喚醒 ARM 核心。這個模式與全速的功耗不會相差太多，因為只有節省到晶片核心的耗電量而已。一般來說，只要呼叫 __WFI(）函式就會自動進入小憩模式了。
休眠模式 - 這個模式除了停止供電給核心之外，連晶片周邊的模組也暫停供電了，所以這個模式省電的效果比起前一個模式會更加顯著。注意：當進入休眠模式後，晶片內的暫存器、記憶體和周邊的狀態還是能保留在休眠的前一刻，只要被喚醒後，晶片就能從休眠的點繼續原本的程式。喚醒休眠的方式主要透過 12 根腳位 (PIO 0_0 ~ 0_11 和 PIO 1_0) 的變化來喚醒系統，我們可以配置暫存器決定哪個腳位或哪些腳位的變化來喚醒。
關機模式 - 這個模式把晶片核心和周邊的電源都關閉了，連內部暫存器、記憶體的資料都不再保留，所以這模式最為省電。雖然所有記憶體的資料都可能不見了，但唯一有五個 32-bit 暫存器能保存關機時的資料。因此，在進入關機模式前，我們必須將想要保存的資料先放到這五個暫存器裡面，等到開機喚醒之後，再從這五個暫存器將資料取回。喚醒關機模式的方式必須透過 WAKEUP 接腳的變化 (由高電位轉成低電位時) 來喚醒整顆晶片。