www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]江工告訴小編,信心、毅力、勇氣三者具備,則天下沒有做不成的事。從江工總結(jié)的這三點(diǎn)可以看的出來,成功是需要付出的。任何人任何事都離不開你內(nèi)心最原本的那份自信。堅(jiān)持

江工告訴小編,信心、毅力、勇氣三者具備,則天下沒有做不成的事。從江工總結(jié)的這三點(diǎn)可以看的出來,成功是需要付出的。任何人任何事都離不開你內(nèi)心最原本的那份自信。堅(jiān)持做下去就會離成功越來越近。

1、筆者:談一談你學(xué)習(xí)嵌入式的那些年吧!

aiku:那些年,我們一起來學(xué)嵌入式。有人用魯迅的名篇形容大學(xué)四年:大一《彷徨》,大二《吶喊》,大三《傷逝》,大四《朝花夕拾》。想想,還真是這樣!

2005年剛上大一,我開始接觸51單片機(jī),自己畫板自己做板,接著又嵌入式arm。但是那時候很彷徨、迷茫,都是書本大理論,學(xué)得一頭霧水。還是硬著頭皮啃下去。

幸好,大二跟隨電子設(shè)計(jì)室的師兄學(xué)習(xí)嵌入式實(shí)際操作,剛好學(xué)院火熱開展電子設(shè)計(jì)大賽,這是一個很好的學(xué)習(xí)契機(jī)。于是,我和幾個哥們組隊(duì),每天披星戴月泡在實(shí)驗(yàn)室,從構(gòu)思、設(shè)計(jì)、編程到展演,步步摸索,從院、校、市,過五關(guān)斬六將,最后獲得省一等獎。小小的成功,這也是夢想最初的吶喊吧?;锇閭児餐接?,志同道合還是挺振奮人心!

大三,學(xué)院考研風(fēng)氣還是挺濃厚??上俏矣⒄Z不太好,連四級都沒過,某次還被英語老師說:英語四級都沒過,就先別考慮考研。她的話給我當(dāng)頭一棒,更是暗下決心,令其刮目相看!復(fù)習(xí)近一年多,過著“起的比雞早,睡得比夠晚”的苦逼考研生活。那段時間,每次疲憊不堪時,總以恩格斯的“沒有哪一次的痛苦,不是以人類的進(jìn)步為補(bǔ)償”激勵自己??啾M甘來,考上啦!離畢業(yè)還有一定空擋時間。我就想做過那么多項(xiàng)目,為何不將經(jīng)驗(yàn)總結(jié)?“朝花夕拾,雁過留聲”嘛,我就重點(diǎn)將比賽的各個項(xiàng)目歸納整理,這也是我在論壇里共享研究生三年項(xiàng)目資料的一部分。

2009年,攻讀研究生,加入導(dǎo)師的“創(chuàng)新嵌入式實(shí)驗(yàn)室”,和師兄幾個參與導(dǎo)師的嵌入式項(xiàng)目。我主要負(fù)責(zé)虛擬平臺總線設(shè)備驅(qū)動開發(fā)、音頻驅(qū)動開發(fā)以及bootloarder模塊開發(fā)。

工作內(nèi)容涉及到Linux應(yīng)用程序開發(fā)、LinuxTCP/IP協(xié)議棧的改動、Linux內(nèi)核驅(qū)動模塊的開發(fā)等等?,F(xiàn)正編寫【嵌入式項(xiàng)目實(shí)戰(zhàn)經(jīng)典視頻教程】,利用周末,在YY課堂上,講解《嵌入式入門開發(fā)及實(shí)戰(zhàn)項(xiàng)目開發(fā)》。嵌入式開發(fā)的學(xué)習(xí)路上,我始終堅(jiān)信天道酬勤,一個人的成功與否,取決于業(yè)余時間的開發(fā)利用。

2、筆者:能否分享一下學(xué)習(xí)linux或者是ARM時你有哪些收獲呢?

aiku:非常高興能有這個機(jī)會與大家一起交流一些經(jīng)驗(yàn),談一些我在電子設(shè)計(jì)以及做嵌入式項(xiàng)目開發(fā)方面的感受,希望我們能夠共同進(jìn)步。首先,我感謝我們的隊(duì)友!

我認(rèn)為,積極地參與嵌入式項(xiàng)目實(shí)戰(zhàn),不僅可以充分的體會到自己動手實(shí)踐的樂趣,獲得哪怕是前進(jìn)一小步時候的那種成功的喜悅,還有以下的幾點(diǎn)收獲:

(1)有利于我們學(xué)習(xí)能力的提高。這里所說的學(xué)習(xí)能力包括獲取資料的能力、理解前人思路的能力、系統(tǒng)設(shè)計(jì)能力、動手能力、分析排除故障能力、表達(dá)能力等很多方面。

(2)有利于我們團(tuán)隊(duì)精神的培養(yǎng)。不管在學(xué)校還是社會實(shí)際的工作中,我們一般都要與人合作共同完成某一項(xiàng)目,這就非常需要團(tuán)隊(duì)精神,而這一點(diǎn)在課堂常規(guī)教學(xué)中得到的鍛煉是很有限的。嵌入式項(xiàng)目開發(fā)要求人必須互相信任、互相配合、分工合作。在順境時小組成員要相互提醒保持冷靜,逆境時要相互鼓勵共度難關(guān),出現(xiàn)問題時不能相互埋怨。這些與學(xué)校里面的課堂教學(xué)強(qiáng)調(diào)獨(dú)立性是有明顯區(qū)別的。

(3)有利于我們應(yīng)變能力的提高以及思維能力的提高。在做項(xiàng)目的過程中要求我們在規(guī)定時間內(nèi)完成規(guī)定的項(xiàng)目,時間急迫會說出現(xiàn)各種意想不到的結(jié)果,所以我們必須在盡可能短的時間內(nèi)解決問題,這就需要在平時的訓(xùn)練中提高應(yīng)變能力。

那么,如何來準(zhǔn)備成為嵌入式實(shí)戰(zhàn)項(xiàng)目高手呢?我認(rèn)為,最好有一個前輩領(lǐng)著你一起學(xué)習(xí),一起搞項(xiàng)目。這樣你遇到問題你就可以有人教你,進(jìn)步飛快!其次,你可以使用一套有價(jià)值的教程領(lǐng)你進(jìn)入linux世界!

3、筆者:能否給大家簡單介紹一下學(xué)習(xí)linux的側(cè)重點(diǎn)有哪些呢?

aiku:很多朋友在學(xué)習(xí)arm+linux都很迷茫,他們都在問,作為一個新人,怎樣學(xué)習(xí)嵌入式Linux或者如何學(xué)習(xí)嵌入式等問題這些問題被問過太多次,很多都可在這里找到答案,自學(xué)嵌入式最大的障礙是什么?就是有問題沒有地方提問,從而打擊了學(xué)習(xí)的積極性。

作為一名嵌入式【創(chuàng)科之龍】團(tuán)隊(duì)的aiku來說,我想我可以做一些嘮叨甚至可以說一下一些建議和意見,希望我的分享能給他們以啟發(fā)。嵌入式的入門門檻稍微高一點(diǎn),但是再高的城墻也是小磚頭筑起來的,所以沒有必要因?yàn)殚T檻高就覺得很困難,一步一個腳印,貴在堅(jiān)持就可以了,當(dāng)然,嵌入式學(xué)習(xí)是一個漫長的過程,如果你的興趣不在于嵌入式,而只是為了某些目的而學(xué)習(xí),那學(xué)習(xí)對你來說就是一件枯燥的事情。

搞過ARM,其實(shí)有C語言基礎(chǔ),學(xué)起來就輕松很多,驅(qū)動,其實(shí)也不難,因?yàn)閷τ陔娮拥膶W(xué)生來說。對硬件有一些了解,寫驅(qū)動是不難的。驅(qū)動,有一個固定的模型,都差不多的。其實(shí)我們常見的驅(qū)動,LINUX內(nèi)核里面都有的了。這些暫時從簡單開始,沒有必要研究太深入。

4、筆者:大家都知道學(xué)習(xí)講究方法,那么學(xué)習(xí)嵌入式系統(tǒng)可以分為哪幾個階段呢?

aiku:我個人認(rèn)為可以分為4層,硬件層、驅(qū)動層、操作系統(tǒng)層和應(yīng)用層。

1)硬件層,是整個嵌入式系統(tǒng)的根本,如果你們現(xiàn)在單片機(jī)及接口這塊很熟悉,并且能用C和匯編語言來編程的話,從嵌入式系統(tǒng)的硬件層走起來相對容易,硬件層也是驅(qū)動層的基礎(chǔ),一個優(yōu)秀的驅(qū)動工程師是要能夠看懂硬件的電路圖和自行完成簡單的硬件邏輯設(shè)計(jì)的,同時還要對操作系統(tǒng)內(nèi)核及其調(diào)度性相當(dāng)?shù)氖煜さ摹5布脚_是基礎(chǔ),它的增值還需要要靠軟件。

我個人覺得硬件層比較適合于,電子、通信、自動化、機(jī)電一體、信息工程類專業(yè)的人來搞,需要掌握的專業(yè)基礎(chǔ)知識大概有單片機(jī)原理及接口技術(shù)、微機(jī)原理及接口技術(shù)、C語言。

2)驅(qū)動層,這部分比較難,驅(qū)動工程師不僅要能看懂電路圖還要能對操作系統(tǒng)內(nèi)核十分的精通,以便其所寫的驅(qū)動程序在系統(tǒng)調(diào)用時,不會獨(dú)占操作系統(tǒng)時間片,而導(dǎo)至其它任務(wù)不能動行,不懂操作系統(tǒng)內(nèi)核架構(gòu)和實(shí)時調(diào)度性,沒有良好的驅(qū)動編寫風(fēng)格,按大多數(shù)書上所說添加的驅(qū)動的方式,很多人都能做到,但可能連個初級的驅(qū)動工程師的水平都達(dá)不到,這樣所寫的驅(qū)動在應(yīng)用調(diào)用時就如同windows下我們打開一個程序運(yùn)行后,再打開一個程序時,要不就是中斷以前的程序,要不就是等上一會才能運(yùn)行后來打開的程序。想做個好的驅(qū)動人員沒有三、四年功底,操作系統(tǒng)內(nèi)核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統(tǒng)四層中可是最高的。[!--empirenews.page--]

我個人覺得驅(qū)動層比較適合于電子、通信、自動化、機(jī)電一體、信息工程類專業(yè)尤其是計(jì)算機(jī)偏體系結(jié)構(gòu)類專業(yè)的人來搞,除硬件層所具備的基礎(chǔ)學(xué)科外,還要對數(shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)原理、編譯原理都要了解。驅(qū)動開發(fā)方面,建議先從簡單的入手,比如串口/并口/LED/矩陣鍵盤/IIC等,難一點(diǎn)再做PCI/USB等其他的。

3)操作系統(tǒng)層,對于操作系統(tǒng)層目前可能只能說是簡單的移植,而很少有人來自已寫操作系統(tǒng),或者寫出缺胳膊少腿的操作系統(tǒng)來,這部分工作大都由驅(qū)動工程師來完成。操作系統(tǒng)是負(fù)責(zé)系統(tǒng)任務(wù)的調(diào)試、磁盤和文件的管理,而嵌入式系統(tǒng)的實(shí)時性十分重要。據(jù)說,XP操作系統(tǒng)是微軟投入300人用兩年時間才搞定的,總時工時是600人年,因此這部分工作相對來講沒有太大意義。

4)應(yīng)用層,相對來講較為容易的,如果會在windows下如何進(jìn)行編程接口函數(shù)調(diào)用,到操作系統(tǒng)下只是編譯和開發(fā)環(huán)境有相應(yīng)的變化而已。如果涉及Jave方面的編程也是如此的。嵌入式系統(tǒng)中涉及算法的由專業(yè)算法的人來處理的,不必歸結(jié)到嵌入式系統(tǒng)范疇內(nèi)。

目前為止,我了解驅(qū)動開發(fā)的待遇都是非常高的,本科出來工作5-6年,一般待遇都10k左右!如果我們初學(xué)者想從事android手機(jī)驅(qū)動開發(fā),本科出來5-6年一般都會有15k月薪,研究生2-3經(jīng)驗(yàn)?zāi)敲匆灿?0k。

所以我建議大家先把字符設(shè)備驅(qū)動學(xué)好,后面把平臺總線驅(qū)動學(xué)好,接下來就可以接手android的手機(jī)驅(qū)動開發(fā)或者android驅(qū)動開發(fā)。

5、筆者:您做這么多項(xiàng)目,什么讓你感覺最有成就?感覺最艱難的項(xiàng)目是什么?您又是如何克服這些問題的呢?

aiku:我們【創(chuàng)科之龍】幾個隊(duì)友,做大大小小的項(xiàng)目應(yīng)該不下100個嵌入式的項(xiàng)目,在開發(fā)嵌入式的項(xiàng)目的過程中讓我們最有成就感的就是:積累豐富的項(xiàng)目經(jīng)驗(yàn)。

在做嵌入式項(xiàng)目中,最大的艱難就是眼看要交貨了,現(xiàn)在項(xiàng)目遇到技術(shù)瓶頸,解決好多天甚至一個月了,都沒有進(jìn)展。遇到這樣后,我一般都先網(wǎng)上查查,是不是有前輩有遇到跟我一樣的問題,如果有,那當(dāng)然好解決,如果沒有,那么我接下來要冷靜分析整個項(xiàng)目過程的思路,到底哪里出問題?為什么會出現(xiàn)這個問題?為什么會導(dǎo)致這樣問題?是什么原因?qū)е逻@樣的問題~?然后和隊(duì)友的一起談?wù)撘幌马?xiàng)目整個狀況。因?yàn)槊總€人的思維都不一樣,也許別人的思維就是可以解決我們現(xiàn)在遇到的問題,因此我還是要強(qiáng)調(diào)個人的力量是有限的,團(tuán)隊(duì)的力量是無窮的!

6、筆者:從事LINUX驅(qū)動或者是安卓驅(qū)動工作的話,初學(xué)者應(yīng)具備哪些專業(yè)技能呢?

aiku:1)學(xué)會寫簡單的makefile

2)編一應(yīng)用程序,可以用makefile跑起來

3)學(xué)會寫驅(qū)動的makefile

4)寫一簡單char驅(qū)動,makefile編譯通過,可以insmod,lsmod,rmmod.在驅(qū)動的init函數(shù)里打印helloworld,insmod后應(yīng)該能夠通過dmesg看到輸出。

5)寫一完整驅(qū)動,加上read,write,ioctl,polling等各種函數(shù)的驅(qū)動實(shí)現(xiàn)。在ioctl里完成從用戶空間向內(nèi)核空間傳遞結(jié)構(gòu)體的實(shí)現(xiàn)。

6)寫一block驅(qū)動,加上read,write,ioctl,poll等各種函數(shù)實(shí)現(xiàn)。

7)簡單學(xué)習(xí)下內(nèi)存管理,這個是最難的,明白各種memory、alloc的函數(shù)實(shí)現(xiàn)細(xì)節(jié)。這是Linux開發(fā)的基本功。

8)學(xué)習(xí)鎖機(jī)制的應(yīng)用,這個不是最難的但是最容易犯錯的,涉及到很多同步和并發(fā)的問題。

9)看內(nèi)核中實(shí)際應(yīng)用的驅(qū)動代碼。你會發(fā)現(xiàn)最基本的你已經(jīng)知道了,

大的框架都是一樣的,無非是read,write,ioctl等函數(shù)的實(shí)現(xiàn),但里面包含了很多很多細(xì)小的實(shí)現(xiàn)細(xì)節(jié)是之前不知道的。這時候就要考慮到很多別的問題而不僅僅是基本功能的實(shí)現(xiàn)。推薦您看2.6.20中integrated的一個驅(qū)動kvm,記得是在driver/lguest下,很好玩的,就是Linux下的虛擬機(jī)驅(qū)動,代碼不長,但功能強(qiáng)大。

7、筆者:安卓驅(qū)動開發(fā)需要學(xué)習(xí)安卓的framwork框架嗎?如果學(xué)習(xí)有什么好的建議。

aiku:Android的驅(qū)動開發(fā)不需要學(xué)習(xí)framwork框架;而framwork框架只是正對一些系統(tǒng)架構(gòu)人員開發(fā)的。

不管學(xué)習(xí)linux驅(qū)動還是學(xué)習(xí)android驅(qū)動開發(fā),它們的門檻都是比較高的,所以為什么說工作幾年的android驅(qū)動工程師動不動就年薪10w以上的原因。

因此,學(xué)習(xí)android的驅(qū)動最好的學(xué)習(xí)方法要找對人學(xué),要找對資料學(xué),最重要要找到目標(biāo)來學(xué)。

后記:很多人總說時間不夠,沒有時間去做想做的事情,這種時候你有沒有靜下心來思考過你是否真的有用心去做呢?時間就是海綿,擠一擠就有了。為了我們的青春無悔,珍惜時間,你會享受更好的生活。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

為增進(jìn)大家對嵌入式的認(rèn)識,本文將對嵌入式開發(fā)以及學(xué)習(xí)嵌入式需要注意的事項(xiàng)予以介紹。

關(guān)鍵字: 嵌入式 指數(shù) 嵌入式開發(fā)

中國上海,2025年4月7日 — 全球領(lǐng)先的嵌入式系統(tǒng)開發(fā)軟件解決方案供應(yīng)商IAR正式發(fā)布全新云就緒平臺,為嵌入式開發(fā)團(tuán)隊(duì)提供企業(yè)級的可擴(kuò)展性、安全性和自動化能力。該平臺于在德國紐倫堡舉辦的embedded world...

關(guān)鍵字: 自動化 嵌入式開發(fā) RISC-V

在嵌入式系統(tǒng)開發(fā)領(lǐng)域,VS Code(Visual Studio Code)作為一款輕量級但功能強(qiáng)大的代碼編輯器,正逐漸成為開發(fā)者的首選工具。本文將詳細(xì)介紹如何在VS Code上搭建嵌入式開發(fā)環(huán)境,并分享一些調(diào)試技巧。

關(guān)鍵字: VS Code 嵌入式開發(fā)

隨著汽車電子化、智能化程度的不斷提高,車載以太網(wǎng)(Automotive Ethernet)作為新一代車載網(wǎng)絡(luò)通信技術(shù),正逐漸成為汽車內(nèi)部通信的主干網(wǎng)絡(luò)。它以其高帶寬、低延遲和強(qiáng)抗干擾能力,為汽車提供了更加高效、可靠的數(shù)據(jù)...

關(guān)鍵字: 車載以太網(wǎng) 嵌入式開發(fā)

隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,嵌入式系統(tǒng)對實(shí)時性、低功耗和可擴(kuò)展性的要求越來越高。Zephyr RTOS(實(shí)時操作系統(tǒng))作為一款專為資源受限設(shè)備設(shè)計(jì)的開源RTOS,憑借其輕量級、模塊化和高可擴(kuò)展性,在嵌入式開發(fā)領(lǐng)域得到了廣泛...

關(guān)鍵字: 嵌入式開發(fā) Zephyr RTOS 物聯(lián)網(wǎng)

嵌入式開發(fā),作為電子工程和計(jì)算機(jī)科學(xué)交叉領(lǐng)域的重要分支,對于構(gòu)建穩(wěn)定、高效的軟件系統(tǒng)提出了獨(dú)特挑戰(zhàn)。本文將深入探討嵌入式開發(fā)的可靠方法論,結(jié)合實(shí)例與代碼,為開發(fā)者提供一套系統(tǒng)化的指導(dǎo)原則。

關(guān)鍵字: 嵌入式開發(fā) 計(jì)算機(jī)科學(xué)

嵌入式開發(fā),作為電子工程和計(jì)算機(jī)科學(xué)的交匯點(diǎn),對軟件系統(tǒng)的穩(wěn)定性和效率提出了極高的要求。本文將結(jié)合具體案例,深入探討嵌入式開發(fā)中的可靠方法論,為開發(fā)者提供一套系統(tǒng)化的指導(dǎo)原則。

關(guān)鍵字: 嵌入式開發(fā) 智能家居

在科技日新月異的今天,嵌入式開發(fā)作為連接硬件與軟件的橋梁,在物聯(lián)網(wǎng)、智能設(shè)備、工業(yè)自動化等領(lǐng)域扮演著至關(guān)重要的角色。對于許多技術(shù)愛好者而言,自學(xué)嵌入式開發(fā)既是一個充滿魅力的挑戰(zhàn),也是一條通往創(chuàng)新實(shí)踐的必由之路。然而,這條...

關(guān)鍵字: 嵌入式開發(fā) 物聯(lián)網(wǎng)

在科技日新月異的今天,嵌入式開發(fā)與Java開發(fā)作為軟件開發(fā)領(lǐng)域的兩大重要分支,各自展現(xiàn)出了獨(dú)特的發(fā)展軌跡和市場前景。近年來,關(guān)于嵌入式開發(fā)是否會像Java開發(fā)一樣“卷”的討論日益增多,這背后既反映了市場對技術(shù)趨勢的敏銳洞...

關(guān)鍵字: 嵌入式開發(fā) Java開發(fā)

現(xiàn)在在嵌入式開發(fā)MCU中,八塊MCU仍占據(jù)三分之一以上的份額,在工業(yè)控制,安全,物聯(lián)網(wǎng),消費(fèi)電子等諸多領(lǐng)域,八塊MCU依然隨處可見。

關(guān)鍵字: 嵌入式開發(fā) MCU
關(guān)閉