久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 如何移植Linux到晶心平臺

如何移植Linux到晶心平臺

作者: 時間:2012-03-30 來源:網絡 收藏

4.2.3. Kernel 解壓縮與software breakpoint
在進行kernel 調試時,如果在低地址處,例如:head.S中進行調試,當設定 software breakpoint時,會有breakpoint無法停下來與AICE 斷線的情況發生。原因是當使用者設定software breakpoint時,breakpoint處的instruction會修改并加入break instruction。但kernel解壓縮時會將調試的程序代碼覆蓋造成與GDB調試不一致性而產生錯誤。解決的方法就是原設定software breakpoint改為hardware breakpoint,這樣就可以避免因kernel解壓縮所造成調試的錯誤,降低調試時的困難度。



4.2.4. PA/VA 觀念說明與調試要領
在原始碼arch/nds32/kernel/head.S中
la $lp, __mmap_switched
mtsr $lp, $IPC
iret

執行完iret后,系統就會從PA轉成VA,MMU translation status從translation off轉為translation on在此分界處調試規則如下所述,如果觀念不清楚及容易產生調試時的錯誤,請務必牢記。

4.2.4.1. MMU translation off 時期調試

在這個時期調試,VA是不存在的。所有的IO address與memory都是PA沒有VA,如果調試地址設成VA,容易hit illegal address 而造成exception。

4.2.4.2. MMU translation on 時期調試
在這個時期調試,PA是不存在的。所有的IO address與memory都是VA沒有PA,如果調試地址設成PA,容易hit illegal address 而造成exception.

4.2.5. 的基礎組件

MMU translation on后,很快就會進入start_kernel 函數,接下來的重點就是基礎組件,那就是interrupt,timer and UART。當這3個device移植成功后,的架構就建立起來了,printk也可以用了,Linux已經可以正常的運作。如果沒有意外,可以執行完kernel甚至將filesystem帶起來。接下來用戶可以將自己的周邊組件一個一個的device driver移植入系統。當周邊組件移植完成后,Linux系統移植到就完成了。

5. 結語

Linux操作系統運作在已有多年的時間。各式各樣的Linux軟件運作在不計其數。皆可證明Linux操作系統運作結合晶心平臺是一個穩定與成熟的產品,只要能明了熟悉Linux 移植的技巧與重點,使用晶心平臺開發Linux的產品將是一件愉快與簡單的工作。

linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

上一頁 1 2 3 4 下一頁

關鍵詞: Linux 移植 晶心平臺

評論


相關推薦

技術專區

關閉