2014-12-10 50 views
0

我想設置KGDB來調試我們的arm64內核。我的設置是,目標是在內核3.14運行(有一些arm64的kgdb補丁移植),主機我用Linaro的工具鏈4.8 aarch64-Linux的GNU的GDB,每當我發出:遠程「g」數據包回覆太長aarch64 arm64

target remote /dev/ttyS0 

我錯誤信息:

Remote 'g' packet reply is too long: 

我Google上的問題很多,其中沒有摸索出適合我。我認爲這個問題是針對arm64的。有沒有人有機會知道如何進行?

回答

0

這裏啓發的問題: https://answers.launchpad.net/gcc-arm-embedded/+question/193249

我找到了解決辦法。發行

target remote /dev/ttyS0 

之前,請執行以下

set tdesc filename aarch64.xml 

我把aarch64.xml從最新的gdb的源代碼:GDB-7.8/GDB /功能/ aarch64.xml。通過這樣做,我們指示GDB客戶接受比最初預期更多的寄存器。

根本原因似乎GDB客戶端僅期待31個寄存器和寄存器SP,PC,CPSR,但內核GDB存根返回不僅那些寄存器但其他FPU寄存器,導致錯誤消息:

Remote 'g' packet reply is too long: