導航:首頁 > 源碼編譯 > 編譯gcc給開發版

編譯gcc給開發版

發布時間:2022-05-17 18:11:27

① 在RedHat9.0(2.4內核)操作系統下怎樣為開發板編譯2.6驅動模塊

可以,你把環境搭建好就可以編譯大部分。
makefile中指定好平台。如果本身驅動不在kernel代碼樹里,把內核的代碼頭文件等等手動設定好,如果驅動用到其他庫或代碼也手動指定好,不要讓編譯器自動搜索本機環境。

還要查閱下文檔,有些代碼可能壓根就沒有為交叉編譯而特別編寫,這類代碼的交叉編譯需要你打patch、重寫makefile

② arm-linux-gcc 編譯後,在開發板上沒法運行

你是不是說反了?或者是說你的環境變數已經有arm-linux-gcc了,而你又用了另一個交叉編譯版本,所以導致不能運行?

③ arm-linux-gcc -o hello hello.c 後生成的文件,怎麼燒寫到ARM9開發板中

arm-linux-gcc編譯出來的其實就是在linux下可以執行的程序,只不過運行這個linux的CPU需要是ARM的。所以,只要把這個文件傳到已可運行linux的目標板上就行(可通過ftp等手段),然後修改這個可執行文件的許可權chmod +x 文件名,就可以運行了。
另外,要轉換成燒寫的bin文件是用另一個編譯工具arm-elf-gcc,這個編譯出來的不是可執行文件,而直接是程序的二進制形式。這才需要通過燒寫flash的方式替換目標板的操作系統,當然肯定不能是hello.c這么簡單的程序。

④ 在ubuntu下用arm-linux-gcc編譯出的應用放到jz2440開發板下提示找不到是什麼原因

我懷疑你放的程序位置是否是正確的,你寫一個腳本文件,隨便執行一些無關緊要的命令,比如ls之類的,運行一下看看結果。

⑤ arm開發板如何運行自己寫的程序

用戶程序insmod 核心模塊載入:具體如下:

核心模塊編譯完成後,基本上是個未經符號定位的目標文件(object)(當然,如果這個object又是一些子object經過ld -r生成的話,則子object之間的符號定位是已經完成的),object是一種可重定位的代碼,它可以載入到不同位置的內存執行。而真正載入進核心,並成為核心的一部分,則是用戶程序insmod和核心幾個系統調用共同完成的。在此過程中,insmod主要完成或通過系統調用完成以下的工作:
1)由參數找到模塊文件,如insmod foo.o,模塊文件就是foo.o,根據模塊文件計算出模塊文件所需的內存大小
2)調用系統調用create_mole,為該模塊分配核心空間內存
3)調用系統調用query_mole,得到核心提供的符號表,與系統調用create_mole的返回值(核心模塊首地址)加在一起對模塊進行重定位。
4)在用戶空間為核心模塊分配內存,並往該段內存復制一個經過定位的object映象。
5)調用系統調用init_mole,將用戶內存中的模塊映象到相應的核心空間(首地址為create_mole的返回值)。
6)釋放用戶內存,中止insmod運行。
如果一切順利,沒有出現未定位的符號,則核心模塊object就融入系統,成為系統的一部分了。
核心模塊的載入過程對核心來說實際是個「靜態鏈接」的過程,這和用戶程序動態鏈接運行過程再鏈接需要的代碼還是不太一樣的,當然,object的可重定位特性保證了鏈接後的代碼正常運行,這點倒是比較相似的。
以上回答你滿意么?

⑥ 用GCC編譯的文件能否在ARM開發板上運行

如果用linux自身帶的gcc,那麼很遺憾,不能。要編譯出能夠在開發板上運行的文件,需要安裝相應的內核和工具鏈,用安裝之後的工具鏈編譯出來的才能下載到開發板上運行。這就是所謂的「交叉編譯」。

⑦ gcc編譯器可以用於單片機的開發嗎

可以的,需要交叉編譯。我們公司就在做這個。原來使用sdcc做的編譯器,現在改為gcc了。

⑧ arm-linux-gcc編譯後的可執行文件,能通過串口載入到ARM7開發板上么

這是一個文件,所以只要是傳文件的形式都可。前提是開發板上已經運行了linux系統,並且有相應的傳送軟體。
串口的話要兩邊都打開串口終端,比如超級終端,tinyCOM,或者串口調試助手。但是好像很少這樣做。
更多的是直接通過ftp來傳。
總之,運行了linux的開發板,現在就是一台電腦了。

⑨ gcc編譯流程

gcc編譯分為四部;

第一步,預編譯,將程序中的宏定義等預編譯;

第二步,編譯,將*.h,*.c等文件編譯成為*.o文件;

第三步,匯編;

第四步,連接,將*.o文件連接庫,生成可執行文件!

⑩ 如何編譯GCC 4.3.2

vi $HOME.profile
[color=Blue]PATH=/usr/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/sfw/bin:/usr/ccs/bin:/usr/ucb
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/sfw/lib
export PATH LD_LIBRARY_PATH
alias ll="df -hFufs"
alias m="gmake && gmake install"
PS1="\u@\H# "[/color]
#注意: 把/usr/local的path和LD_LIBRARY_PATH提前到/usr/sfw/lib下面,因為solaris自帶的一些命令不是gnu的,在編譯過程中可能會報錯,ld/ar等命令都需要額外安裝!下面的步驟會有敘述!

編譯binutils-2.18
cd /tmp; gtar zxvf binutils-2.18.tar.gz
cd binutils-2.18
./configure && m

cd /tmp; gtar zxvf gcc-4.3.2.tar.gz
cd /tmp/ && bzcat zxvf gmp-4.2.1.tar.bz2 && mv gmp-4.2.1 gmp && gtar xvf - && ./configure && m
cd /tmp/ && gtar zxvf mpfr-2.3.2.tar.gz && mv mpfr-2.3.2 mpfr && ./configure -with-gmp-build=/tmp/gmp && m

cd /tmp/gcc-4.3.2 && bzcat zxvf gmp-4.2.1.tar.bz2 && gtar xvf - && mv gmp-4.2.1 gmp
cd /tmp/gcc-4.3.2 && gtar zxvf mpfr-2.3.2.tar.gz && mv mpfr-2.3.2 mpfr

開始編譯gcc了
cd /tmp/gcc-4.3.2
./configure --prefix=/tmp/gcc --enable-languages=c,c++ --with-gnu-as --with-as=/usr/local/bin/as --with-gnu-ld --with-ld=/usr/local/bin/ld LD=/usr/local/bin/ld AS=/usr/local/bin/as AR=/usr/local/bin/ar NM=/usr/local/bin/nm RANLIB=/usr/local/bin/ranlib STRIP=/usr/local/bin/strip OBJCOPY=/usr/local/bin/obj OBJDUMP=/usr/local/bin/objmp

閱讀全文

與編譯gcc給開發版相關的資料

熱點內容
汽車小壓縮機拆解 瀏覽:825
雲桌面卡是因為伺服器的原因嗎 瀏覽:377
qd123壓縮機 瀏覽:969
pn532讀取加密門禁卡 瀏覽:85
win10文件夾屬性里無法加密 瀏覽:34
比特幣加密的條件 瀏覽:848
求購現成影視app源碼 瀏覽:572
wdsecurity加密版 瀏覽:813
雲伺服器和雲豐雲 瀏覽:188
伺服器如何設置獨立ip 瀏覽:857
tar命令打包文件夾 瀏覽:1000
刪除linux用戶和組 瀏覽:548
小米的程序員都用什麼筆記本 瀏覽:703
位元組三面演算法題 瀏覽:971
伺服器保護有什麼好處 瀏覽:894
全部下載完後進行統一解壓 瀏覽:393
遠嫁的程序員媽媽 瀏覽:555
1024程序員節安全攻防挑戰賽 瀏覽:786
怎麼解除txt加密 瀏覽:772
javahttp流 瀏覽:656