久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

ISP和IAP區(qū)別

 我是山芋 2011-07-18

ISP和IAP區(qū)別

2011-02-19 17:30:13|  分類: 基本概念理解 |  標(biāo)簽:isp  iap  編程  單片機(jī)  代碼   |字號(hào) 訂閱

 

ISP與IAP的區(qū)別

ISP :in system programming,,      在系統(tǒng)編程

IAP : in applicatin programming    在應(yīng)用編程

但兩者的操作方式,結(jié)果和應(yīng)用場(chǎng)合有什么區(qū)別

什么是ISP :

用寫入器將code燒入,,不過,,芯片可以在目標(biāo)板上,不用取出來,,在設(shè)計(jì)目標(biāo)板的時(shí)候就將接口設(shè)計(jì)在上面,,所以叫"在系統(tǒng)編程",即不用脫離系統(tǒng),;

什么是IAP :

在應(yīng)用編程,,有芯片本身(或通過外圍的芯片)可以通過一系列操作將code寫入,比如一款支持Iap的單片機(jī),,內(nèi)分3個(gè)程序區(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)用場(chǎng)合 :

1,ISP 程序升級(jí)需要到現(xiàn)場(chǎng)解決,,不過好一點(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ī)專用的串行編程接口對(duì)單片機(jī)內(nèi)部的Flash存儲(chǔ)器進(jìn)行編程,,而IAP技術(shù)是從結(jié)構(gòu)上將Flash存儲(chǔ)器映射為兩個(gè)存儲(chǔ)體,當(dāng)運(yùn)行一個(gè)存儲(chǔ)體上的用戶程序時(shí),,可對(duì)另一個(gè)存儲(chǔ)體重新編程,,之后將控制從一個(gè)存儲(chǔ)體轉(zhuǎn)向另一個(gè)。ISP的實(shí)現(xiàn)一般需要很少的外部電路輔助實(shí)現(xiàn),,而IAP的實(shí)現(xiàn)更加靈活,,通常可利用單片機(jī)的串行口接到計(jì)算機(jī)的RS232口,,通過專門設(shè)計(jì)的固件程序來編程內(nèi)部存儲(chǔ)器,。 ISP和IAP很相似,都是不需要把芯片從板子上拔出來,,就達(dá)到了用PC-MCU的編程接口(JTAG,、串口、雙絞線,、SPI等)搞定新版本的升級(jí)的目的,。MCU內(nèi)部都是首先執(zhí)行一段獨(dú)立的Boot代碼(這段Boot代碼一般是出廠預(yù)置,或使用編程器燒錄的,,通常只有1k或4k,,SST通常是占用一塊獨(dú)立的Block,Philips通常是讓BootROM地址與其他Flash重疊,,以達(dá)到隱藏的效果),,Boot負(fù)責(zé)控制擦除程序存儲(chǔ)器及給程序存儲(chǔ)器編程的代碼(或是處理器外部提供的執(zhí)行代碼),然后通過某種與PC計(jì)算機(jī)的通信方式(如,,ether網(wǎng)口),,將用戶指定的某個(gè)在PC上編譯完成的MCU可運(yùn)行的二進(jìn)制代碼文件編程入MCU內(nèi)的程序存儲(chǔ)器。

ISP和IAP最大的不同是:由誰(shuí)來觸發(fā),。

ISP有4種觸發(fā)方式:

1.  由外部硬件電路:如VDD保持高電平,,給RST連續(xù)3個(gè)脈沖;

2.  檢測(cè)狀態(tài)位:如ISPEN,,為0時(shí)PC指針從0000H開始執(zhí)行,;為1時(shí),,通過“引導(dǎo)向量”計(jì)算出“ISP代碼”的位置。每次復(fù)位后都會(huì)檢測(cè)該狀態(tài)位,;

3.  中止控制符信號(hào)觸發(fā)芯片復(fù)位:中止控制符信號(hào)就是指在異步串行口的接收腳上出現(xiàn)長(zhǎng)    達(dá)一幀長(zhǎng)度的低電平,,這里一幀的長(zhǎng)度與異步串行口的工作模式有關(guān)。

4.  直接調(diào)用ISP:用戶程序也可以調(diào)用,,但是很危險(xiǎn),。

4種方式的目的是相同的——進(jìn)入ISP子程序,比如Philips出廠的ISP子程序在1E00H-1FFFH,,只要能引導(dǎo)PC指針指向1E00H就可以了,。

而進(jìn)入ISP代碼的目的是:進(jìn)入BootROM。

IAP的觸發(fā)比較簡(jiǎn)單一些,,沒有外部觸發(fā),。通過一些指示位(SST為SC0/SC1、SFCF[1,,0],;Philips為一段IAP子程序,保存在FF00H~FFFFH地址空間中),,達(dá)到引導(dǎo)到BootROM的目的,。

殊途同歸,ISP,、IAP所進(jìn)入的BootROM里面駐留的Boot代碼,,才是最終目標(biāo)。

 

最后一種:并行編程模式,。不需要BootROM,,直接設(shè)置芯片的多個(gè)引腳來讓芯片識(shí)別命令(如:擦除、寫入,、驗(yàn)證等),,從P口傳地址、數(shù)據(jù),,就可以寫入Flash,。

用LPC2000的IAP,你自己分配好FLASH空間,,指定一個(gè)BLOCK用來存放你的數(shù)據(jù),,然后通過IAP進(jìn)行寫操作。每次開機(jī)后,,從這個(gè)BLOCK讀你的數(shù)據(jù),。

IAP的實(shí)現(xiàn)

通常在用戶需要實(shí)現(xiàn)IAP功能時(shí),,即用戶程序運(yùn)行中作自身的更新操作,,需要在設(shè)計(jì)固件程序時(shí)編寫兩個(gè)項(xiàng)目代碼,第一個(gè)項(xiàng)目程序不執(zhí)行正常的功能操作,而只是通過某種通信管道(如USB,、USART)接收程序或數(shù)據(jù),,執(zhí)行對(duì)第二部分代碼的更新;第二個(gè)項(xiàng)目代碼才是真正的功能代碼,。這兩部分項(xiàng)目代碼都同時(shí)燒錄在User Flash中,,當(dāng)芯片上電后,首先是第一個(gè)項(xiàng)目代碼開始運(yùn)行,,它作如下操作:

1)檢查是否需要對(duì)第二部分代碼進(jìn)行更新

2)如果不需要更新則轉(zhuǎn)到4)

3)執(zhí)行更新操作

4)跳轉(zhuǎn)到第二部分代碼執(zhí)行

     第一部分代碼必須通過其它手段,,如JTAG或ISP燒入;第二部分代碼可以使用第一部分代碼IAP功能燒入,,也可以和第一部分代碼一道燒入,,以后需要程序更新是再通過第一部分IAP代碼更新。

對(duì)于STM32來說,,因?yàn)樗闹袛嘞蛄勘砦挥诔绦虼鎯?chǔ)器的最低地址區(qū),,為了使第一部分代碼能夠正確地響應(yīng)中斷,通常會(huì)安排第一部分代碼處于Flash的開始區(qū)域,,而第二部分代碼緊隨其后,。

在第二部分代碼開始執(zhí)行時(shí),首先需要把CPU的中斷向量表映像到自己的向量表,,然后再執(zhí)行其他的操作,。

如果IAP程序被破壞,產(chǎn)品必須返廠才能重新燒寫程序,,這是很麻煩并且非常耗費(fèi)時(shí)間和金錢的,。針對(duì)這樣的需求,STM32在對(duì)Flash區(qū)域?qū)嵭凶x保護(hù)的同時(shí),,自動(dòng)地對(duì)用戶Flash區(qū)的開始4頁(yè)設(shè)置為寫保護(hù),,這樣可以有效地保證IAP程序(第一部分代碼)區(qū)域不會(huì)被意外地破壞。*********************************************************************************************************************************************************************************


 

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

   1   ISP和IAP的工作原理

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

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

   2   ISP和IAP在單片機(jī)中的應(yīng)用

   2.1 傳統(tǒng)編程方法的不足

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

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

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

 IAP技術(shù)是從結(jié)構(gòu)上將Flash存儲(chǔ)器映射為兩個(gè)存儲(chǔ)體,,當(dāng)運(yùn)行一個(gè)存儲(chǔ)體上的用戶程序時(shí),,可對(duì)另一個(gè)存儲(chǔ)體重新編程,之后將程序從一個(gè)存儲(chǔ)體轉(zhuǎn)向另一個(gè),。

 ISP的實(shí)現(xiàn)一般需要很少的外部電路輔助實(shí)現(xiàn),,而IAP的實(shí)現(xiàn)更加靈活,通??衫脝纹瑱C(jī)的串行口接到計(jì)算機(jī)的RS232口,,通過專門設(shè)計(jì)的固件程序來編程內(nèi)部存儲(chǔ)器,,可以通過現(xiàn)有的INTERNET或其它通訊方式很方便地實(shí)現(xiàn)遠(yuǎn)程升級(jí)和維護(hù)。

 

2.3 產(chǎn)品分析

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

  ST公司的μPSD32××系列單片機(jī)片內(nèi)帶128KB/256KB的FLASH存儲(chǔ)器及32KB Boot ROM,通過JTAG串行口能很容易地實(shí)現(xiàn)ISP功能,。IAP功能則可由用戶在應(yīng)用中實(shí)現(xiàn),。

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

 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)變得簡(jiǎn)單,。

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

 ISP,,In System Programing

主要是指代芯片的燒寫方式,,以往寫片子需要把片子拿下來,離開電路,,用編程器燒,,換句話說,芯片不能不脫離應(yīng)用系統(tǒng)進(jìn)行寫入,。

ISP 主要針對(duì)這個(gè)問題,,使用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ù)手冊(cè)中有說明,。

IAP,,In Application Programing

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

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

              IAP=>修改MCU 內(nèi)部數(shù)據(jù)可以不用外部介入,。

二者可以說是數(shù)據(jù)更新的一種實(shí)現(xiàn)機(jī)制。一般具備ISP 功能后,,就不要編程器了,,而是使用下載線進(jìn)行編程工作。但是不是說他們就一定不支持編程器了,,具體型號(hào)具體分析,。是否需要仿真器進(jìn)行仿真和是否具備ISP和IAP沒有必然的聯(lián)系。

只不過具備了IAP功能,,可以在MCU內(nèi)寫入監(jiān)控程序,,模擬一個(gè)仿真器,當(dāng)然,,這個(gè)監(jiān)控程序是要消耗資源的,,和使用硬件的仿真器還有一定的差異。

IAP的應(yīng)用,,在51上可能比較多,,就是SST出的那個(gè)SoftICE功能。他的MCU 其實(shí)不具備ISP功能,,需要使用編程器燒一個(gè)Boot Loader進(jìn)去,,然后,利用IAP功能,,就可以通過串行口下載數(shù)據(jù)了,。

SST的那個(gè),使用的是自己開發(fā)的一個(gè)SoftICE軟件,,和Keil C的Mon51接口,。看DataSheet上說,先要用編程器燒Boot Loader進(jìn)去,,然后,,用串口燒SoftICE進(jìn)去,然后就可以用了,。

ISP:in system programming,,

IAP :in applicatin programming

但兩者的操作方式,結(jié)果和應(yīng)用場(chǎng)合有什么區(qū)別

ISP :用寫入器將code燒入,,不過,,芯片可以在目標(biāo)板上,不用取出來,,在設(shè)計(jì)目標(biāo)板的時(shí)候就將接口設(shè)計(jì)在上面,,所以叫"在系統(tǒng)編程",,即不用脫離系統(tǒng),;

IAP :在應(yīng)用編程,有芯片本身(或通過外圍的芯片)可以通過一系列操作將code寫入,,比如一款支持Iap的單片機(jī),,內(nèi)分3個(gè)程序區(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)用場(chǎng)合 :

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

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

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

典型IAP:IC卡電話機(jī)內(nèi)含V.xx MODEM芯片,,MCU自帶引導(dǎo)區(qū),可遠(yuǎn)程下載更新程序,。===============================================================================================================

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

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多