亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問板塊 發(fā)新帖
查看: 2051 | 回復(fù): 4
打印 上一主題 下一主題

[其他] 使用kgdb調(diào)試 linux 2.6.33(arm,s3c2440) 停在 booting the kerenel不動(dòng)了 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2013-05-13 15:39 |只看該作者 |倒序?yàn)g覽


先行謝過了。
-------------------------------------------------------------------------
開發(fā)板:
arm9 s3c2440
內(nèi)核是 2.6.33

內(nèi)核添加kgdb支持前的配置是:
使用內(nèi)核自帶的 2410的配置文件。
修改了makefile,
修改了主頻 為12000000 。
為了一個(gè)錯(cuò)誤還修改了內(nèi)核的開發(fā)板硬件編號(hào) 使其和UBOOT傳過來的機(jī)器代碼相同。
還沒有添加根文件系統(tǒng)的支持。

就做了這么簡(jiǎn)單的修改。這樣在系統(tǒng)啟動(dòng)后會(huì)提示掛載根文件系統(tǒng)失敗。但也證明內(nèi)核起來

了。

內(nèi)核是下載到內(nèi)存中 bootm啟動(dòng)的。

------------------------------------------------------------------------


為了添加kgdb支持添加了下面的 內(nèi)核編譯選項(xiàng)(根據(jù)網(wǎng)上的前人配置的,應(yīng)該是沒錯(cuò)):
General setup
           -> Prompt for development and/or incomplete code/drivers


               
Kernel hacking -->
        Kernel debugging
        compile the kernel with debug info
        KGDG: kernel debugging with remote gdb -->
                KGDB: use kgdb over the serial console
其他都是默認(rèn),好多配置選線更沒有找到,不過我相信是因?yàn)閮?nèi)核版本的問題。



------------------------------------------------------------------------------

內(nèi)核啟動(dòng)參數(shù):
經(jīng)試驗(yàn)發(fā)現(xiàn)  內(nèi)核源碼的boot option那的內(nèi)核啟動(dòng)參數(shù)會(huì)覆蓋掉uboot的內(nèi)核啟動(dòng)參數(shù)
所以我選擇直接修改內(nèi)核編譯選項(xiàng)中的boot option

使用串口0

init=/linuxrc mem=64M kgdboc=ttySAC0,115200 kgdbwait

雖然沒有根文件系統(tǒng),沒有init,加上這個(gè)參數(shù)應(yīng)該沒什么影響。


--------------------------------------------------------------------------------
host部分是 ubuntu 12.04  ,超級(jí)終端使用 gtkterm。


按道理,應(yīng)該會(huì)內(nèi)核啟動(dòng)的時(shí)候,顯示 kgdb ...wait......

但是我的gtkterm 上顯示 到 booting the kerenel ,就不往下走了。


------------------------------------------------------------------------------
各位看官能從我這描述中看到什么蛛絲馬跡,我的kgdb為啥沒起作用呢??


同時(shí)有下面結(jié)果幾個(gè)問題:
1,如果我在內(nèi)核啟動(dòng)參數(shù)上添加console=ttySAC0,115200,也就是說完整的是

init=/linuxrc mem=64M kgdboc=ttySAC0,115200 kgdbwait console=ttySAC0,115200

內(nèi)核會(huì)跟上面沒有添加kgdb支持的時(shí)候一樣啟動(dòng),到掛載根文件系統(tǒng)失敗。
沒有顯示 kgdb  wait的字樣。

我的理解是 kgdboc是 kgdboc 是kgdb over console的意思,既然添加了kgdboc參數(shù),應(yīng)該

就不需要console這個(gè)參數(shù)了吧,為什么添加上console之后會(huì)有變化呢。


2,我的內(nèi)核配置是否有問題。有人做過 2.6.33 這個(gè)版本附近的內(nèi)核調(diào)試么?

3,我是用的是kgdboc 就是說host的gdb和gtkterm(超級(jí)終端) 同時(shí)使用串口1.
   會(huì)不會(huì)是因?yàn)檫@個(gè)導(dǎo)致問題。如果gtkterm那開著。 gdb那就會(huì)提示錯(cuò)誤信息,信息就是

說串口被占用。 但是我認(rèn)為開發(fā)板和host是相互獨(dú)立的,不管host那邊如何。開發(fā)板那如果

配置正常了,就應(yīng)該顯示kgdb wait字樣。

4,我曾經(jīng)試著使用兩個(gè)串口。但是不成功,經(jīng)過試驗(yàn),發(fā)現(xiàn)串口2沒有被啟用。linux默認(rèn)情

況下(2440)串口不是都啟用的么。為什么console=ttySAC2,115200不行呢。

5,我在網(wǎng)上搜索的時(shí)候,發(fā)現(xiàn)大部分的kgdb都是使用模擬器調(diào)試X86架構(gòu)的kenrel的例子。

各位嵌入式的兄弟姐妹們調(diào)試ARM內(nèi)核都是用printk么? 我這次之所以想調(diào)試下內(nèi)核是因?yàn)?br />
使用initramfs作為根文件系統(tǒng)的失敗,解壓完內(nèi)核就卡住了,所以想試試kgdb。 (內(nèi)核一

共 11.2MB)

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2013-05-15 16:15 |只看該作者
這個(gè)有點(diǎn)麻煩,似乎是跳轉(zhuǎn)的時(shí)候出了問題。

建議:
1)仿真器跟蹤or點(diǎn)燈
2)是否編譯的kernel過大,解壓完之后覆蓋了一些啟動(dòng)參數(shù)?

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2013-05-16 12:42 |只看該作者
謝謝回復(fù)。
1,你說的仿真是什么意思。是使用jlink等硬件工具來仿真么,我對(duì)這個(gè)不懂,我只是用jlink當(dāng)作燒寫器。 能不能給我提供一些仿真的博客或者資料,我對(duì)硬件那些東西了解甚少。
2,kgdb這邊不通。應(yīng)該不是因?yàn)閮?nèi)核太大,因?yàn)槲沂前岩粋(gè)干凈的內(nèi)核,單純的加了kgdb支持, 沒有添加文件系統(tǒng),內(nèi)核編出來只有不到2Mb。     沒有加根文件系統(tǒng),如果不添加kgdb的支持,kernel會(huì)啟動(dòng)到掛載根文件系統(tǒng)失敗。是正常的,所以應(yīng)該不是內(nèi)核過大的原因。
上面提到的11.2MB 和當(dāng)前帖子關(guān)系不大,只是說我要使用KGDB的原因。



另外,我使用console =ttySAC0,115200   kgdboc=ttySAC0,115200    kgdbwait  作為啟動(dòng)參數(shù)的時(shí)候,內(nèi)核會(huì)正常啟動(dòng),啟動(dòng)到掛載跟文件系統(tǒng)失敗,沒有出現(xiàn)kgdb  wait的字樣 。 有前輩幫我分析,應(yīng)該是kgdb壓根沒起作用。所以我還是感覺我的內(nèi)核配置有問題。

Ps: 2.6.33 內(nèi)核,需要修改對(duì)應(yīng)的串口驅(qū)動(dòng)么???還是只是需要打開內(nèi)核編譯選項(xiàng)就可以。 我的是s3c2440    QQ2440v3的板子


再次謝謝你的回復(fù)。
回復(fù) 2# bluempire


   

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2013-05-16 14:29 |只看該作者
不客氣。
我說的仿真主要是指 調(diào)試內(nèi)核的(或者打斷點(diǎn)等等),jlink應(yīng)該可以調(diào)試的,baidu一下看看

另外,串口2是否是 ttySAC1? 而不是ttySAC2?

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2013-05-17 12:56 |只看該作者
回復(fù) 1# Dahuanxihuopusa
我沒有ARM開發(fā)的經(jīng)驗(yàn),但是從你的串口的驅(qū)動(dòng)的來看,似乎并不支持CONSOLE_POLL, 如果這樣的話,應(yīng)該是沒法用kgdb的通過這個(gè)串口。如果你想用應(yīng)該需要自己實(shí)現(xiàn)這部分代碼。


   
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP