91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

與一線Linux嵌入式開(kāi)發(fā)工程師的對(duì)話

工程師人生 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 2018-03-14 07:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

工程師一直做Linux嵌入式開(kāi)發(fā),作為在開(kāi)發(fā)一線的工程師,他對(duì)很多問(wèn)題的看法可能更切合實(shí)際需求,就嵌入式開(kāi)發(fā)方面的問(wèn)題,請(qǐng)他談了一下自己的看法。

問(wèn):關(guān)于嵌入式開(kāi)發(fā),我們準(zhǔn)備給同學(xué)們講解一些入門知識(shí),從你一線開(kāi)發(fā)經(jīng)驗(yàn)來(lái)說(shuō),給我們一些建議:

陳工回答:

對(duì)于嵌入式Linux入門,如果有一定基礎(chǔ),可以從驅(qū)動(dòng)開(kāi)始;如果沒(méi)有基礎(chǔ),我個(gè)人建議還是從應(yīng)用程序開(kāi)始。因?yàn)閺膽?yīng)用程序開(kāi)始是最容易的,也是最直觀的。而驅(qū)動(dòng)程序運(yùn)行在內(nèi)核態(tài),驅(qū)動(dòng)本身的結(jié)構(gòu)就比較復(fù)雜,如果要徹底弄明白驅(qū)動(dòng)的運(yùn)行機(jī)制,必定牽涉內(nèi)核,對(duì)于高年級(jí)的學(xué)生恐怕問(wèn)題會(huì)少一些,而對(duì)于低年級(jí)的學(xué)生,問(wèn)題估計(jì)較多。我曾經(jīng)遇到過(guò)一些初學(xué)者,就是一入門就栽了,失去了信心,當(dāng)然這只是少數(shù)。不過(guò),如果在遇到問(wèn)題之后,能夠得到即時(shí)、正確的點(diǎn)化,那就是好事了。

既然您決定講驅(qū)動(dòng),那就從內(nèi)核模塊開(kāi)始。在PC上就可以進(jìn)行的虛擬設(shè)備實(shí)驗(yàn),如基于內(nèi)存的內(nèi)核模塊??梢钥紤]從模塊的結(jié)構(gòu)、編譯、插入、卸載等方 面進(jìn)行闡述。

驅(qū)動(dòng)模塊無(wú)非分字符驅(qū)動(dòng)、塊設(shè)備驅(qū)動(dòng)和網(wǎng)絡(luò)驅(qū)動(dòng)三大類。但是一定要讓學(xué)生知道,任何一個(gè)系統(tǒng),特別是嵌入式系統(tǒng),并且在目前的嵌入式Linux產(chǎn)品開(kāi)發(fā)中,最簡(jiǎn)單、最重要、最多、最復(fù)雜的也是字符設(shè)備驅(qū)動(dòng),從IO驅(qū)動(dòng)到串口驅(qū)動(dòng)、到USB驅(qū)動(dòng)等等,廣義上都是字符驅(qū)動(dòng)。讓學(xué)生最好專注于字符設(shè)備驅(qū)動(dòng),因?yàn)橐粋€(gè)嵌入式設(shè)備,網(wǎng)卡一般一塊,F(xiàn)LASH一般也是一塊(也包括幾塊組成的FLASH組),但是這兩方面,基本都有完善的驅(qū)動(dòng),如網(wǎng)卡驅(qū)動(dòng)有很多,塊設(shè)備驅(qū)動(dòng),硬件層已經(jīng)有通用接口,不管是NOR FLASH還是NAND FLASH,文件系統(tǒng)層更是有了非常多、非常成熟的文件系統(tǒng),如 JFFS2、YAFFS、YAFFS2、EXT2、EXT3、ROMFS、CRAMFS等等,無(wú)需我們?cè)偃パ芯?,學(xué)會(huì)應(yīng)用即可。而除此之外的其它設(shè)備,如AD、DA、CAN、RS485等等,都是需要根據(jù)應(yīng)用來(lái)進(jìn)行設(shè)計(jì)的,這才是一個(gè)產(chǎn)品區(qū)別于其它產(chǎn)品的重點(diǎn),更是市場(chǎng)價(jià)值增值點(diǎn)。

另外呢,也是前一點(diǎn)引申為而來(lái)的,學(xué)習(xí)Linux,準(zhǔn)備做產(chǎn)品的話,不要把Linux當(dāng)成了終極目標(biāo)(當(dāng)然,這是對(duì)應(yīng)用而言的),要有只是把 Linux當(dāng)成一個(gè)平臺(tái)的思想。更重要的還在各種產(chǎn)品所需求的專業(yè)技術(shù),如通信方面像CAN、RS485、GPRS等等,或者工業(yè)控制方面,IO控制、實(shí)時(shí)特性等等。Linxu博大精深,研究起來(lái)永無(wú)止境,但是在產(chǎn)品中,只要到了一個(gè)產(chǎn)品夠用就可以了(當(dāng)然,多一些更好,要視人而定)。

問(wèn):嵌入式應(yīng)用程序的開(kāi)發(fā),應(yīng)用場(chǎng)景較多的是圖形界面還是字符界面,如果是圖形界面,開(kāi)發(fā)環(huán)境QT和Minigui哪一種更合適,哪種類型的應(yīng)用程序在嵌入式系統(tǒng)中應(yīng)用比較多?

陳工回答:

對(duì)于嵌入式Linux的應(yīng)用,大多數(shù)的應(yīng)用并不需要圖形界面,比如交換機(jī)、路由器、嵌入式網(wǎng)關(guān)以及服務(wù)器等等。圖形界面呢,主要應(yīng)用在多媒體、手機(jī)等手持設(shè)備和一些需要圖形界面的人機(jī)交互系統(tǒng)。

嵌入式Linux可選圖形界面很多,上網(wǎng)找找的話,可以發(fā)現(xiàn)遠(yuǎn)非我們常說(shuō)的QT、MiniGUI等。包括Tiny-X,matchbox、OPIE、 GPE等等。不同GUI有自己的特色,有自己的特殊應(yīng)用場(chǎng)合,對(duì)于產(chǎn)品開(kāi)發(fā),根據(jù)需要選擇合適的GUI。對(duì)于學(xué)習(xí),自然是選擇容易得到、容易開(kāi)發(fā)的 GUI。QT是一個(gè)不錯(cuò)的選擇,由于QT有一個(gè)PC上的模擬器,可以在沒(méi)有實(shí)際液晶LCD的情況下,甚至在沒(méi)有任何硬件的情況下都可以在PC上進(jìn)行模擬開(kāi)發(fā)。QT是收費(fèi)的,當(dāng)然,有免費(fèi)版可用。MiniGUI呢,純粹國(guó)產(chǎn)的,支持國(guó)貨,可以考慮選擇MiniGUI。這是一個(gè)輕量級(jí)的嵌入式GUI,可以跨平臺(tái),學(xué)習(xí)版也才100多塊。MiniGUI可以用于工業(yè)控制場(chǎng)合,QT在這方面的應(yīng)用目前還沒(méi)有遇到,主要用在手持設(shè)備。

我們?cè)陂_(kāi)發(fā)中采用Tiny-X,這也是一個(gè)可以用于工業(yè)控制的GUI,基本兼容X-Window,體積小,占用資源少,速度快,穩(wěn)定。

對(duì)于Linux的應(yīng)用程序開(kāi)發(fā),除了GUI程序之外,最基本的應(yīng)用程序有:

(1)串口編程。無(wú)論是在Windows下還是Linux下,串口編程都是極為復(fù)雜的,但是非常鍛煉一個(gè)人的編程水平和能力。

(2)網(wǎng)絡(luò)編程以及WEB相關(guān)編程。網(wǎng)絡(luò)編程的tcp、udp、tcp/ip等。至于WEB編程,主要是在系統(tǒng)開(kāi)啟一個(gè)WEB服務(wù)器,制作一些網(wǎng)頁(yè),通過(guò)遠(yuǎn)程登錄能夠?qū)φ麄€(gè)系統(tǒng)進(jìn)行配置甚至升級(jí)等功能。比如我們的路由器配置網(wǎng)頁(yè)。這種應(yīng)用在以后會(huì)越來(lái)越廣泛。

(3)另外一個(gè)就是Shell編程了。Shell的作用我想,*NIX世界的人都很清楚。在很多應(yīng)用里面,通過(guò)一些非常富有技巧性的Shell腳本,實(shí)現(xiàn)了非常復(fù)雜的功能,包括遠(yuǎn)程系統(tǒng)升級(jí)等。

以上我提到的這3方面,非常易于實(shí)驗(yàn),在沒(méi)有硬件,只有PC的情況都可以做。

學(xué)生電腦安裝ubuntu,那以后配置嵌入式Linux開(kāi)發(fā)環(huán)境可能遇到的問(wèn)題會(huì)多一點(diǎn)。不過(guò)沒(méi)關(guān)系,能夠解決的。在我個(gè)人看來(lái)ubuntu適合于家用、辦公,但要用于開(kāi)發(fā),配置難度稍微大一點(diǎn)。不過(guò)沒(méi)有辦法,現(xiàn)在電腦硬件太新,最適合的RedHat 9.0無(wú)法安裝。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5198

    文章

    20449

    瀏覽量

    334051
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1603

    瀏覽量

    71026
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11760

    瀏覽量

    219033
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux開(kāi)發(fā)嵌入式必備命令速查表

    管理等環(huán)節(jié)輕松應(yīng)對(duì)各種問(wèn)題。今天,我們整理了Linux嵌入式開(kāi)發(fā)必備命令速查表,讓你篇文章就能快速查閱。、文件與目錄管理命令在
    的頭像 發(fā)表于 01-19 09:06 ?883次閱讀
    <b class='flag-5'>Linux</b> 下<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>嵌入式</b>必備命令速查表

    嵌入式開(kāi)發(fā)常用函數(shù)速查表

    嵌入式開(kāi)發(fā)中,掌握常用函數(shù)的用法可以大大提高開(kāi)發(fā)效率。無(wú)論是單片機(jī)初學(xué)者還是有定經(jīng)驗(yàn)的工程師,熟悉函數(shù)庫(kù)和調(diào)用方式都是必備技能。今天,我們?yōu)榇蠹艺?/div>
    的頭像 發(fā)表于 01-19 09:06 ?306次閱讀
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>常用函數(shù)速查表

    什么是BSP工程師

    、嵌入式系統(tǒng) 要明白什么是嵌入式軟件工程師,我們先從嵌入式系統(tǒng)(嵌入式設(shè)備)說(shuō)起。維基百科上對(duì)
    發(fā)表于 01-13 06:54

    從小白到大牛:Linux嵌入式系統(tǒng)開(kāi)發(fā)的完整指南

    從小白到大牛:Linux嵌入式系統(tǒng)開(kāi)發(fā)的完整指南 、小白入門:搭建 Linux 嵌入式開(kāi)發(fā)的認(rèn)
    發(fā)表于 12-16 10:42

    系統(tǒng)嵌入式的學(xué)習(xí)路線

    到搞的很精通,我要學(xué)會(huì)抓住重點(diǎn),學(xué)會(huì)取舍,達(dá)到通百通,事半功倍的學(xué)習(xí)效果。 首先嵌入式技術(shù)主要分為嵌入式軟件和嵌入式硬件2大方向。 嵌入式
    發(fā)表于 12-16 07:49

    個(gè)面向單片機(jī)、事件驅(qū)動(dòng)的嵌入式開(kāi)發(fā)平臺(tái)介紹

    EventOS,是個(gè)面向單片機(jī)、事件驅(qū)動(dòng)的嵌入式開(kāi)發(fā)平臺(tái)。它主要有兩大技術(shù)特色:是事件驅(qū)動(dòng),二是超輕量。EventOS以及其母項(xiàng)目EventOS,目標(biāo)是開(kāi)發(fā)
    發(fā)表于 12-05 06:26

    嵌入式開(kāi)發(fā)的關(guān)鍵點(diǎn)介紹

    。 嵌入式系統(tǒng)的應(yīng)用非常廣泛,例如:智能家居、智能手表、智能手機(jī)、智能汽車等等。嵌入式開(kāi)發(fā)需要開(kāi)發(fā)人員具備深入的硬件知識(shí)和編程經(jīng)驗(yàn),但是也有嵌入
    發(fā)表于 11-13 08:12

    電子發(fā)燒友工程師看!電子領(lǐng)域評(píng)職稱,技術(shù)之路更扎實(shí)

    、ADI 等廠商的技術(shù)對(duì)接資格。? 對(duì)嵌入式開(kāi)發(fā)工程師來(lái)說(shuō),職稱是崗位競(jìng)爭(zhēng)力的 “加分項(xiàng)”。隨著物聯(lián)網(wǎng)、AI 技術(shù)普及,“高級(jí)嵌入式開(kāi)發(fā)工程師”“
    發(fā)表于 08-20 13:53

    嵌入式工程師為什么要學(xué)QT?

    Qt對(duì)嵌入式工程師來(lái)說(shuō),真的很重要嗎? Qt是個(gè)跨平臺(tái)的C++應(yīng)用程序開(kāi)發(fā)框架,非常適合嵌入式系統(tǒng)的開(kāi)
    發(fā)表于 08-14 15:15

    嵌入式工程師的進(jìn)階之路

    嵌入式工程師的進(jìn)階之路 ()初級(jí)工程師(0-3 年)核心技能: 單片機(jī)開(kāi)發(fā):STM32F103系列 GPIO/USART/SPI 外設(shè)驅(qū)
    發(fā)表于 08-13 11:08

    物聯(lián)網(wǎng)工程師為什么要學(xué)Linux?

    物聯(lián)網(wǎng)工程師需要掌握Linux的主要原因可以從技術(shù)生態(tài)、開(kāi)發(fā)需求、行業(yè)應(yīng)用及就業(yè)競(jìng)爭(zhēng)力四個(gè)角度來(lái)分析: 、技術(shù)生態(tài)與行業(yè)適配性 1)嵌入式開(kāi)
    發(fā)表于 05-26 10:32

    嵌入式開(kāi)發(fā)入門指南:從零開(kāi)始學(xué)習(xí)嵌入式

    基礎(chǔ) 3. 學(xué)習(xí)路徑推薦第階段:熟悉開(kāi)發(fā)環(huán)境(如Keil、IAR、STM32)第二階段:掌握裸機(jī)編程與驅(qū)動(dòng)開(kāi)發(fā)第三階段:學(xué)習(xí)RTOS(實(shí)時(shí)操作系統(tǒng))如FreeRTOS第四階段:深入理解Lin
    發(fā)表于 05-15 09:29

    如何成為嵌入式軟件工程師?

    如何成為嵌入式軟件工程師? 01明確崗位的角色與定位 嵌入式軟件工程師主要負(fù)責(zé)開(kāi)發(fā)運(yùn)行在特
    發(fā)表于 04-15 14:37

    嵌入式開(kāi)發(fā):高門檻的系統(tǒng)性工程與 996 的行業(yè)困局

    嵌入式開(kāi)發(fā)的門檻,往往被培訓(xùn)機(jī)構(gòu)和表象所掩蓋。許多人誤以為 “用 C 語(yǔ)言寫個(gè)跑在 ARM 上的程序” 就是嵌入式,實(shí)則連皮毛都未觸及。真正的嵌入式開(kāi)發(fā)是硬件與軟件深度融合的系統(tǒng)性工程
    的頭像 發(fā)表于 04-09 11:06 ?984次閱讀
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>:高門檻的系統(tǒng)性<b class='flag-5'>工程</b>與 996 的行業(yè)困局

    嵌入式系統(tǒng)開(kāi)發(fā)圣經(jīng)【干貨】

    主管、系統(tǒng)設(shè)計(jì)分析人員及欲進(jìn)入該領(lǐng)域的工程師。是開(kāi)發(fā)嵌入式系統(tǒng)產(chǎn)品必備的入門圣經(jīng),進(jìn)入嵌入式系統(tǒng)領(lǐng)域的寶典??梢苑捶?,學(xué)習(xí)
    發(fā)表于 03-12 13:58