isp
於iap
的區別
用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程式(第一部分**)區域不會被意外地破壞。
ispisp
iapisp
IAP與ISP的異同
優點 isp技術的優勢是不需要程式設計器就可以進行微控制器的實驗和開發,微控制器晶元可以直接焊接到電路板上,除錯結束即成成品,免去了除錯時由於頻繁地插入取出晶元對晶元和電路板帶來的不便。原理 isp的實現相對要簡單一些,一般通用做法是內部的儲存器可以由上位機的軟體通過串列埠來進行改寫。對於微控制器來...
ISP 和 IAP 工作原理
一 isp in system programming,在系統程式設計 pc 機通過串列埠把 bin hex 檔案直接燒錄到微控制器內部 flash 中,比如利用 jlink 或者 usb 轉 ttl 進行燒錄。1 在實現 iap 功能時,微控制器內部一定要有兩塊儲存區,一般一塊被稱為 boot 區...
在系統程式設計ISP及在應用程式設計IAP
用寫入器將code燒入,不過,晶元可以在目標板上,不用取出來,在設計目標板的時候就將介面設計在上面,所以叫 在系統程式設計 即不用脫離系統 什麼是iap 1.由外部硬體電路 如vdd保持高電平,給rst連續3個脈衝 2.檢測狀態位 如ispen,為0時pc指標從0000h開始執行 為1時,通過 引導...