2009-07-22 57 views
3

我在Linux主機上安裝了Eclipse CDT,CodeSourcery G ++工具鏈。我正在使用Code Sourcery Eclipse IDE。我使用飛思卡爾站點的Linux Target Image Builder將Linux內核安裝到MCF5485板上。關於使用Eclipse的MCF5485EVB開發板的遠程調試CDT

我在Linux主機上使用Sourcery Eclipse IDE創建了一個「helloworld」項目。 我已將Sourcery文件夾中的可執行文件(如gdbserver,catchsgev等)複製到根文件系統中的電路板上。

我在板上運行gdbserver,然後使用我的Linux機器上的TCP進行調試。 在Sourcery Eclipse IDE中,我已將指定的目標sysroot指定爲/,因爲我已將gdbserver安裝在板上的根(/root/bin)中。

我在Eclipse的調試配置中指定了IP地址,其餘爲默認值。 我在調試配置中的共享庫選項卡中選擇了「翻譯sysroot路徑名」選項

我在板上啓動gdbsrver(gdbserver IP:port /pathname/to/executable),然後在Linux主機上啓動調試配置。由於斷點,它停在main()。當我按簡歷時,它給我以下錯誤。

warning: .dynamic section for "C:\\Program Files\\CodeSourcery\\Sourcery G++\\m68k-linux-gnu\\libc/lib/libc.so.6" is not at the expected address (wrong library or version mismatch?) 
Stopped due to shared library event 
Stopped due to shared library event 
Stopped due to shared library event 

我的程序如下:

include <stdio.h> 

int main(void) 
{ 
    int i=0; 
    printf("Hello = %d",i); 
    return 0; 
} 

我讀了一些論壇,我需要設置SYSROOT,但我也看了,如果我已經在黑板上我做的根文件系統安裝SYSROOT不需要做任何事情。

回答

1

不確定是否需要將Code Sourcery工具放在目標上,但看起來像GDB客戶端或Eclipse無法找到目標庫,或者目標庫與Code Sourcery工具正在使用的庫不匹配。

我期望這些庫被構建爲目標linux構建的一部分。它們需要爲目標處理器進行交叉編譯,並且最終會放在/ lib目錄下的目標文件系統上。 Code Sourcery可能會爲您的目標提供預先構建的庫,然後這些庫必須是您的目標應該使用的庫。他們需要成爲目標文件系統的一部分。