資料介紹
但兩者的操作方式,結果和應用場合有什么區別
什么是ISP:
用寫入器將code燒入,不過,芯片可以在目標板上,不用取出來,在設計目標板的時候就將接口設計在上面,所以叫“在系統編程”,即不用脫離系統; 什么是IAP:
在應用編程,有芯片本身(或通過外圍的芯片)可以通過一系列操作將code寫入,比如一款支持Iap的單片機,內分3個程序區,1作引導程序區,2作運行程序區,3作下載區,芯片通過串口接收到下載命令,進入引導區運行引導程序,在引導程序下將new code內容下載到下載區,下載完畢并校驗通過后再將下載區內容復制到2區,運行復位程序,則Iap完成;
應用場合: 1,ISP 程序升級需要到現場解決,不過好一點的是不必拆機器了; 2,IAP 如果有網管系統的話,用網管下載一切搞定,人不用跑來跑去, 這可能是他們的優點或應用吧 在線編程目前有兩種實現方法:在系統編程(ISP)和在應用編程(IAP)。ISP一般是通過單片機專用的串行編程接口對單片機內部的Flash存儲器進行編程,而IAP技術是從結構上將Flash存儲器映射為兩個存儲體,當運行一個存儲體上的用戶程序時,可對另一個存儲體重新編程,之后將控制從一個存儲體轉向另一個。ISP的實現一般需要很少的外部電路輔助實現,而IAP的實現更加靈活,通常可利用單片機的串行口接到計算機的RS232口,通過專門設計的固件程序來編程內部存儲器。 ISP和IAP很相似,都是不需要把芯片從板子上拔出來,就達到了用PC-MCU的編程接口(JTAG、串口、雙絞線、SPI等)搞定新版本的升級的目的。MCU內部都是首先執行一段獨立的Boot代碼(這段Boot代碼一般是出廠預置,或使用編程器燒錄的,通常只有1k或4k,SST通常是占用一塊獨立的Block,Philips通常是讓BootROM地址與其他Flash重疊,以達到隱藏的效果),Boot負責控制擦除程序存儲器及給程序存儲器編程的代碼(或是處理器外部提供的執行代碼),然后通過某種與PC計算機的通信方式(如,ether網口),將用戶指定的某個在PC上編譯完成的MCU可運行的二進制代碼文件編程入MCU內的程序存儲器。ISP和IAP最大的不同是:由誰來觸發。ISP有4種觸發方式:1.由外部硬件電路:如VDD保持高電平,給RST連續3個脈沖;2.檢測狀態位:如ISPEN,為0時PC指針從0000H開始執行;為1時,通過“引導向量”計算出“ISP代碼”的位置。每次復位后都會檢測該狀態位;3.中止控制符信號觸發芯片復位:中止控制符信號就是指在異步串行口的接收腳上出現長達一幀長度的低電平,這里一幀的長度與異步串行口的工作模式有關。4.直接調用ISP:用戶程序也可以調用,但是很危險。
4種方式的目的是相同的——進入ISP子程序,比如Philips出廠的ISP子程序在1E00H-1FFFH,只要能引導PC指針指向1E00H就可以了。
而進入ISP代碼的目的是:進入BootROM。
IAP的觸發比較簡單一些,沒有外部觸發。通過一些指示位(SST為SC0/SC1、SFCF[1,0];Philips為一段IAP子程序,保存在FF00H~FFFFH地址空間中),達到引導到BootROM的目的。
殊途同歸,ISP、IAP所進入的BootROM里面駐留的Boot代碼,才是最終目標。
最后一種:并行編程模式。不需要BootROM,直接設置芯片的多個引腳來讓芯片識別命令(如:擦除、寫入、驗證等),從P口傳地址、數據,就可以寫入Flash
用LPC2000的IAP,你自己分配好FLASH空間,指定一個BLOCK用來存放你的數據,然后通過IAP進行寫操作。每次開機后,從這個BLOCK讀你的數據。 IAP的實現
通常在用戶需要實現IAP功能時,即用戶程序運行中作自身的更新操作,需要在設計固件程序時編寫兩個項目代碼,第一個項目程序不執行正常的功能操作,而只是通過某種通信管道(如USB、USART)接收程序或數據,執行對第二部分代碼的更新;第二個項目代碼才是真正的功能代碼。這兩部分項目代碼都同時燒錄在User Flash中,當芯片上電后,首先是第一個項目代碼開始運行,它作如下操作: 1)檢查是否需要對第二部分代碼進行更新 2)如果不需要更新則轉到4) 3)執行更新操作
4)跳轉到第二部分代碼執行
第一部分代碼必須通過其它手段,如JTAG或ISP燒入;第二部分代碼可以使用第一部分代碼IAP功能燒入,也可以和第一部分代碼一道燒入,以后需要程序更新是再通過第一部分IAP代碼更新。
對于STM32來說,因為它的中斷向量表位于程序存儲器的最低地址區,為了使第一部分代碼能夠正確地響應中斷,通常會安排第一部分代碼處于Flash的開始區域,而第二部分代碼緊隨其后。
在第二部分代碼開始執行時,首先需要把CPU的中斷向量表映像到自己的向量表,然后再執行其他的操作。
如果IAP程序被破壞,產品必須返廠才能重新燒寫程序,這是很麻煩并且非常耗費時間和金錢的。針對這樣的需求,STM32在對Flash區域實行讀保護的同時,自動地對用戶Flash區的開始4頁設置為寫保護,這樣可以有效地保證IAP程序(第一部分代碼)區域不會被意外地破壞。
ISP(In-System Programming)在系統可編程,指電路板上的空白器件可以編程寫入最終用戶代碼,而不需要從電路板上取下器件,已經編程的器件也可以用ISP方式擦除或再編程。IAP(In-Application Programming)指MCU可以在系統中獲取新代碼并對自己重新編程,即可用程序來改變程序。ISP和IAP技術是未來儀器儀表的發展方向。 1 ISP和IAP的工作原理
ISP的實現相對要簡單一些,一般通用做法是內部的存儲器可以由上位機的軟件通過串口來進行改寫。對于單片機來講可以通過SPI或其它的串行接口接收上位機傳來的數據并寫入存儲器中。所以即使我們將芯片焊接在電路板上,只要留出和上位機接口的這個串口,就可以實現芯片內部存儲器的改寫,而無須再取下芯片。
IAP的實現相對要復雜一些,在實現IAP功能時,單片機內部一定要有兩塊存儲區,一般一塊被稱為BOOT區,另外一塊被稱為存儲區。單片機上電運行在BOOT區,如果有外部改寫程序的條件滿足,則對存儲區的程序進行改寫操作。如果外部改寫程序的條件不滿足,程序指針跳到存儲區,開始執行放在存儲區的程序,這樣便實現了IAP功能。 2 ISP和IAP在單片機中的應用 2.1 傳統編程方法的不足
在一般的單片機的實驗或開發時,編程器是必不可少的裝置。仿真、調試完的程序需要借助編程器燒到單片機內部或外接的程序存儲器中。普通的編程器價格從幾百元到幾千元不等,對于一般的單片機用戶來說還是一筆不小的開支。另外,在開發過程中,程序每改動一次就要拔下電路板上的芯片編程后再插上,這樣不但麻煩也很容易對芯片和電路板造成損傷,另外在程序需要升級做改動時,必須將設備返廠或是技術人員到現場操作,既不方便也造成成本浪費。 2.2 ISP和IAP的優點
ISP技術的優勢是不需要編程器就可以進行單片機的實驗和開發,單片機芯片可以直接焊接到電路板上,調試結束即成成品,免去了調試時由于頻繁地插入取出芯片對芯片和電路板帶來的不便。
IAP技術是從結構上將Flash存儲器映射為兩個存儲體,當運行一個存儲體上的用戶程序時,可對另一個存儲體重新編程,之后將程序從一個存儲體轉向另一個。
ISP的實現一般需要很少的外部電路輔助實現,而IAP的實現更加靈活,通常可利用單片機的串行口接到計算機的RS232口,通過專門設計的固件程序來編程內部存儲器,可以通過現有的INTERNET或其它通訊方式很方便地實現遠程升級和維護。
- 單片機三種燒錄方式ICP、IAP和ISP詳解
- 單片機三種燒錄方式ISP、IAP和ICP有什么不同?
- 單片機三種燒錄方式ISP、IAP和ICP有什么不同?
- STC單片機在線ISP IAP OTA
- 單片機的燒錄方式:ISP、ICP、IAP的區別
- 淺析ICP與ISP、及IAP三種單片機燒錄方式
- 單片機程序燒錄方式有幾種?
- 單片機三種燒錄方式ICP、IAP和ISP詳解
- 單片機程序燒錄的3種方式(ISP、ICP、IAP)是什么?
- 單片機ISP和IAP的區別
- 新唐單片機 ICP 史上最全教程
- 單片機ISP燒錄原理
- 單片機三種燒錄方式ISP、IAP和ICP有什么不同?資料下載
- PZ-ISP單片機燒錄軟件V1.74應用程序免費下載 51次下載
- PZ-ISP單片機燒錄器下載 25次下載
- 51單片機燒錄軟件怎么用 266次閱讀
- 什么ISP?什么是IAP? 3753次閱讀
- 單片機通過USB升級固件的方法 1466次閱讀
- STM32單片機實現固件在線升級(IAP) 3575次閱讀
- AT與STC單片機的主要區別 9490次閱讀
- 常用的幾種IAP升級技術方案是哪些 1304次閱讀
- 如何自制一個AVR單片機ISP下載線 3892次閱讀
- stc與at單片機的區別 3.3w次閱讀
- 單片機程序的幾種常用下載方式介紹 2w次閱讀
- 常用單片機通信方式綜述 5031次閱讀
- STC單片機利用IAP技術實現EEPROM的設計 3326次閱讀
- STC單片機利用IAP技術實現EEPROM設計 1962次閱讀
- 單片機的編程器和燒錄器有什么區別 3.4w次閱讀
- 單片機三種燒錄方式ISP、IAP和ICP的區別詳解 6.5w次閱讀
- STC單片機程序燒錄與ISP下載相關知識 9934次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 651單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 751單片機大棚環境控制器仿真程序
- 1.10 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多