s3c6410交叉編譯gtk小結

2021-05-22 23:59:56 字數 819 閱讀 9268

最近一段時間,一直在做s3c6410交叉編譯工作。主要交叉編譯的模組是gtk包。經歷了一遍的build.sh以後,基本上得到了這些動態庫檔案。總結一下這個交叉編譯過程,以便為以後工作作為參考。

排錯過程:

1.首先要觀察交叉編譯後的錯誤資訊,看是發生在configure時,還是發生在make時。

2.根據錯誤發生的時間,來進行排錯(無論是在configure後還是makefile後發生的錯誤都好解決,不好解決的是在make過程中生成的檔案錯誤,很難解決)。configure時的錯誤,要開啟configure檔案,複製錯誤資訊,進行查詢,找到相應位置,分析錯誤原因。

3.如果還不能找到錯誤,那使用重定向命令,將過程定位到檔案中,仔細查詢錯誤資訊。

主要錯誤情況:

1.一些檔案缺少必要的標頭檔案。比如pthread,stdlib,nsetenv,x11等等.

2.configure檔案中的一些選項會有退出情況,該情況下,可以遮蔽退出操作,讓程式繼續執行下去。

3.可以遮蔽一些原始碼包,因為我們要得到的是動態或者靜態庫檔案,但大多數的原始碼包中都存在一些demo或者test的測試**。這些**需要進行連線操作,在進行交叉編譯的過程中,可以對這些原始碼包進行遮蔽,當然在makefile.am中進行遮蔽了。

4.可以修改一些path環境變數,因為有時候會提示不能執行二進位制檔案。該情況通常是需要arm平台下生成的二進位制可執行檔案才可真正執行。所以這種情況我們可以採用從arm平台的生成的檔案替代。或者也可以採用直接使用pc的/usr/bin下的同名的檔案進行代替。

5.對於上面2中提到的在make過程中生成的檔案錯誤,可以通過多次進行編譯的過程實現。原理是makefile的時間戳。

s3c6410儲存器對映

1.引導映象區 0x0000 0000 0x07ff ffff 2.內部儲存區 1 內部rom 0x0800 0000 0x0bff ffff 2 內部sram 0x0c00 0000 0x0fff ffff 3.靜態儲存區 0x1000 0000 0x3fff ffff 4.動態儲存區 0x400...

S3C6410啟動模式介紹

目前的arm處理器都支援多種啟動模式,s3c6410和以前的samsung的arm處理器一樣,通過外部管腳om 4 0 的拉高拉低來決定是從哪個儲存裝置上啟動。我認為s3c6410的user manual並沒有說的很清楚,所以我在最開始使用的時候,也對其啟動模式有一些誤解,下面就我個人的理解,介紹一...

S3C6410啟動模式介紹

from 目前的arm處理器都支援多種啟動模式,s3c6410和以前的samsung的arm處理器一樣,通過外部管腳om 4 0 的拉高拉低來決定是從哪個儲存裝置上啟動。我認為s3c6410的user manual並沒有說的很清楚,所以我在最開始使用的時候,也對其啟動模式有一些誤解,下面就我個人的理...