Arm64有4種棧,分別是空增棧(Empty Ascendant Stack,EA)、空減棧(Empty Descendant Stack,ED)、滿增棧(Full Ascendant Stack,F(xiàn)A)、滿減棧(Full Descendant Stack,F(xiàn)D)。常用的是滿減棧,Linux內(nèi)核也使用滿減棧。
下圖是一個滿減棧的示意圖,高地址為棧頂,低地址為棧低,棧向低地址方向生長,如右邊的箭頭所示。棧指針SP指向棧底(棧低保存了數(shù)據(jù))。
每產(chǎn)生一次函數(shù)調(diào)用,就會在棧中形成一個棧幀,該棧總共保存了4個棧幀(Stack Frame),每個棧幀由FP、LR及棧參數(shù)(函數(shù)參數(shù)、函數(shù)局部變量等)組成??梢詫V械乃袟暈橐粋€單項鏈表,棧最低位置的棧幀為鏈表頭,棧最高位置的棧幀為鏈表尾,整個鏈表使用FP索引。
棧手動回溯時,可以根據(jù)FP將所有棧幀索引出來。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
相關(guān)推薦
如何對RK3399 CPU arm64的內(nèi)核進行配置?
發(fā)表于 02-16 06:20
1. 簡介這篇文章主要介紹系統(tǒng)調(diào)用在arm64下的實現(xiàn)及使用原理,考慮到目前bpf在系統(tǒng)調(diào)試和調(diào)優(yōu)工作中被大量使用,在文章的最后也簡單介紹一下系統(tǒng)調(diào)用相關(guān)的bpf工具。系統(tǒng)調(diào)用在每個平臺的實現(xiàn)方式
發(fā)表于 06-02 17:48
1、ARM64的多核啟動流程分析工作中遇到的多核 ARM CPU 越來越多,總結(jié)分享一些多核啟動的知識,希望能幫助更多小伙伴。在 ARM64 架構(gòu)下如果想要啟動多核,有 spin-table
發(fā)表于 06-13 18:23
現(xiàn)在的進展并不快,因為老測試集里面用例數(shù)量龐大。目前,老測試集中的用例數(shù)量還遠(yuǎn)遠(yuǎn)大于新測試集。問題大量的集成測試用例為性能研究提供了方便。筆者通過比較同一測試集在arm64和x86服務(wù)器上運行的耗時來
發(fā)表于 07-12 15:48
網(wǎng)上或多或少都能找到棧回溯的一些文章,但是講的都并不完整,沒有將內(nèi)核棧回溯的功能用于實際的內(nèi)核、應(yīng)用程序調(diào)試,這是本篇文章的核心:盡可能引導(dǎo)讀者將棧
發(fā)表于 10-05 10:02
?5268次閱讀
arm64或ARM64。我在示例中使用了AArch64寄存器,但我所描述的許多問題也發(fā)生在ARMv8-A 32位執(zhí)行狀態(tài)。
發(fā)表于 08-09 09:51
?2.7w次閱讀
微軟通過開發(fā)者博客宣布,已通過Windows內(nèi)部開發(fā)頻道推出了第一個可用于ARM64設(shè)備的x64仿真的預(yù)覽版Build 21277,這意味著使用ARM芯片的筆記本用戶可以從Windows商店或其他渠道安裝x
發(fā)表于 12-11 09:14
?1936次閱讀
面向 Dev 頻道 Windows Insider 成員,今天微軟發(fā)布了 Windows 10 Build 21227 版本更新。而在本次預(yù)覽版更新中,微軟發(fā)布了首個適用于 ARM64 設(shè)備
發(fā)表于 12-11 14:14
?1689次閱讀
內(nèi)核文檔Documentation/arm64/memory.rst描述了ARM64 Linux內(nèi)核空間的內(nèi)存映射情況,應(yīng)該是此方面最權(quán)威文檔。 以典型的4K頁和48位虛擬地址為例,整個內(nèi)核空間
發(fā)表于 01-04 13:37
?2560次閱讀
電子發(fā)燒友網(wǎng)站提供《Core 3399KJ Linux根文件系統(tǒng)鏡像(arm64/arm32).txt》資料免費下載
發(fā)表于 09-14 10:08
?3次下載
電子發(fā)燒友網(wǎng)站提供《Core 3399J Linux根文件系統(tǒng)鏡像(arm64/arm32).txt》資料免費下載
發(fā)表于 09-14 09:24
?0次下載
電子發(fā)燒友網(wǎng)站提供《ROC RK3399 PC Pro文件系統(tǒng)Linux根文件系統(tǒng)鏡像(arm64/arm32).txt》資料免費下載
發(fā)表于 09-20 10:59
?5次下載
電子發(fā)燒友網(wǎng)站提供《AIO 3399ProC Linux根文件系統(tǒng)鏡像(arm64/arm32).txt》資料免費下載
發(fā)表于 09-21 09:52
?11次下載
海凌科新款arm64開發(fā)板——wukongPi 4B上架,兼容樹莓派,采用RK3399 SoC。
發(fā)表于 08-07 14:53
?1079次閱讀
ARM32的OP-TEE與ARM64的OP-TEE啟動過程大致相同。ARM64的OP-TEE的_start函數(shù)定義在generic_entry_a64.S文件中,而且該函數(shù)不像
發(fā)表于 11-07 15:12
?703次閱讀
評論