新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > LPC1300通過USB在線系統(tǒng)編程ISP

LPC1300通過USB在線系統(tǒng)編程ISP

作者: 時(shí)間:2016-11-27 來源:網(wǎng)絡(luò) 收藏

5、自動(dòng)進(jìn)入U(xiǎn)SBISP

在前面的章節(jié),我們解釋了在USBISP模式下,PC更新設(shè)備固件的過程。當(dāng)固件未編程,或者拉低一個(gè)引腳(在LPC134x系列是PIO0.1腳),設(shè)備復(fù)位/上電,NXPLPC1300微控制器默認(rèn)為ISP模式。有時(shí),ISP模式下更新固件、連接設(shè)備,用戶不想去按一下按鈕。這樣的話,我們可以設(shè)計(jì)出允許ISP模式下編程的固件。

在LPC1300片上ROM中,通過In-ApplicationProgrammingAPI請(qǐng)求,可以實(shí)現(xiàn)ISP模式下編程。固件更新之后,用戶需要重啟設(shè)備以使新的固件生效。下載新固件之后,新固件可以預(yù)設(shè)置看門狗定時(shí)器來重新設(shè)置LPC1300。下面的流程圖顯示了設(shè)備自動(dòng)化ISP過程。名為“autoisp”的軟件實(shí)例演示了這一技術(shù)。

圖5

6軟件例子

為了盡早建立用戶界面友好的固件更新工具,NXP發(fā)布了三個(gè)實(shí)例(一個(gè)ISP下載程序并提供了源代碼)。提供一個(gè)基于C#的應(yīng)用程序窗體,可運(yùn)行于WindowsXP、WindowsVista和Windows7。使用MicrosoftVisualStudioC#Express2010,可以讓W(xué)indows的應(yīng)用得到擴(kuò)展。一個(gè)用C語言編寫的命令行工具可以在Mac上使用。這個(gè)工具在AppleXcode中得到加強(qiáng),可以運(yùn)行在OS-X10.5或更高的版本上。最后,UbuntuLinux也有一個(gè)程序化的腳本,已在Ubuntu10.04通過測(cè)試,并可以運(yùn)行在具有相同udev文件系統(tǒng)和工具的不同版本的Linux上。

所有工具都是開放的、沒有限制,可重復(fù)使用,除了Windows應(yīng)用[取決于iTuner(http://ituner.codeplex.com/)計(jì)劃的USB磁盤設(shè)備等級(jí)]。這是一個(gè)在開源許可下,要求公開源代碼的衍生著作。

應(yīng)用手冊(cè)中還包括一個(gè)實(shí)現(xiàn)代碼讀保護(hù)的blinky的程序。這個(gè)程序用在theLPCXpressoIDE,在theLPCXpresso板上讓LED閃爍,在嵌入式板上讓七段數(shù)碼管顯示屏計(jì)數(shù)。有九種程序編譯版本,所以,設(shè)備可以反復(fù)的編程(使用不同的CRP模式和LED閃爍/計(jì)數(shù)速率)。還有一個(gè)叫“autoisp”的程序。這個(gè)例子演示了如何在程序控制下進(jìn)入ISP模式。在LED閃爍十秒鐘之后,進(jìn)入ISP模式。如果設(shè)備連接到PC上,它將順序輸出,固件開始閃動(dòng)。這期間,LPC1343進(jìn)入ISP模式,看門狗定時(shí)器繼續(xù)工作。時(shí)間到了之后,LPC1343復(fù)位并再次運(yùn)行固件。

最后,還有一個(gè)叫“padto”的小命令行程序。這個(gè)程序用來從開發(fā)工具獲得二進(jìn)制輸出,并填補(bǔ)成0xFF字節(jié),直到與LPC上的flash大小相匹配。這種匹配有助于PC主機(jī)上的ISP下載程序,確保固件適用于連接到USB上的特定的LPC134X。

WindowsNXPISP實(shí)用工具

這程序是基于Microsoft.NET,當(dāng)setup.exe程序運(yùn)行時(shí)啟動(dòng),附帶的VisualStudioInstaller將檢查電腦和下載NET的最新版本(如果還未安裝)。因此,當(dāng)你第一次運(yùn)行setup.exe程序時(shí),請(qǐng)確認(rèn)你已經(jīng)通過寬帶連接到互聯(lián)網(wǎng)上。在Windows.NET子系統(tǒng)更新完之后,NXPISP程序?qū)⒆詣?dòng)安裝并運(yùn)行。NXPISP運(yùn)行時(shí),點(diǎn)擊“SelectFirmware.”一個(gè)文件選擇對(duì)話框?qū)?huì)彈出,讓你選擇一個(gè).bin文件。這個(gè).bin文件將用“CriterionforValidUserCode”核對(duì),即向量表的前8個(gè)32位字總和為0。如果bin文件符合要求,“SelectFirmware”按鈕的那個(gè)綠色的檢查標(biāo)志將顯示正確,否則。顯示一個(gè)紅色的X。

實(shí)際燒寫一個(gè)設(shè)備,單擊“UpdateFirmware.”,“UpdateFirmware.”按鈕工作起來像一個(gè)觸發(fā)器,而且當(dāng)單擊時(shí)能停留在壓低或再一次單擊時(shí)釋放,當(dāng)按鍵被按下,電腦將掃描NXPISP設(shè)備,如果有一個(gè)被發(fā)現(xiàn),它的固件將被更新,而且“UpdateFirmware”按鈕的綠色檢查標(biāo)志顯示正確并且按鈕將釋放,如果沒有設(shè)備被找到,“UpdateFirmware”按鈕將停留在壓低而且工具將等待設(shè)備被連接。設(shè)備被找到和更新后,綠色檢查標(biāo)志將顯示而且“UpdateFirmware”按鈕將彈起,如果實(shí)用工具等待設(shè)備連接(“UpdateFirmware”按鈕仍然壓低)它將通過再一次單擊“UpdateFirmware”按鈕取消而且導(dǎo)致彈起。安全彈出USBISP設(shè)備以確保新固件已經(jīng)寫入(WindowsNXPISP工具不會(huì)卸載設(shè)備)。通過Windows硬件彈出圖標(biāo)和Windows瀏覽器彈出選項(xiàng)來安全彈出設(shè)備。這個(gè)步驟失敗將導(dǎo)致固件惡化。


上一頁 1 2 3 下一頁

評(píng)論


技術(shù)專區(qū)

關(guān)閉