資料介紹
玩單片機(jī)的都應(yīng)該聽說過這幾個詞。一直搞不太清楚他們之間的區(qū)別。今天查了資料后總結(jié)整理如下。ISP:In System Programing,在系統(tǒng)編程IAP:In applicaTIng Programing,在應(yīng)用編程ICP:In Circuit Programing,在電路編程ISP是指可以在板級上進(jìn)行編程,也就是不用拆芯片下來,寫的是整個程序,一般是通過ISP接口線來寫。IAP雖然同樣也是在板級上進(jìn)行編程,但是是自已對自已進(jìn)行編程,在應(yīng)用中進(jìn)行編程,也即可以只是更改某一部分而不影響系統(tǒng)的其它部分,另外接口程序是自已寫的,這樣可以進(jìn)行遠(yuǎn)程升級而不影響應(yīng)用。打個比喻吧:1、ISP是把房子拆了再重造一間,那么在造好之前當(dāng)然是不能住人的啦!2、IAP是在造好的房子里邊進(jìn)行一些裝修,當(dāng)然人可以繼續(xù)住啦!ICP是在電路編程,是LPC芯片的編程方式,相當(dāng)于ATMEL的ISP,而LPC的ISP就相當(dāng)于ATMEL的IAP了。ISP與IAP的區(qū)別ISP:in system programming, 在系統(tǒng)編程IAP: in applicaTIn programming 在應(yīng)用編程但兩者的操作方式,結(jié)果和應(yīng)用場合有什么區(qū)別什么是ISP:用寫入器將code燒入,不過,芯片可以在目標(biāo)板上,不用取出來,在設(shè)計目標(biāo)板的時候就將接口設(shè)計在上面,所以叫“在系統(tǒng)編程”,即不用脫離系統(tǒng);什么是IAP:在應(yīng)用編程,有芯片本身(或通過外圍的芯片)可以通過一系列操作將code寫入,比如一款支持Iap的單片機(jī),內(nèi)分3個程序區(qū),1作引導(dǎo)程序區(qū),2作運(yùn)行程序區(qū),3作下載區(qū),芯片通過串口接收到下載命令,進(jìn)入引導(dǎo)區(qū)運(yùn)行引導(dǎo)程序,在引導(dǎo)程序下將new code內(nèi)容下載到下載區(qū),下載完畢并校驗(yàn)通過后再將下載區(qū)內(nèi)容復(fù)制到2區(qū),運(yùn)行復(fù)位程序,則Iap完成;應(yīng)用場合:1,ISP 程序升級需要到現(xiàn)場解決,不過好一點(diǎn)的是不必拆機(jī)器了;2,IAP 如果有網(wǎng)管系統(tǒng)的話,用網(wǎng)管下載一切搞定,人不用跑來跑去,這可能是他們的優(yōu)點(diǎn)或應(yīng)用吧在線編程目前有兩種實(shí)現(xiàn)方法:在系統(tǒng)編程(ISP)和在應(yīng)用編程(IAP)。ISP一般是通過單片機(jī)專用的串行編程接口對單片機(jī)內(nèi)部的Flash存儲器進(jìn)行編程,而IAP技術(shù)是從結(jié)構(gòu)上將Flash存儲器映射為兩個存儲體,當(dāng)運(yùn)行一個存儲體上的用戶程序時,可對另一個存儲體重新編程,之后將控制從一個存儲體轉(zhuǎn)向另一個。ISP的實(shí)現(xiàn)一般需要很少的外部電路輔助實(shí)現(xiàn),而IAP的實(shí)現(xiàn)更加靈活,通常可利用單片機(jī)的串行口接到計算機(jī)的RS232口,通過專門設(shè)計的固件程序來編程內(nèi)部存儲器。 ISP和IAP很相似,都是不需要把芯片從板子上拔出來,就達(dá)到了用PC-MCU的編程接口(JTAG、串口、雙絞線、SPI等)搞定新版本的升級的目的。MCU內(nèi)部都是首先執(zhí)行一段獨(dú)立的Boot代碼(這段Boot代碼一般是出廠預(yù)置,或使用編程器燒錄的,通常只有1k或4k,SST通常是占用一塊獨(dú)立的Block,Philips通常是讓BootROM地址與其他Flash重疊,以達(dá)到隱藏的效果),Boot負(fù)責(zé)控制擦除程序存儲器及給程序存儲器編程的代碼(或是處理器外部提供的執(zhí)行代碼),然后通過某種與PC計算機(jī)的通信方式(如,ether網(wǎng)口),將用戶指定的某個在PC上編譯完成的MCU可運(yùn)行的二進(jìn)制代碼文件編程入MCU內(nèi)的程序存儲器。ISP和IAP最大的不同是:由誰來觸發(fā)。ISP有4種觸發(fā)方式:1.由外部硬件電路:如VDD保持高電平,給RST連續(xù)3個脈沖;2.檢測狀態(tài)位:如ISPEN,為0時PC指針從0000H開始執(zhí)行;為1時,通過“引導(dǎo)向量”計算出“ISP代碼”的位置。每次復(fù)位后都會檢測該狀態(tài)位;3.中止控制符信號觸發(fā)芯片復(fù)位:中止控制符信號就是指在異步串行口的接收腳上出現(xiàn)長 達(dá)一幀長度的低電平,這里一幀的長度與異步串行口的工作模式有關(guān)。4.直接調(diào)用ISP:用戶程序也可以調(diào)用,但是很危險。4種方式的目的是相同的——進(jìn)入ISP子程序,比如Philips出廠的ISP子程序在1E00H-1FFFH,只要能引導(dǎo)PC指針指向1E00H就可以了。而進(jìn)入ISP代碼的目的是:進(jìn)入BootROM。IAP的觸發(fā)比較簡單一些,沒有外部觸發(fā)。通過一些指示位(SST為SC0/SC1、SFCFhilips為一段IAP子程序,保存在FF00H~FFFFH地址空間中),達(dá)到引導(dǎo)到BootROM的目的。殊途同歸,ISP、IAP所進(jìn)入的BootROM里面駐留的Boot代碼,才是最終目標(biāo)。最后一種:并行編程模式。不需要BootROM,直接設(shè)置芯片的多個引腳來讓芯片識別命令(如:擦除、寫入、驗(yàn)證等),從P口傳地址、數(shù)據(jù),就可以寫入Flash用LPC2000的IAP,你自己分配好FLASH空間,指定一個BLOCK用來存放你的數(shù)據(jù),然后通過IAP進(jìn)行寫操作。每次開機(jī)后,從這個BLOCK讀你的數(shù)據(jù)。IAP的實(shí)現(xiàn)通常在用戶需要實(shí)現(xiàn)IAP功能時,即用戶程序運(yùn)行中作自身的更新操作,需要在設(shè)計固件程序時編寫兩個項(xiàng)目代碼,第一個項(xiàng)目程序不執(zhí)行正常的功能操作,而只是通過某種通信管道(如USB、USART)接收程序或數(shù)據(jù),執(zhí)行對第二部分代碼的更新;第二個項(xiàng)目代碼才是真正的功能代碼。這兩部分項(xiàng)目代碼都同時燒錄在User Flash中,當(dāng)芯片上電后,首先是第一個項(xiàng)目代碼開始運(yùn)行,它作如下操作:1)檢查是否需要對第二部分代碼進(jìn)行更新2)如果不需要更新則轉(zhuǎn)到4)3)執(zhí)行更新操作4)跳轉(zhuǎn)到第二部分代碼執(zhí)行第一部分代碼必須通過其它手段,如JTAG或ISP燒入;第二部分代碼可以使用第一部分代碼IAP功能燒入,也可以和第一部分代碼一道燒入,以后需要程序更新是再通過第一部分IAP代碼更新。對于STM32來說,因?yàn)樗闹袛嘞蛄勘砦挥诔绦虼鎯ζ鞯淖畹偷刂穮^(qū),為了使第一部分代碼能夠正確地響應(yīng)中斷,通常會安排第一部分代碼處于Flash的開始區(qū)域,而第二部分代碼緊隨其后。在第二部分代碼開始執(zhí)行時,首先需要把CPU的中斷向量表映像到自己的向量表,然后再執(zhí)行其他的操作。如果IAP程序被破壞,產(chǎn)品必須返廠才能重新燒寫程序,這是很麻煩并且非常耗費(fèi)時間和金錢的。針對這樣的需求,STM32在對Flash區(qū)域?qū)嵭凶x保護(hù)的同時,自動地對用戶Flash區(qū)的開始4頁設(shè)置為寫保護(hù),這樣可以有效地保證IAP程序(第一部分代碼)區(qū)域不會被意外地破壞。ISP(In-System Programming)在系統(tǒng)可編程,指電路板上的空白器件可以編程寫入最終用戶代碼,而不需要從電路板上取下器件,已經(jīng)編程的器件也可以用ISP方式擦除或再編程。IAP(In-ApplicaTIon Programming)指MCU可以在系統(tǒng)中獲取新代碼并對自己重新編程,即可用程序來改變程序。ISP和IAP技術(shù)是未來儀器儀表的發(fā)展方向。1 ISP和IAP的工作原理ISP的實(shí)現(xiàn)相對要簡單一些,一般通用做法是內(nèi)部的存儲器可以由上位機(jī)的軟件通過串口來進(jìn)行改寫。對于單片機(jī)來講可以通過SPI或其它的串行接口接收上位機(jī)傳來的數(shù)據(jù)并寫入存儲器中。所以即使我們將芯片焊接在電路板上,只要留出和上位機(jī)接口的這個串口,就可以實(shí)現(xiàn)芯片內(nèi)部存儲器的改寫,而無須再取下芯片。IAP的實(shí)現(xiàn)相對要復(fù)雜一些,在實(shí)現(xiàn)IAP功能時,單片機(jī)內(nèi)部一定要有兩塊存儲區(qū),一般一塊被稱為BOOT區(qū),另外一塊被稱為存儲區(qū)。單片機(jī)上電運(yùn)行在BOOT區(qū),如果有外部改寫程序的條件滿足,則對存儲區(qū)的程序進(jìn)行改寫操作。如果外部改寫程序的條件不滿足,程序指針跳到存儲區(qū),開始執(zhí)行放在存儲區(qū)的程序,這樣便實(shí)現(xiàn)了IAP功能。2 ISP和IAP在單片機(jī)中的應(yīng)用2.1 傳統(tǒng)編程方法的不足在一般的單片機(jī)的實(shí)驗(yàn)或開發(fā)時,編程器是必不可少的裝置。仿真、調(diào)試完的程序需要借助編程器燒到單片機(jī)內(nèi)部或外接的程序存儲器中。普通的編程器價格從幾百元到幾千元不等,對于一般的單片機(jī)用戶來說還是一筆不小的開支。另外,在開發(fā)過程中,程序每改動一次就要拔下電路板上的芯片編程后再插上,這樣不但麻煩也很容易對芯片和電路板造成損傷,另外在程序需要升級做改動時,必須將設(shè)備返廠或是技術(shù)人員到現(xiàn)場操作,既不方便也造成成本浪費(fèi)。2.2 ISP和IAP的優(yōu)點(diǎn)ISP技術(shù)的優(yōu)勢是不需要編程器就可以進(jìn)行單片機(jī)的實(shí)驗(yàn)和開發(fā),單片機(jī)芯片可以直接焊接到電路板上,調(diào)試結(jié)束即成成品,免去了調(diào)試時由于頻繁地插入取出芯片對芯片和電路板帶來的不便。IAP技術(shù)是從結(jié)構(gòu)上將Flash存儲器映射為兩個存儲體,當(dāng)運(yùn)行一個存儲體上的用戶程序時,可對另一個存儲體重新編程,之后將程序從一個存儲體轉(zhuǎn)向另一個。ISP的實(shí)現(xiàn)一般需要很少的外部電路輔助實(shí)現(xiàn),而IAP的實(shí)現(xiàn)更加靈活,通常可利用單片機(jī)的串行口接到計算機(jī)的RS232口,通過專門設(shè)計的固件程序來編程內(nèi)部存儲器,可以通過現(xiàn)有的INTERNET或其它通訊方式很方便地實(shí)現(xiàn)遠(yuǎn)程升級和維護(hù)。2.3 產(chǎn)品分析目前市場上不少的單片機(jī)具有ISP和IAP功能。ST公司的μPSD32&TImes;×系列單片機(jī)片內(nèi)帶128KB/256KB的FLASH存儲器及32KB Boot ROM,通過JTAG串行口能很容易地實(shí)現(xiàn)ISP功能。IAP功能則可由用戶在應(yīng)用中實(shí)現(xiàn)。ATMEL公司的單片機(jī)AT89S8252,提供了一個SPI串行接口對內(nèi)部程序存儲器編程(ISP)。SST公司的單片機(jī)SST89C54,其最大的特點(diǎn)內(nèi)部有兩塊獨(dú)立的FLASH存儲器,具有IAP(應(yīng)用中在線編程)功能,對于8052系列的其它公司的單片機(jī)(ATMEL、 WINBOND、ISSI)可以直接代換,軟硬件無須做任何改動。PHILIPS公司的P89C51RX2xx系列是帶ISP/IAP的8位Flash單片機(jī)。PHILIPS公司為了使ISP技術(shù)和IAP技術(shù)得以推廣,在芯片上免費(fèi)提供了Boot ROM固件,并且巧妙地解決了固件和FLASH的地址覆蓋問題及一些具體實(shí)現(xiàn)細(xì)節(jié)問題,使它們的實(shí)現(xiàn)變得簡單。此外在外圍器件中ST公司的PSD系列產(chǎn)品片內(nèi)帶大容量存儲器,支持ISP及IAP功能。ISP,In System Programing主要是指代芯片的燒寫方式,以往寫片子需要把片子拿下來,離開電路,用編程器燒,換句話說,芯片不能不脫離應(yīng)用系統(tǒng)進(jìn)行寫入。ISP 主要針對這個問題,使用JTAG或者串行口(MCU 內(nèi)部有Boot Loader ,通過指定的方式激活之,它可以和PC或其它上位機(jī)通過串口聯(lián)系,不用使單片機(jī)離開應(yīng)用系統(tǒng)而更新內(nèi)部的程序/設(shè)置)進(jìn)行程序的燒寫操作。因此,具有ISP 功能的MCU 可以不使用編程器進(jìn)行編程。當(dāng)然,實(shí)現(xiàn)ISP 可能需要一些硬件電路支持,具體的在數(shù)據(jù)手冊中有說明。IAP,In Application Programing單片機(jī)內(nèi)部具有一些可擦寫的非易失存儲器,如Flash。在單片機(jī)獨(dú)立運(yùn)行時,不具備IAP 功能的單片機(jī)并不能對Flash的數(shù)據(jù)進(jìn)行修改,比如,對自身的某一個模塊的代碼,數(shù)據(jù)進(jìn)行修改。具備了IAP 功能的MCU ,能夠通過使用各自公司開發(fā)的技術(shù),對于自身進(jìn)行修改。簡言之:ISP=》修改MCU 內(nèi)部數(shù)據(jù)需要有外部介入;IAP=》修改MCU 內(nèi)部數(shù)據(jù)可以不用外部介入。二者可以說是數(shù)據(jù)更新的一種實(shí)現(xiàn)機(jī)制。一般具備ISP 功能后,就不要編程器了,而是使用下載線進(jìn)行編程工作。但是不是說他們就一定不支持編程器了,具體型號具體分析。是否需要仿真器進(jìn)行仿真和是否具備ISP和IAP沒有必然的聯(lián)系。只不過具備了IAP功能,可以在MCU內(nèi)寫入監(jiān)控程序,模擬一個仿真器,當(dāng)然,這個監(jiān)控程序是要消耗資源的,和使用硬件的仿真器還有一定的差異。IAP的應(yīng)用,在51上可能比較多,就是SST出的那個SoftICE功能。他的MCU 其實(shí)不具備ISP功能,需要使用編程器燒一個Boot Loader進(jìn)去,然后,利用IAP功能,就可以通過串行口下載數(shù)據(jù)了。SST的那個,使用的是自己開發(fā)的一個SoftICE軟件,和Keil C的Mon51接口。看DataSheet上說,先要用編程器燒Boot Loader進(jìn)去,然后,用串口燒SoftICE進(jìn)去,然后就可以用了。(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 單片機(jī)三種燒錄方式ICP、IAP和ISP詳解
- 終于明白了:STM32三種啟動方式
- 單片機(jī)三種燒錄方式ISP、IAP和ICP有什么不同?
- 單片機(jī)三種燒錄方式ISP、IAP和ICP有什么不同?
- 單片機(jī)的燒錄方式:ISP、ICP、IAP的區(qū)別
- 淺析ICP與ISP、及IAP三種單片機(jī)燒錄方式
- 單片機(jī)三種燒錄方式ICP、IAP和ISP詳解
- 單片機(jī)程序燒錄的3種方式(ISP、ICP、IAP)是什么?
- 單片機(jī)ISP燒錄原理
- 單片機(jī)常用的三種程序燒寫方式資料下載
- STC-ISP單片機(jī)下載編程燒錄軟件的安裝和使用教程免費(fèi)下載 31次下載
- PZ-ISP單片機(jī)燒錄軟件V1.74應(yīng)用程序免費(fèi)下載 54次下載
- 單片機(jī)ISP和IAP和ICP幾種燒錄方式的區(qū)別 2次下載
- STC單片機(jī)程序燒錄與ISP下載相關(guān)知識 0次下載
- PZ-ISP單片機(jī)燒錄器下載 25次下載
- 51單片機(jī)燒錄軟件怎么用 1397次閱讀
- 什么ISP?什么是IAP? 4577次閱讀
- 單片機(jī)通過USB升級固件的方法 2100次閱讀
- STM32單片機(jī)實(shí)現(xiàn)固件在線升級(IAP) 5552次閱讀
- 如何自制一個AVR單片機(jī)ISP下載線 4227次閱讀
- 如何對STC單片機(jī)進(jìn)行免掉電下載 2236次閱讀
- 單片機(jī)下載程序的三種方式介紹 2.3w次閱讀
- stc與at單片機(jī)的區(qū)別 3.4w次閱讀
- 單片機(jī)程序的幾種常用下載方式介紹 2.1w次閱讀
- 8051單片機(jī)數(shù)據(jù)傳送的方式有哪些 3103次閱讀
- STC單片機(jī)利用IAP技術(shù)實(shí)現(xiàn)EEPROM的設(shè)計 3428次閱讀
- STC單片機(jī)利用IAP技術(shù)實(shí)現(xiàn)EEPROM設(shè)計 2104次閱讀
- 單片機(jī)三種燒錄方式ISP、IAP和ICP的區(qū)別詳解 6.6w次閱讀
- 基于8051單片機(jī)的外部設(shè)備交換信息的三種數(shù)據(jù)傳輸方式解析 1w次閱讀
- STC單片機(jī)程序燒錄與ISP下載相關(guān)知識 1w次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多