第一季視訊更新:程式碼分析7之ARM64啟動彙編和記憶體初始化

rlk8888發表於2022-03-30

我們在上一期節目中和大家介紹了ARM64記憶體管理方面的硬體知識,那麼這一期節目接著介紹ARM64記憶體管理相關的內容: ARM64啟動彙編和頁表初始化等內容。我們在程式碼分析第一期節目時候介紹過ARM32的啟動彙編,有不少小夥伴希望笨叔講ARM64的啟動彙編,因為現在基本上很多公司都用ARM64了,原來用ARM32的都大部分切換到ARM64了。另一方面,ARM64已經成了主流,比如華為鯤鵬用ARM64做伺服器,其他手機晶片公司比如MTK,展訊等早已經使用了ARM64了,現在傳說OPPO也準備自研手機晶片,很多嵌入式系統也都遷移到ARM64了, 所以, 群裡很多小夥伴,要求笨叔在講一遍ARM64的啟動彙編程式碼,笨叔也是盛情難卻,不好意思拒絕大家的請求,基本上有求必應。 笨叔在強調一下,笨叔錄視訊,一方面為了記錄下來,另一方面也是興趣愛好使然,我們錄的程式碼分析視訊是不在另外收費的。 對的,您沒聽錯,笨叔錄製的Linux 5.0的手把手程式碼分析視訊,是不另外再收費的, 只要訂閱了旗艦篇視訊課程,就可以免費收看Linux 5.0手把手分析視訊課程

我們這期節目,有兩個重點,一是介紹ARM64彙編,另外一個是考察 在彙編初始化階段,記憶體是如何對映的。

錄製視訊是一種興趣愛好

笨叔錄製視訊是一種興趣愛好。我們的奔跑吧的視訊,和別家視訊不一樣,我們只收了很少的錢,但是呢,我們錄製了很多視訊,我們現在第一季已經錄製好的視訊就超過40小時。後面還會免費給大家來錄製基於Linux 5.0核心的記憶體管理程式碼分析視訊。 對的,您沒有聽錯,後面錄的Linux 5.0原始碼分析視訊是不再收費的。這是全球第一家也是唯一一家Linux 5.0原始碼手把手分析的視訊。可能有的讀者會問了,笨叔,你們錄這麼多視訊,收費這麼低,這是為啥。其實很簡單,我們不靠賣視訊生活,我們都有正當的工作,可能很多小夥伴都知道了, 笨叔在上海一家小公司當小fae,另外笨叔業餘時間也在研究股票,研究巴菲特,所以,我們不靠賣視訊賺錢。我們錄視訊純粹是為了興趣愛好。有的小夥伴說了,竟然錄視訊不是為了賺錢,那為什麼不免費?我們知道,一旦免費,就很少有朋友真的認真去看視訊了,而且不但很少人看,還有一些噴子來噴,所以,有噴子來噴的話,我們也要設定門檻,歡迎來噴,但是你先付999。所以,我們設定一定門檻,給真正有需要的朋友來觀看。如果你覺得笨叔錄的視訊對你工作有幫助,你也不在乎那點小錢,對吧。我們也真誠呼籲一下,正在看這個視訊的小夥伴,可以幫忙推薦一下。


程式碼分析7 - ARM64啟動彙編和記憶體初始化

按照慣例,我們先上這一期節目中面試常見的必考題。

1. 什麼是一個段的載入地址和執行地址?

2. 讀懂Linux核心的連結指令碼檔案。

3. 從Uboot跳轉到核心時,為什麼指令快取記憶體可以開啟而資料快取記憶體必須關閉?

4. 在Linux核心啟動彙編程式碼中,為什麼要建立恆等對映的?

5. 在ARM64 Linux核心啟動過程中,除了建立恆等對映,那為什麼還要把內6. 核對映對映到核心空間裡?

7. 為什麼在ARM64 Linux核心啟動彙編中建立2個頁表,即idmap_pg_dir和init_pg_dir,只建立一個頁錶行不行?點解?


圖片


笨叔在這一期視訊中,是手把手把ARM64的啟動彙編程式碼都給您講解了一遍,這樣的視訊,只有笨叔這裡有喲!

有興趣的小夥伴可以訂閱奔跑吧旗艦篇視訊節目,點選“閱讀原文”訂閱喲!

藍色奔跑吧第二版已經交稿

笨叔歷時1年新修訂的藍色奔跑吧已經交稿,第二版會新增很多新內容,而且大部分內容是重新重構的,第二版完全基於Linux5.0 + ARM64/x86_64來編寫的。書稿在3月初已經交稿,請大家耐心等待。 想看Linux 5.0的程式碼講解,可以訂閱旗艦篇視訊課程,笨叔會在視訊裡詳細和大家分析5.0程式碼的實現。

  1. 第二版詳細目錄請登入“奔跑吧linux社群”微信公眾號,輸入“奔跑吧第二版”索取。

  2. 全新的一套奔跑卷題目,有興趣同學可以登入“奔跑吧linux社群”微信公眾號,輸入“奔跑卷”索取。

本書預計2020年盛夏出版,到時候笨叔約大家吃西瓜,看奔跑吧!



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70005277/viewspace-2885058/,如需轉載,請註明出處,否則將追究法律責任。

相關文章