嵌入式linux的開發(fā)流程以及l(fā)inux應(yīng)用層內(nèi)容

姓名:鄧皓軒? 學(xué)號:19020100151? 學(xué)院:電子工程學(xué)院

轉(zhuǎn)自:https://blog.csdn.net/liupeng19970119/article/details/80375642?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162855377416780357290768%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162855377416780357290768&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-13-80375642.first_rank_v2_pc_rank_v29&utm_term=%E5%B5%8C%E5%85%A5%E5%BC%8Flinux&spm=1018.2226.3001.4187

【嵌牛導(dǎo)讀】嵌入式linux的開發(fā)流程以及l(fā)inux應(yīng)用層內(nèi)容

【嵌牛鼻子】介紹嵌入式linux的開發(fā)流程以及l(fā)inux應(yīng)用層內(nèi)容的要點

【嵌牛提問】嵌入式linux的開發(fā)流程以及l(fā)inux應(yīng)用層內(nèi)容有哪些

嵌入式linux開發(fā)流程:

1.搭建前期的開發(fā)環(huán)境档玻,例如搭建linux主機(jī)環(huán)境遭贸,交叉編譯器的安裝沟蔑,還有一些常用的開發(fā)輔助軟件如source insight等等。

2.學(xué)習(xí)對硬件的直接操作铁追,這里和單片機(jī)操作類似,我們需要查看原理圖還有數(shù)據(jù)手冊對相應(yīng)的寄存器進(jìn)行操作,實現(xiàn)功能麦撵。

這里只需要學(xué)會簡單的IO,中斷溃肪,定時器免胃,串口就可以,后面的存儲器惫撰,IIC羔沙,LCD,AD厨钻,DA等可以大致了解一下扼雏,需要用到時候著重學(xué)習(xí)。


3.學(xué)會UBOOT的移植莉撇,這里不需要自己去編寫呢蛤,我們需要了解uboot的結(jié)構(gòu),并且對他進(jìn)行相應(yīng)的功能添加和裁剪棍郎,了解uboot其實就是對硬件的初始化裸機(jī)程序其障。開發(fā)板上電之后初始化內(nèi)存,將uboot放到內(nèi)存去執(zhí)行涂佃,執(zhí)行完成之后將一些傳遞給內(nèi)核的參數(shù)放入boot parametors之后從設(shè)置好的地址取出kernel部分加載到內(nèi)存励翼,最后將程序執(zhí)行權(quán)限交給kernel.

4.學(xué)會kernel的配置和移植蜈敢。在這之前首先要熟悉makefile的基本規(guī)則,通過meuconfig進(jìn)行內(nèi)核圖形化的配置汽抚,完成后執(zhí)行頂層makefile進(jìn)行內(nèi)核的生成抓狭。生成的內(nèi)核需要設(shè)置很多參數(shù),其中最重要的就是對文件系統(tǒng)的支持造烁,執(zhí)行完內(nèi)核程序之后init進(jìn)程就可以創(chuàng)建其他進(jìn)程否过,實現(xiàn)多進(jìn)程的工作。

5.學(xué)會通過busybox制作一個文件系統(tǒng)惭蟋,對文件系統(tǒng)進(jìn)行支持庫的移植苗桂,完成之后構(gòu)建設(shè)備節(jié)點等,最終生成鏡像文件燒寫到固定的位置告组。

6.學(xué)會驅(qū)動的開發(fā)煤伟,這里我水平不足,知識簡單了解木缝。對于內(nèi)核驅(qū)動的添加大致就是對一個關(guān)鍵結(jié)構(gòu)體的內(nèi)容添加便锨,這里和STM32庫函數(shù)包形式差不多,但是很復(fù)雜我碟。

7.應(yīng)用程序根據(jù)驅(qū)動程序封裝的上層接口進(jìn)行相應(yīng)的硬件控制放案。

8.通過QT等學(xué)習(xí)界面開發(fā)對嵌入式系統(tǒng)進(jìn)行界面的開發(fā),使得產(chǎn)品得到更好的用戶體驗怎囚。

linux應(yīng)用層知識:

1.熟悉linux的基本命令卿叽,掌握shell腳本操作一系列l(wèi)inux基本命令的語法。

2.熟悉C語言

3.熟悉vi編譯器的基本操作

4.使用GCC編譯器恳守,進(jìn)行編譯。

5.使用GDB調(diào)試程序

6.linux下C的和基本操作:字符串操作贩虾,內(nèi)存申請催烘,時間獲取等。

7.對文件系統(tǒng)的操作:文件的打開關(guān)閉缎罢,創(chuàng)建伊群,搜索,狀態(tài)獲取策精。

8.針對文件指針的非格式化輸入輸出(fgetc(),fputc())舰始,格式化輸入輸出(sprintf,fscanf)操作。

9.進(jìn)程操作:

? ? 進(jìn)程概念:操作系統(tǒng)中被加載到內(nèi)存中的咽袜,正在運行的應(yīng)用程序丸卷,由程序,數(shù)據(jù)询刹,進(jìn)程控制塊(PID等)組成谜嫉。

? ? 進(jìn)程狀態(tài):運行態(tài)萎坷,就緒態(tài),阻塞態(tài)(請求IO或者等待某一事件觸發(fā)的進(jìn)程)

? ? 進(jìn)程的創(chuàng)建:一般我們執(zhí)行的程序就是一個進(jìn)程沐兰,我們可以使用fork()的創(chuàng)建一個該進(jìn)程的子進(jìn)程哆档,這個進(jìn)程復(fù)制了父進(jìn)程的數(shù)據(jù)。pid_fork(void);

? ? 進(jìn)程終止:return ,exit()等

? ? 守護(hù)進(jìn)程:為了維護(hù)系統(tǒng)的運行二創(chuàng)建的一些進(jìn)程住闯,父進(jìn)程都是init的子進(jìn)程瓜浸,都是后臺運行,如果將普通的進(jìn)程修改為守護(hù)進(jìn)程需要按照守護(hù)進(jìn)程的特性進(jìn)行改造比原。

10.進(jìn)程間通信:

? ? ? 進(jìn)程間通信的作用:不同進(jìn)程之間進(jìn)程數(shù)據(jù)信息的交換插佛,完成某種特定的功能。主要的方法有:管道春寿,信號朗涩,消息隊列,信號量和共享內(nèi)存绑改,這里簡單介紹一下常用的幾個谢床。

? ? ? 消息隊列:將數(shù)據(jù)放入消息隊列,另外一個進(jìn)程通過對應(yīng)接口函數(shù)進(jìn)行調(diào)用厘线,獲取鍵值對應(yīng)的消息隊列识腿。

? ? ? 信號量:本身不進(jìn)行數(shù)據(jù)的交換,主要是控制多個進(jìn)程對共享資源的訪問造壮。

? ? ? 共享內(nèi)存:多個進(jìn)程將同一塊內(nèi)存區(qū)域映射到自己的進(jìn)程空間渡讼,以此完成通信,他是進(jìn)程間通信最快的一種方式耳璧。

11.多線程編程:

? 概念:據(jù)說在在嵌入式領(lǐng)域中應(yīng)用很廣泛成箫,因為資源的問題。實際上現(xiàn)在嵌入式領(lǐng)域和傳統(tǒng)計算機(jī)領(lǐng)域界限已經(jīng)很模糊了旨枯,很多時候硬件上資源不是那額需要節(jié)省蹬昌。這里先略過,后面學(xué)習(xí)的時候再深入學(xué)習(xí)一下攀隔。

12.網(wǎng)絡(luò)編程:

? ? TCP/IP協(xié)議棧:網(wǎng)絡(luò)接口層(數(shù)據(jù)幀)皂贩,網(wǎng)絡(luò)層(IP協(xié)議),傳輸層(TCP/IP協(xié)議)昆汹,應(yīng)用層(FTP等)明刷。

? ? 套接字基礎(chǔ):socket套接字是封裝傳輸層協(xié)議的操作單元,讓網(wǎng)絡(luò)編程更加容易满粗。

? ? 服務(wù)器模型:循環(huán)服務(wù)器模型(while結(jié)構(gòu)辈末,一次只能處理一個客戶端請求),并發(fā)服務(wù)器(fork實現(xiàn),創(chuàng)建子進(jìn)程實現(xiàn))

? ? 域名系統(tǒng):DNS,將難以直接記憶的IP地址和端口進(jìn)行人性化的域名變換本冲。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末准脂,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子檬洞,更是在濱河造成了極大的恐慌狸膏,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件添怔,死亡現(xiàn)場離奇詭異湾戳,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)广料,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門砾脑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人艾杏,你說我怎么就攤上這事韧衣。” “怎么了购桑?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵畅铭,是天一觀的道長。 經(jīng)常有香客問我勃蜘,道長硕噩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任缭贡,我火速辦了婚禮炉擅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘阳惹。我一直安慰自己谍失,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布莹汤。 她就那樣靜靜地躺著袱贮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪体啰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天嗽仪,我揣著相機(jī)與錄音荒勇,去河邊找鬼。 笑死闻坚,一個胖子當(dāng)著我的面吹牛沽翔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼仅偎,長吁一口氣:“原來是場噩夢啊……” “哼跨蟹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起橘沥,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤窗轩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后座咆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痢艺,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年介陶,在試婚紗的時候發(fā)現(xiàn)自己被綠了堤舒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡哺呜,死狀恐怖舌缤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情某残,我是刑警寧澤国撵,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站驾锰,受9級特大地震影響卸留,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜椭豫,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一耻瑟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赏酥,春花似錦喳整、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至呵晨,卻和暖如春魏保,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背摸屠。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工谓罗, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人季二。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓檩咱,卻偏偏與公主長得像揭措,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子刻蚯,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容