<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

如何移植Linux到晶心平臺

作者: 時(shí)間:2012-03-30 來(lái)源:網(wǎng)絡(luò ) 收藏

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



4.2.4. PA/VA 觀(guān)念說(shuō)明與調試要領(lǐng)
在原始碼arch/nds32/kernel/head.S中
la $lp, __mmap_switched
mtsr $lp, $IPC
iret

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

4.2.4.1. MMU translation off 時(shí)期調試

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

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

4.2.5. 的基礎組件

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

5. 結語(yǔ)

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

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

上一頁(yè) 1 2 3 4 下一頁(yè)

關(guān)鍵詞: Linux 移植 晶心平臺

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>