freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于armuclinux的嵌入式系統(tǒng)開發(fā)-資料下載頁

2025-06-19 08:59本頁面
  

【正文】 作系統(tǒng)提供的特殊服務(wù),即API),要看自己的操作系統(tǒng)是否提供了相關(guān)服務(wù)。 下面簡單列出一些我認(rèn)為移植時(shí)需要考慮的問題: (1) 自己的操作系統(tǒng)的特點(diǎn)以及在當(dāng)前版本下支持的特性。 例如:uClinux不支持MMU,同樣就無法支持相應(yīng)的特性。 (2) 硬件資源。 因?yàn)榍度胧较到y(tǒng)資源比較緊張,硬件資源考慮必須要周全: (1) 軟件存儲(chǔ)空間的大小 這一般要等用目標(biāo)編譯器重新編譯完以后可能才會(huì)知道,所以只能大概估算,但千萬不要 看這個(gè)程序在linux下只有幾十k,就認(rèn)為程序很小,這是因?yàn)閘inux下程序多時(shí)使用動(dòng)態(tài)庫 ,而在嵌入式系統(tǒng)中,很有可能是把用到的庫都鏈接在一起,所以程序的尺寸會(huì)大大增加 。 (2) 程序運(yùn)行空間。. (3) 硬件以及相應(yīng)的驅(qū)動(dòng)是否完備 以上工作應(yīng)該盡量做,但有時(shí)事先無法把握,只能聽天由命了(有沒有搞錯(cuò)?。。? 可能有人已經(jīng)要暈菜了,振奮一下大家,如果找到了好的源代碼(可移植性好),那么剩 下的如要工作就是玩轉(zhuǎn)你的編譯器,只要你能順利的把源代碼用你的編譯器重新編譯一下 。90%的工作就完成了(不是嗎) 上回已經(jīng)介紹了一些編譯器方面的東西,下面針對(duì)我的ARM編譯器的具體參數(shù)來講解一些編 譯器主要參數(shù)的設(shè)置。 ,在x86的linux平臺(tái)下編譯鏈接一下。 gcc –c gcc –o hello 產(chǎn)生可執(zhí)行文件,上回說過,主機(jī)編譯器參數(shù)都有環(huán)境變量保存 ,所以看起來很簡單。這里我故意分兩個(gè)步鄹。 下面看一下用我的編譯器編這個(gè)程序(心臟不好的先吃藥)。 armelfgcc Iroot/uClibc/include msoftfloat mcpu=arm7tdmi fomitframepoi nter fsignedchar mcpu=arm7tdmi Os –Wall DEMBED D_uclinux_ c 這只是編譯,將參數(shù)逐一講解。 Armelfgcc 是gnu的arm編譯工具 1)Include地址:參數(shù):I 值:root/uClibc/include(這是在主機(jī)上我的uClinux的頭文 件路徑) 用法:I root/uClibc/include I參數(shù)保證后面的頭文件路徑在搜索系統(tǒng)頭文件路徑前被搜索從而有可能替代系統(tǒng)的頭文 件,如果有多個(gè)這樣的參數(shù),則搜索的順序是從左到右,然后是系統(tǒng)的頭文件。 2)m 是針對(duì)CPU的選項(xiàng)。 mcpu=arm7tdmi 說明CPU類型 msoftfloat 產(chǎn)生包含浮點(diǎn)庫的輸出 fsignedchar 讓char類型有符號(hào) fomitframepointer 對(duì)所有不需要幀指針的函數(shù)都不將其保存在寄存器中。 3) Os –Wall -Wall:所有警告都顯示 Os:優(yōu)化尺寸,該選項(xiàng)使能所有所有不增加尺寸的O2優(yōu)化,并且進(jìn)一步根據(jù)尺寸優(yōu)化 4) = DEMBED D_uclinux_ D: 將Dmacro 后的macro定義為字符串1。 以下是鏈接: armelfld L/root/uClibc/lib L/usr/local/gnu/armelf/lib L/usr/local/gnu/li b/gcclib/armelf/ elf2flt –o hello /root/uClibc/lib/ /usr/local/ gnu/lib/gcclib/armelf/ /usr/local/gnu/lib/gcclib/armelf/–lc 其中 1) 鏈接工具: armelfld 2) L指明需要鏈接的庫的路徑,用法和I一樣,自己的庫的路徑也可以在這里加入。 L/root/uClibc/lib L/usr/local/gnu/armelf/lib L/usr/local/gnu/lib/gcclib/armelf/ 3) –o 后面緊跟生成的最終的文件名 4)/root/uClibc/lib/ /usr/local/gnu/lib/gcclib/armelf/ /usr/local/gnu/lib/gcclib/armelf/ 5) lc lgcc –lc l 后面緊跟的是需要鏈接的庫的名字,,使 用時(shí)為lxxx即可。還要注意位置,自己的庫文件應(yīng)該加在他的庫前面。 編譯通過后,移植就算完成了,對(duì)于比較小的源代碼都可以這樣,即先分析他的編譯選項(xiàng) (用到了那些頭文件,庫文件等),然后用自己的編譯器對(duì)照相應(yīng)參數(shù)重新編譯一下就行 了。 當(dāng)然這只是簡單程序的移植,復(fù)雜案例在下一次講吧。     上一篇:ARM簡介   下一篇:集成電路的種類與用途          網(wǎng)友評(píng)論[查看更多評(píng)論][發(fā)表我的評(píng)論]  沒有相關(guān)評(píng)論    關(guān)鍵字:分類:文章軟件  友情連接   Copyrightamp。copy。2006 N維電子 All Rights Reserved! N維電子網(wǎng)站群號(hào)碼:25078482 吉ICP備06005157號(hào)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1