新聞中心

ARM入門筆記

作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏
ISP實(shí)驗(yàn)

一.背景

由于前面的實(shí)驗(yàn)都是用仿真器將代碼下載到AT91SAM7S64的SRAM里調(diào)試的,還不能在實(shí)際的Flash ROM里跑。所以在這個(gè)實(shí)驗(yàn)中,我們將通過(guò)ATMEL提供的SAM-BA 軟件和AT91SAM7S64自帶的ROMBoot功能,完成AT91SAM7S64的Flash ROOM的在線燒寫。

二.實(shí)驗(yàn)?zāi)康?br />
用前面“I/O口輸入實(shí)驗(yàn)”的源程序生成二進(jìn)制文件,下載到AT91SAM7S64的Flash ROM中,且能脫機(jī)正確運(yùn)行。

三.操作方法

1> 安裝。雙擊Install SAM-BA.exe文件運(yùn)行,按提示一步步安裝即可。
2> 連接好硬件,且使AT91SAM7S64處于RomBoot狀態(tài)。
3> 運(yùn)行。雙擊SAM-BA圖標(biāo)出現(xiàn)如下圖所示的啟動(dòng)窗口:


圖4.21 SAM啟動(dòng)窗口

當(dāng)正確設(shè)置后,按“DBGU connection”按鈕將打開SAM-BA編程環(huán)境,如下圖所示:


圖4.22SAM-BA1.0編程環(huán)境

4> 用ADS1.2生成二進(jìn)制文件。

5> 編程。點(diǎn)擊“Flash->Download/Upload File->Send File Name”項(xiàng)的“Browse”按鈕打開二進(jìn)制文件后,點(diǎn)擊“Send File”按鈕開始下載程序。

6> 復(fù)位目標(biāo)板,開始運(yùn)行用戶程序。

四.出現(xiàn)的問(wèn)題與解決方法

1> ADS軟件編譯后不能產(chǎn)生二進(jìn)制等目標(biāo)文件

第一、 可以用DOS命令手工生成二進(jìn)制文件。

第二、 在“DebugRel Settings”中,將“Target->Target Settingsr->Post-linker”項(xiàng)的“None”修改成“ARMfromELF”,再在“DebugRel Settings”中的“Linker->ARM fromELF->Output format”中設(shè)置成Plain binary。

2> 不能進(jìn)入SAM-BA軟件,總出現(xiàn)下述提示錯(cuò)誤信息,但硬件連接都正確。


圖. 錯(cuò)誤信息1


圖. 錯(cuò)誤信息2

原因是將用戶程序下載到AT91SAM7Sxx芯片后,同時(shí)會(huì)擦除掉內(nèi)部的BootRom程序,此時(shí)就不能再實(shí)現(xiàn)在線下載的功能!因此起動(dòng)SAM-BA軟件會(huì)彈出上述的出錯(cuò)信息,必須重新恢復(fù)內(nèi)部的BootRom引導(dǎo)程序。可將AT91SAM7S64的TST管腳接高電平10S多時(shí)間,再重新復(fù)位。此時(shí)每次復(fù)位后都將在DBGU口發(fā)送“RoomBoot”的ASCII字符,可用超級(jí)終端查看。

3> 不能進(jìn)行RomBoot恢復(fù),且不能與仿真器進(jìn)行連接。

原因是器件的安全保密位被編程,可以將AT91SAM7S64的ERASE腳接高,將flash內(nèi)容初始化(或者說(shuō)是擦除),再進(jìn)行RomBoot恢復(fù)。

五.總結(jié)

到目前為此,基本上完成了AT91SAM7S64的大部分外圍實(shí)驗(yàn),并且也能夠?qū)⒊绦驘紸T91SAM7S64的內(nèi)部Flash ROM里,而脫離仿真器進(jìn)行運(yùn)行。我個(gè)人認(rèn)為其它沒(méi)有完成的實(shí)驗(yàn)在原理與使用上基本相同,應(yīng)該沒(méi)有什么難點(diǎn)。

可以說(shuō)現(xiàn)在已經(jīng)基本上能夠?qū)T91SAM7S64像普通單片機(jī)一樣使用了,但作為ARM這種高性能的處理器來(lái)講,這是遠(yuǎn)遠(yuǎn)不夠的,我希望自己有時(shí)間能夠?qū)?mu;COS-Ⅱ移植上去,屆時(shí)再與大家討論。


關(guān)鍵詞: ARM入門筆

評(píng)論


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

關(guān)閉