owen1018的個(gè)人空間 http://selenalain.com/space-uid-97119.html [收藏] [復制] [RSS]

博客

[轉]ISP與IAP區別

已有 746 次閱讀2015-1-9 21:51

ISP(In-System Programming)在系統可編程,指電路板上的空白器件可以編程寫(xiě)入最終用戶(hù)代碼, 而不需要從電路板上取下器件,已經(jīng)編程的器件也可以用ISP方式擦除或再編程。IAP(In-Application Programming) 指MCU可以在系統中獲取新代碼并對自己重新編程,即可用程序來(lái)改變程序。ISP和IAP技術(shù)是未來(lái)儀器儀表的發(fā)展方向。

   1   ISP和IAP的工作原理

   ISP的實(shí)現相對要簡(jiǎn)單一些,一般通用做法是內部的存儲器可以由上位機的軟件通過(guò)串口來(lái)進(jìn)行改寫(xiě)。對于單片機來(lái)講可以通過(guò)SPI或其它的串行接口接收上位機傳來(lái)的數據并寫(xiě)入存儲器中。所以即使我們將芯片焊接在電路板上,只要留出和上位機接口的這個(gè)串口,就可以實(shí)現芯片內部存儲器的改寫(xiě),而無(wú)須再取下芯片。

   IAP的實(shí)現相對要復雜一些,在實(shí)現IAP功能時(shí), 單片機內部一定要有兩塊存儲區,一般一塊被稱(chēng)為BOOT區,另外一塊被稱(chēng)為存儲區。單片機上電運行在BOOT區,如果有外部改寫(xiě)程序的條件滿(mǎn)足,則對存儲區的程序進(jìn)行改寫(xiě)操作。如果外部改寫(xiě)程序的條件不滿(mǎn)足,程序指針跳到存儲區,開(kāi)始執行放在存儲區的程序,這樣便實(shí)現了IAP功能。

   2   ISP和IAP在單片機中的應用

   2.1 傳統編程方法的不足

   在一般的單片機的實(shí)驗或開(kāi)發(fā)時(shí),編程器是必不可少的裝置。仿真、調試完的程序需要借助編程器燒到單片機內部或外接的程序存儲器中。普通的編程器價(jià)格從幾百元到幾千元不等,對于一般的單片機用戶(hù)來(lái)說(shuō)還是一筆不小的開(kāi)支。另外,在開(kāi)發(fā)過(guò)程中,程序每改動(dòng)一次就要拔下電路板上的芯片編程后再插上,這樣不但麻煩也很容易對芯片和電路板造成損傷,另外在程序需要升級做改動(dòng)時(shí),必須將設備返廠(chǎng)或是技術(shù)人員到現場(chǎng)操作,既不方便也造成成本浪費。

   2.2 ISP和IAP的優(yōu)點(diǎn)

   ISP技術(shù)的優(yōu)勢是不需要編程器就可以進(jìn)行單片機的實(shí)驗和開(kāi)發(fā),單片機芯片可以直接焊接到電路板上,調試結束即成成品,免去了調試時(shí)由于頻繁地插入取出芯片對芯片和電路板帶來(lái)的不便。

   IAP技術(shù)是從結構上將Flash存儲器映射為兩個(gè)存儲體,當運行一個(gè)存儲體上的用戶(hù)程序時(shí),可對另一個(gè)存儲體重新編程,之后將程序從一個(gè)存儲體轉向另一個(gè)。

   ISP的實(shí)現一般需要很少的外部電路輔助實(shí)現, 而IAP的實(shí)現更加靈活,通?衫脝纹瑱C的串行口接到計算機的RS232口,通過(guò)專(zhuān)門(mén)設計的固件程序來(lái)編程內部存儲器,可以通過(guò)現有的INTERNET或其它通訊方式很方便地實(shí)現遠程升級和維護。

   2.3 產(chǎn)品分析

   目前市場(chǎng)上不少的單片機具有ISP和IAP功能。

   ST公司的μPSD32××系列單片機片內帶128KB/256KB的FLASH存儲器及32KB Boot ROM,通過(guò)JTAG串行口能很容易地實(shí)現ISP功能。IAP功能則可由用戶(hù)在應用中實(shí)現。

   ATMEL公司的單片機AT89S8252,提供了一個(gè)SPI串行接口對內部程序存儲器編程(ISP)。SST公司的單片機SST89C54,其最大的特點(diǎn)內部有兩塊獨立的FLASH存儲器,具有IAP(應用中在線(xiàn)編程)功能,對于8052系列的其它公司的單片機(ATMEL、 WINBOND、ISSI)可以直接代換,軟硬件無(wú)須做任何改動(dòng)。

   PHILIPS公司的P89C51RX2xx系列是帶ISP/IAP的8位Flash單片機。PHILIPS公司為了使ISP技術(shù)和IAP技術(shù)得以推廣,在芯片上免費提供了Boot ROM固件,并且巧妙地解決了固件和FLASH的地址覆蓋問(wèn)題及一些具體實(shí)現細節問(wèn)題,使它們的實(shí)現變得簡(jiǎn)單。

   此外在外圍器件中ST公司的PSD系列產(chǎn)品片內帶大容量存儲器,支持ISP及IAP功能。

ISP,In System Programing主要是指代芯片的燒寫(xiě)方式,以往寫(xiě)片子需要把片子拿下來(lái),離開(kāi)電路,用編程器燒,換句話(huà)說(shuō),芯片不能不脫離應用系統進(jìn)行寫(xiě)入。ISP 主要針對這個(gè)問(wèn)題,使用JTAG或者串行口(MCU 內部有Boot Loader ,通過(guò)指定的方式激活之,它可以和PC或其它上位機通過(guò)串口聯(lián)系,不用使單片機離開(kāi)應用系統而更新內部的程序/設置)進(jìn)行程序的燒寫(xiě)操作。因此,具有ISP 功能的MCU 可以不使用編程器進(jìn)行編程。當然,實(shí)現ISP 可能需要一些硬件電路支持,具體的在數據手冊中有說(shuō)明。

IAP,In Application Programing單片機內部具有一些可擦寫(xiě)的非易失存儲器,如Flash。在單片機獨立運行時(shí),不具備IAP 功能的單片機并不能對Flash的數據進(jìn)行修改,比如,對自身的某一個(gè)模塊的代碼,數據進(jìn)行修改。具備了IAP 功能的MCU ,能夠通過(guò)使用各自公司開(kāi)發(fā)的技術(shù),對于自身進(jìn)行修改。

簡(jiǎn)言之:ISP=>修改MCU 內部數據需要有外部介入;

              IAP=>修改MCU 內部數據可以不用外部介入。

二者可以說(shuō)是數據更新的一種實(shí)現機制。

一般具備ISP 功能后,就不要編程器了,而是使用下載線(xiàn)進(jìn)行編程工作。但是不是說(shuō)他們就一定不支持編程器了,具體型號具體分析。是否需要仿真器進(jìn)行仿真和是否具備ISP和IAP沒(méi)有必然的聯(lián)系。只不過(guò)具備了IAP功能,可以在MCU內寫(xiě)入監控程序,模擬一個(gè)仿真器,當然,這個(gè)監控程序是要消耗資源的,和使用硬件的仿真器還有一定的差異。

IAP的應用,在51上可能比較多,就是SST出的那個(gè)SoftICE功能。他的MCU 其實(shí)不具備ISP功能,需要使用編程器燒一個(gè)Boot Loader進(jìn)去,然后,利用IAP功能,就可以通過(guò)串行口下載數據了。SST的那個(gè),使用的是自己開(kāi)發(fā)的一個(gè)SoftICE軟件,和Keil C的Mon51接口。看DataSheet上說(shuō),先要用編程器燒Boot Loader進(jìn)去,然后,用串口燒SoftICE進(jìn)去,然后就可以用了。

ISP:in system programming,

IAP: in applicatin programming

但兩者的操作方式,結果和應用場(chǎng)合有什么區別?

ISP:

用寫(xiě)入器將code燒入,不過(guò),芯片可以在目標板上,不用取出來(lái),在設計目標板的時(shí)候就將接口設計在上面,所以叫"在系統編程",即不用脫離系統;

IAP:

在應用編程,有芯片本身(或通過(guò)外圍的芯片)可以通過(guò)一系列操作將code寫(xiě)入,比如一款支持Iap的單片機,內分3個(gè)程序區,1作引導程序區,2作運行程序區,3作下載區,芯片通過(guò)串口接收到下載命令,進(jìn)入引導區運行引導程序,在引導程序下將new code內容下載到下載區,下載完畢并校驗通過(guò)后再將下載區內容復制到2區,運行復位程序,則Iap完成;

應用場(chǎng)合:

1,ISP 程序升級需要到現場(chǎng)解決,不過(guò)好一點(diǎn)的是不必拆機器了;

2,IAP 如果有網(wǎng)管系統的話(huà),用網(wǎng)管下載一切搞定,人不用跑來(lái)跑去,

這可能是他們的優(yōu)點(diǎn)或應用吧

典型IAP:IC卡電話(huà)機

內含V.xx MODEM芯片,MCU自帶引導區,可遠程下載更新程序。

========================================================

在線(xiàn)編程目前有兩種實(shí)現方法:在系統編程(ISP)和在應用編程(IAP)。ISP一般是通過(guò)單片機專(zhuān)用的串行編程接口對單片機內部的Flash存儲器進(jìn)行編程,而IAP技術(shù)是從結構上將Flash存儲器映射為兩個(gè)存儲體,當運行一個(gè)存儲體上的用戶(hù)程序時(shí),可對另一個(gè)存儲體重新編程,之后將控制從一個(gè)存儲體轉向另一個(gè)。ISP的實(shí)現一般需要很少的外部電路輔助實(shí)現,而IAP的實(shí)現更加靈活,通?衫脝纹瑱C的串行口接到計算機的RS232口,通過(guò)專(zhuān)門(mén)設計的固件程序來(lái)編程內部存儲器。

總結,簡(jiǎn)單滴說(shuō),就是ISP是在設計板子的時(shí)候留了個(gè)下載程序的口出來(lái),可以通過(guò)這個(gè)口和PC上的燒寫(xiě)軟件通信,然后直接把程序下載到電路板的MCU上。(MCU的整個(gè)程序系統被更改了喔)而,IAP則需要MCU里面有兩部分程序,一部分事固件程序簡(jiǎn)稱(chēng)boot,另一部分叫做flash(存用戶(hù)代碼的喔),單片機上電首先運行boot再執行flash(所以說(shuō)嘛,這個(gè)要求就高了哦,要求 MCU里面有固件,才可以進(jìn)行程序更新重新燒寫(xiě)flash,刷機啊~~。。

評論 (0 個(gè)評論)

facelist

您需要登錄后才可以評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
返回頂部
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页