bootloader開始段必須用彙編
CPU上電後會從IO空間的某地址取第一條指令。但此時:PLL沒有啓動,CPU工作頻率爲外部輸入晶振頻率,非常低;CPU工作模式、中斷設置等不確定;存儲空間的各個BANK(包括內存)都沒有驅動,內存不能使用。在這種情況下必須在第一條指令處做一些初始化工作,這段初始化程序與操作系統獨立分開,稱之爲bootloader。
一個嵌入式Bootloader最初始部分的代碼幾乎必須是用匯編語言寫成的,因爲開發板剛上電後沒有準備好C程序運行環境,比如堆棧指針SP沒有指到正確的位置。彙編代碼應該完成最原始的硬件設備初始化,並準備好C運行環境,這樣後面的功能就可以用C語言來寫了。
一個嵌入式Bootloader最初始部分的代碼幾乎必須是用匯編語言寫成的,因爲開發板剛上電後沒有準備好C程序運行環境,比如堆棧指針SP沒有指到正確的位置。彙編代碼應該完成最原始的硬件設備初始化,並準備好C運行環境,這樣後面的功能就可以用C語言來寫了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
單端信號,雙端信號,差分信號的區別和概念
wuyuzun
2020-07-02 22:58:26
pcap4j讀取pcap抓包文件DEMO
来去黑暗中
2020-06-26 14:25:26
空-時塊編碼STBC的原理及仿真
仰望星空,脚踏实地111
2020-06-26 00:14:26
求不同類型信號頻譜的理解與總結
仰望星空,脚踏实地111
2020-06-26 00:14:16
你不可不知的——物聯網通信技術常用專有名詞中英互譯
九天小牛
2020-06-23 16:05:02
【通信】通信中的基本知識
guansir
2020-06-22 10:52:45
可見光成像通信(Optical Camera Communication,OCC)——基於IEEE 802.15.7-2018標準的解讀
gwpscut
2020-06-16 15:22:26
HOST和Endpoint
o 主機(Host)主機配有一個或多個IP地址,是一個典型的物理實體。o 端點(SCTP Endpoint)一個傳送地址(IP地址+SCTP端口號)唯一標識一個端點。o 一個主機上可以有多個端點。
sinodragon21
2020-06-16 13:19:07
急切呼喚一線直接決策
sinodragon21
2020-06-16 13:19:07
爲什麼在網絡系統中的端口號範圍爲0~65535(2^16-1)?
因爲在傳輸層協議(例如TCP、SCTP)中,Header Format的最前端32bit結構爲: 0 1 2 3
sinodragon21
2020-06-16 13:19:07
數字程控交換機的發展及工作原理
ericsone
2020-06-15 09:33:09
IP的出路——MPLS
ericsone
2020-06-15 09:33:09