對ISP的理解

2021-09-28 18:04:17 字數 931 閱讀 5165

大學期間,最開始玩的就是89c51晶元,這也應該是很多嵌入式玩家的入門玩具吧。當時的我,甚至還不知道**器是個什麼玩意,在加上教程中也一直使用的isp進行**的燒寫,所以也覺得這個東東沒什麼不好的,就是燒寫程式太麻煩,還要整乙個專用的軟體,配置波特率,設定校驗等等。

直到後來,開始接觸到**器的使用,才發現原來燒寫**可以這樣簡單,簡直比以前太高效了,從此便不再想看見isp

但是在今天,看見書上提到isp。現在看來。貌似還有一點深層次的知識,我一直沒有領悟到,或者沒有在使用它的時候覺察到。所以,在這裡記錄一下。

對cpu的工作原理大概了解的童鞋應該知道,我們一般是通過ide或者編輯器完成程式的編寫,那麼如何才能讓晶元執行程式呢?毋庸置疑,首先需要將**燒寫進晶元啦!那麼燒寫進晶元**呢?一般而言,有兩種選擇。第一是直接燒寫進ram,但是由於ram的特性,所以掉電之後,程式便會丟失,上下電之後還需要重新燒寫,顯得比較麻煩。另一種方法便是少些進入flash,便可以長期儲存。

那為什麼利用串列埠除錯助手就可以將二進位制**燒寫進ram或者flash呢?個人的理解是利用了引導程式這一概念,類似於電腦的bios,可以選擇從usb啟動系統或者硬碟啟動系統等。與之類似,晶元的bios常常被稱為boot,通過配置boot引腳,便可以選擇啟動方式。如果我們選擇usart方式,那麼便意味著可以利用uasrt協議,將二進位制**燒寫進入儲存裝置,從而開始執行**。與之類似的是,選擇spi方式,則利用spi協議將二進位制**燒寫進儲存裝置等等。

基於此,便產生了串列埠除錯助手

本文僅是作者對isp的理解,可能存在錯誤之處,還望讀者可以不吝指正,在下不勝感激,謝謝!

對委託的理解

在公司看了一上午的委託和事件 其實也沒有那麼久了,2個小時而已 終於明白了一些,看大家都沒有回帖,可能是因為我沒有設定加分,我的分太少了,剛來csdn。委託 我對委託的理解是這樣的 實現定乙個函式規範 簡單點說就是定義乙個函式的格式 如 public int test int a 委託裡是這樣寫的p...

對測試的理解

對測試的理解 如果將整個測試流程劃分為四個環節 測試的計畫,測試的設計,測試的執行,測試的評估 那麼需求分 析應該貫徹在前兩個環節,當然有時在測試的執行階段出現一些問題,也需要去重新定位需求,但往往不會 涉及後兩個環節了,測試的執行階段應當完全依賴測試設計的結果,也就是測試用例 而測試的評估當然就 ...

對gcc的理解

gcc中,ld是鏈器程式,ar可將多個目錄檔案合成乙個函式庫,如ar r liba.a a.o會從a.o中生成a這個庫。nm可以檢視庫檔案的內容,如nm libstdc a。gcc部分引數 l 定義連線的庫目錄 i 定義頭檔案目錄 o 生成的目的檔名 o 加數字定義優化級別 g 生成除錯資訊 c 只...