第一篇:嵌入式研發(fā)需要學(xué)習(xí)什么 (轉(zhuǎn)貼)
嵌入式研發(fā)需要學(xué)習(xí)什么(轉(zhuǎn)貼)
來(lái)源: ChinaUnix博客作者: ChinaUnix博客發(fā)布時(shí)間:2007-01-02
嵌入式研發(fā)需要學(xué)習(xí)什么(轉(zhuǎn)貼)
這是個(gè)初學(xué)者常問(wèn)的問(wèn)題,也是初學(xué)者問(wèn)嵌入式該如何入門(mén)的根源。我感覺(jué)有兩個(gè)方面,偏硬和偏軟.我不認(rèn)為嵌入式研發(fā)
軟件占絕對(duì)比重,相反,軟件和硬件都懂,才是嵌入式高手所應(yīng)該追求的,也是高手的必由之路。硬件道路:
第一步: pcb設(shè)計(jì),一般為研發(fā)板的電路裁減和擴(kuò)充,由研發(fā)板原理圖為基礎(chǔ),畫(huà)出PCB和封裝庫(kù),設(shè)計(jì)自己的電路。
第二步: SOPC技術(shù),一般為FPGA,CPLD研發(fā),利用VHDL等硬件描述語(yǔ)言做專用芯片研發(fā),寫(xiě)出自己的邏輯電路,基于ALTER或XILINUX的FPGA做研發(fā)。
第三步: SOC設(shè)計(jì),分前端,后端實(shí)現(xiàn),這是硬件設(shè)計(jì)的核心技術(shù):芯片設(shè)計(jì).能做到這步,已不屬于平凡的技術(shù)人員。
軟件道路:
第一步:bootloader的編寫(xiě),修改, 通過(guò)這步熟悉ARM硬件結(jié)構(gòu),學(xué)習(xí)ARM匯編語(yǔ)言,閱讀ARM的芯片手冊(cè),感覺(jué)就是像操作
51單片機(jī)相同操作ARM芯片.這一步最好的兩個(gè)參考資料就是:芯片手冊(cè)和bootloader源代碼。
第二步:系統(tǒng)移植, 驅(qū)動(dòng)研發(fā), 我只做過(guò)linux方向,所以也推薦學(xué)習(xí)嵌入式linux系統(tǒng),作為標(biāo)準(zhǔn)體系,他開(kāi)源而且能夠
獲得大量學(xué)習(xí)資料.操作系統(tǒng)是整個(gè)電腦科學(xué)的核心,熟悉 kernel實(shí)屬不易,kernel, 驅(qū)動(dòng)研發(fā)的學(xué)習(xí),沒(méi)有什么捷徑,只有多讀代碼,多寫(xiě)代碼,熟悉系統(tǒng)API..understanding linux kernel , linux device driver 都是不可多得的好書(shū),值得一看。
第三步:應(yīng)用程式的編寫(xiě),各種GUI的移植,qt , minigui都被大量采用,兩種思想都類似,熟悉一種就能夠。
軟件道路中,驅(qū)動(dòng),系統(tǒng)應(yīng)該是最深入的部分,不是短時(shí)間能夠掌控的,需要有勇氣和耐心。嵌入式研發(fā),軟硬結(jié)合,因?yàn)橛布l件比PC差很多,所以肯定會(huì)遇見(jiàn)不少問(wèn)題,因此實(shí)踐的勇氣更加重要.有問(wèn)題就解決問(wèn)題,無(wú)數(shù)次的實(shí)驗(yàn),也許是解決問(wèn)題的必由之路。
大家有什么意見(jiàn),能夠討論一下?。。?!
第二篇:嵌入式研發(fā)工程師崗位職責(zé)
1.領(lǐng)導(dǎo)本部門(mén)實(shí)施產(chǎn)品開(kāi)發(fā)、研制工作,制訂開(kāi)發(fā)計(jì)劃。
2.執(zhí)行方案,并進(jìn)行產(chǎn)品鑒定,生產(chǎn)轉(zhuǎn)化,技術(shù)規(guī)范制定工作。
3.積極關(guān)注行業(yè)發(fā)展動(dòng)態(tài),積累研發(fā)素材。
4.總結(jié)產(chǎn)品研發(fā)經(jīng)驗(yàn),持續(xù)改進(jìn)產(chǎn)品性能。
5.主持產(chǎn)品技術(shù)轉(zhuǎn)化和制造技術(shù)交底工作。
6.為產(chǎn)品的投標(biāo)提供技術(shù)支持。
7.為代理商與合作伙伴的產(chǎn)品提供技術(shù)支持。
8.根據(jù)用戶或公司其他部門(mén)的要求進(jìn)行設(shè)計(jì)修改和設(shè)計(jì)改進(jìn)。
第三篇:學(xué)習(xí)嵌入式Linux需要具備哪些基礎(chǔ)知識(shí)
隨著嵌入式LINUX越來(lái)越火,很多同學(xué)都打算加入到嵌入式LINUX的學(xué)習(xí)隊(duì)伍中來(lái).給很多人的印象,嵌入式linux很難,技術(shù)要求很高,那么,學(xué)習(xí)嵌入式LINUX開(kāi)發(fā)需要具備哪些基礎(chǔ)知識(shí)呢?
下面我就結(jié)合我的經(jīng)驗(yàn)給大家分析一下,希望能對(duì)大家有所幫助.1,C語(yǔ)言.整個(gè)嵌入式系統(tǒng)核心部分,除了底層有一小段是匯編程序外,其它基本都是C語(yǔ)言實(shí)現(xiàn)的.因此,C語(yǔ)言的重要性就可想可而知了.掌握好C語(yǔ)言是學(xué)習(xí)嵌入式開(kāi)發(fā)的第一步,也是最重要的一步.2,計(jì)算機(jī)組成原理,接口技術(shù)和操作系統(tǒng)原理.對(duì)這些知識(shí)理解得越深,你就能越容易理解與掌握嵌入式LINUX系統(tǒng)開(kāi)發(fā)的相關(guān)知識(shí)和理論.需要說(shuō)明的是,在學(xué)習(xí)這些知識(shí)時(shí),有一點(diǎn)要注意,不要陷入到太深的理論里面去了出不來(lái).在這一點(diǎn)上,我覺(jué)得成都亞嵌的做法非常好,他們建議學(xué)員把這些東西當(dāng)小說(shuō)來(lái)看,從而使枯燥的知識(shí)變得有趣, 同時(shí)盡力把這些理論轉(zhuǎn)換成自己的理解和闡述,能做到這一點(diǎn),就夠了.3,具備一定的硬件知識(shí).這些知識(shí)是做底層軟件開(kāi)發(fā)所需要的.在涉及到底層硬件相關(guān)的軟件開(kāi)發(fā)(比如驅(qū)動(dòng)開(kāi)發(fā),bootloader開(kāi)發(fā)等)的時(shí)候,我們需要看得懂電路原理圖和時(shí)序圖,此外,最好還要會(huì)使用示波器和萬(wàn)用表之類的儀器.很多非電子專業(yè)的同學(xué)可能不會(huì)使用這些儀器, 沒(méi)關(guān)系,有條件的話可以到成都亞嵌來(lái),成都亞嵌不但有,而且還都是工程級(jí)的,值得一提的是,成都亞嵌還可以教你焊接,很過(guò)癮的說(shuō)!很多嵌入式培訓(xùn)好像都沒(méi)有示波器和萬(wàn)用表, 在這方面,成都亞嵌非常專業(yè),他們不但有,而且還都是工程級(jí)的,很爽很專業(yè)的那種!基本而言,學(xué)習(xí)嵌入式LINUX技術(shù)開(kāi)發(fā)需要這些基礎(chǔ)知識(shí),說(shuō)著簡(jiǎn)單做著難,大家在嵌入式LINUX學(xué)習(xí)準(zhǔn)備過(guò)程中如果有什么問(wèn)題,也可以加我(QQ:228456590),我可以給大家一些資料,從而少走一些彎路。
第四篇:嵌入式學(xué)習(xí)路線
語(yǔ)言基礎(chǔ) 1.C 與 C++ A.《c reference》 B.《c++ 編程思想》 C.《effective c++》 D.《more effective c++》 E.《effective c++ stl》 2.軟件設(shè)計(jì) A.《UML 2.0 Reference》 B.《設(shè)計(jì)模式-可復(fù)用的面向?qū)ο筌浖幕A(chǔ)》 C.《重構(gòu)》 D.《修改代碼的藝術(shù)》 E.《面向模式的軟件體系結(jié)構(gòu)》卷 1,卷 2,卷 3,卷 4,卷 5 3.Linux 開(kāi)發(fā)基礎(chǔ) A.《鳥(niǎo)哥的 linux 私房菜》 B.《GNU make reference》 C.《Shell 編程》 D.《unix 高級(jí)環(huán)境編程》 E.《linux kernel development》 F.《深入理解 Linux 內(nèi)核》 G.《Linux 驅(qū)動(dòng)程序開(kāi)發(fā)》 H.《Unix 網(wǎng)絡(luò)編程》 I.《Linux 進(jìn)程間通信》 4.嵌入式開(kāi)發(fā)基礎(chǔ) A.《ARM 體系結(jié)構(gòu)》 B.《ARM 程序分析與設(shè)計(jì)》 C.《ARM 嵌入式系統(tǒng)基礎(chǔ)教材》周立功 D.《嵌入式操作系統(tǒng)μC/OS》 E.《嵌入式 Linux 基礎(chǔ)教材》 F.《嵌入式系統(tǒng)設(shè)計(jì)》 G.《嵌入式硬件設(shè)計(jì)》 H.《Qt4 圖形設(shè)計(jì)與嵌入式系統(tǒng)開(kāi)發(fā)》 I.《嵌入式系統(tǒng)中的實(shí)時(shí)概念》 J.《實(shí)時(shí)設(shè)計(jì)模式》 5.專業(yè)選看 A.FPGA 設(shè)計(jì) B.《高性能嵌入式計(jì)算》 C.數(shù)字圖像處理,視頻編解碼基礎(chǔ) MPEG4,H.264,AVS D.Android,iphone,symbian 開(kāi)發(fā)。
第五篇:嵌入式學(xué)習(xí)之路
1、必須認(rèn)真學(xué)習(xí)一個(gè)操作系統(tǒng)
(例如從UC/OSII 到 Linux)
2、必須熟悉TCP/IP網(wǎng)絡(luò)協(xié)議
(現(xiàn)在的嵌入式產(chǎn)品與網(wǎng)絡(luò)的聯(lián)系越來(lái)越緊密,融入網(wǎng)絡(luò)是必然趨勢(shì))
3、必須認(rèn)真的學(xué)習(xí)一款CPU的工作原理
(例如現(xiàn)在地球人都知道的ARM)
4、必須親自設(shè)計(jì)一款嵌入式產(chǎn)品
從方案的選擇到原理圖的繪制,從PCB的繪制到硬件的調(diào)試。
學(xué)習(xí)內(nèi)容
1.主流嵌入式微處理器的結(jié)構(gòu)與原理 如:ARM PowerPC MIPS Motorola68k 2.
必須掌握一個(gè)嵌入式操作系統(tǒng)
如:VxWork uc/os II
uLinux Linux WinCE XPE 3.
必須熟悉嵌入式軟件開(kāi)發(fā)流程 4.
至少做過(guò)一個(gè)嵌入式軟件項(xiàng)目
如:數(shù)字圖象壓縮技術(shù)----MEPG編解碼算法和技術(shù) 通信協(xié)議及編程技術(shù)----TC
TCP/IP和無(wú)線通信協(xié)議、無(wú)線局域網(wǎng)通信協(xié)議802.11 移動(dòng)通信CD 網(wǎng)
網(wǎng)絡(luò)信息安全技術(shù)
書(shū)目開(kāi)列 基礎(chǔ)
〈〈LINUX命令行、編輯器與SHELL編程〉〉 《linux命令大全.pdf》
編程
《C語(yǔ)言》第二版 譚浩強(qiáng)
《GNU Make 使用手冊(cè)(中譯版).pdf》 〈〈精通UNIX SHELL 編程〉〉 《LINUX編程24學(xué)時(shí)教程》 〈〈LINUX應(yīng)用程序開(kāi)發(fā)〉〉 〈〈LINUX程序設(shè)計(jì)〉〉 〈〈LINUX C函數(shù)庫(kù)參考手冊(cè)〉〉 <
原理
《數(shù)據(jù)結(jié)構(gòu)》 〈〈算法導(dǎo)論〉〉 〈〈計(jì)算機(jī)組成原理〉〉 〈〈操作系統(tǒng)原理〉〉 〈〈離散數(shù)學(xué)結(jié)構(gòu)〉〉
系統(tǒng)
《嵌入式實(shí)時(shí)操作系統(tǒng)uC/OS-!》 《linux內(nèi)核完全注釋》
《understanding the linux kernel 2》 <
<
《Linux設(shè)備驅(qū)動(dòng)程序》 〈〈ARM嵌入式LINUX系統(tǒng)構(gòu)建與驅(qū)動(dòng)開(kāi)發(fā)〉〉
硬件
微機(jī)原理、數(shù)字電路原理、模擬電路原理、單片微機(jī)原理、常見(jiàn)的硬件接口技術(shù) PROTEL,KEIL,AUTOCAD ARM嵌入式系統(tǒng)系列教程—北航 《ARM嵌入式系統(tǒng)基礎(chǔ)教程》 《ARM嵌入式實(shí)驗(yàn)教程
(一)》 《ARM嵌入式實(shí)驗(yàn)教程
(二)》 《ARM嵌入式實(shí)驗(yàn)教程
(三)》 《ARM嵌入式系統(tǒng)學(xué)習(xí)指導(dǎo)》
《ARM嵌入式系統(tǒng)軟件開(kāi)發(fā)實(shí)例
(一)》 《ARM嵌入式系統(tǒng)軟件開(kāi)發(fā)實(shí)例
(二)》
網(wǎng)絡(luò)
〈〈TCP/IP詳解〉〉 〈〈UNIX網(wǎng)絡(luò)編程(第一卷)套接口API〉〉 〈〈UNIX網(wǎng)絡(luò)編程(第二卷)進(jìn)程間通信〉〉 ///////////////////////////////////////////////////// 學(xué)習(xí)階段
第一階段
1.精通單片機(jī),包括A51匯編語(yǔ)言與C51語(yǔ)言,常用的外圍電路,硬件接口 2.
精通電路分析,模電,數(shù)電 3.
精通PROTEL的使用
4.掌握LINUX基礎(chǔ),包括LINUX命令,SHELL編程,C編程,GNU MAKE的使用 5.
分析UC/OS II的源代碼
用書(shū)
《單片機(jī)原理與接口技術(shù)》 〈〈MCS-51系列單片機(jī)實(shí)用接口技術(shù)〉〉 〈〈電路分析〉〉 〈〈模電〉〉 〈〈數(shù)電〉〉 〈〈信號(hào)與系統(tǒng)〉〉 〈〈PROTEL〉〉 〈〈LINUX命令行、編輯器與SHELL編程〉〉 《linux命令大全.pdf》
《GNU Make 使用手冊(cè)(中譯版).pdf》 〈〈精通UNIX SHELL 編程〉〉 《LINUX編程24學(xué)時(shí)教程》 〈〈LINUX應(yīng)用程序開(kāi)發(fā)〉〉 〈〈LINUX程序設(shè)計(jì)〉〉 〈〈LINUX C函數(shù)庫(kù)參考手冊(cè)〉〉
《嵌入式實(shí)時(shí)操作系統(tǒng)uC/OS-!》
第二階段
1.精通原理,包括計(jì)算機(jī)組成原理,操作系統(tǒng)原理,數(shù)據(jù)結(jié)構(gòu)與算法
2.精通LINUX編程,包括串口通信編程,多進(jìn)程程序,多線程,任務(wù)管理,步,網(wǎng)絡(luò)編程,QT GUI編程字符和塊設(shè)備驅(qū)動(dòng)程序 建立文件系統(tǒng)等等 3.
再次分析UC/OS II的源代碼
用書(shū)
《數(shù)據(jù)結(jié)構(gòu)》 〈〈算法導(dǎo)論〉〉 〈〈計(jì)算機(jī)組成原理〉〉 〈〈操作系統(tǒng)原理〉〉 〈〈離散數(shù)學(xué)結(jié)構(gòu)〉〉 <
第三階段
1.再次深入分析操作系統(tǒng) 2.
分析LINUX內(nèi)核
用書(shū)
〈〈operating system concepts>> 《操作系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》
<
通信同 《linux內(nèi)核完全注釋》
<
1.熟悉網(wǎng)絡(luò) 2.
ARM學(xué)習(xí)
用書(shū)
〈〈TCP/IP詳解〉〉 〈〈UNIX網(wǎng)絡(luò)編程(第一卷)套接口API〉〉 〈〈UNIX網(wǎng)絡(luò)編程(第二卷)進(jìn)程間通信〉〉 ARM嵌入式系統(tǒng)系列教程—北航
第五階段
1.驅(qū)動(dòng)開(kāi)發(fā)
《Linux設(shè)備驅(qū)動(dòng)程序》〈〈ARM嵌入式LINUX系統(tǒng)構(gòu)建與驅(qū)動(dòng)開(kāi)發(fā)〉〉
軟件
精通51匯編及C51編程,具有獨(dú)立大型工程項(xiàng)目硬件底層編程經(jīng)驗(yàn)
熟悉Linux操作系統(tǒng),能進(jìn)行相關(guān)操作熟練使用Linux下的開(kāi)發(fā)環(huán)境(如:vi,emacs,gcc,cvs,gdb,kDevelop等)進(jìn)行網(wǎng)絡(luò),數(shù)據(jù)庫(kù)、多媒體等開(kāi)發(fā)精通嵌入式Linux下的C/C++及匯編語(yǔ)言開(kāi)發(fā),會(huì)使用軟件版本控制軟件,如CVS、VSS等熟悉MicroWindows,QT,MiniGUI等一種Linux圖形界面程序編程機(jī)制與技巧有Linux設(shè)備驅(qū)動(dòng)編程、嵌入式操作系統(tǒng)的移植、Linux應(yīng)用程序編寫(xiě)
系統(tǒng)
熟悉Linux,Vxworks,WinCE,uCOS等至少一種嵌入式操作系統(tǒng) 熟悉嵌入式開(kāi)發(fā)的基本流程
處理器
熟悉ARM7/ARM9處理器,要求在該處理器上編寫(xiě)過(guò)代碼 熟悉SAMSUNG、PHILIPS、ATMEL等主流ARM應(yīng)用設(shè)計(jì) 精通ARM ADS調(diào)試開(kāi)發(fā)環(huán)境等工具
網(wǎng)絡(luò)通信
熟悉紅外、無(wú)線、以太網(wǎng)、GPRS/CDMA及RS485等多種接口的通訊 了解計(jì)算機(jī)通訊協(xié)議,有TCP/IP等協(xié)議編程能力
硬件
熟悉微機(jī)原理、數(shù)字電路原理、模擬電路原理、單片微機(jī)原理 精通常見(jiàn)的硬件接口技術(shù)
熟悉Protel,AutoCad等設(shè)計(jì)工具的使用 補(bǔ)充
要想成為高手中的高手,最好從鉆研如下領(lǐng)域修煉: 1,分析一種RTOS的源代碼--UCOS最容易;2,分析一種通訊協(xié)議棧的實(shí)現(xiàn)方式--TCP/IP最實(shí)用;3,精通一種DSP的開(kāi)發(fā)集成環(huán)境--TI CCS2.1最優(yōu)秀,精華在其內(nèi)帶的RTOS;4,精通一種單片機(jī)的開(kāi)發(fā)集成環(huán)境--keil C最經(jīng)典;5,精通一種MCU的開(kāi)發(fā)集成環(huán)境--ADS 1.2最流行;要想成為大師級(jí)人物再?gòu)娜缦骂I(lǐng)域開(kāi)始修煉: 1,精通一種系統(tǒng)建模語(yǔ)言和工具--Telelogic tau SDL/UML suit最經(jīng)典;2,精通一種算法仿真工具--Matlab simulink 最便宜;要想檢驗(yàn)一下自己是否到達(dá)了至尊級(jí)人物,可以做如下的事:
動(dòng)手搭建一套紅外或者藍(lán)牙通訊原型系統(tǒng),模擬前端可以用現(xiàn)成的,基帶用DSP,主控用個(gè)32BMCU,DSP和協(xié)議軟件自己寫(xiě)。當(dāng)然不可能做全,做個(gè)子集就可以了。如果能到這個(gè)地步,打住吧,該改行去做市場(chǎng)了。做個(gè)一、二年市場(chǎng),你不自己去創(chuàng)個(gè)業(yè)就太浪費(fèi)了