第一篇:嵌入式系統學習心得
篇一:嵌入式心得體會
這學期才接觸嵌入式系統感覺還稱不上入門,我通過學習知道了嵌入式的發展前景很大,各個領域都用到了嵌入式,學好嵌入式不愁沒飯吃。
廣義上講,凡是帶有微處理器的專用軟硬件系統都是嵌入式系統。如各類單片機和dsp系統。從狹義上講,那些使用嵌入式微處理器構成獨立系統,具有自己操作系統,具有特定功能,用于特定場合的專用軟硬件系統稱為嵌入式系統。嵌入式系統由嵌入式硬件與嵌入式軟件組成;嵌入式硬件以芯片、模板、組件、控制器形式埋藏于設備內部。
理解“嵌入”的概念 主要從三個方面上來理解。
1、從硬件上,將基于cpu的處圍器件,整合到cpu芯片內部,比如早期基于x86體系結構下的計算機,cpu只是有運算器和累加器的功能,一切芯片要造外部橋路來擴展實現,象串口之類的都是靠外部的16c550/2的串口控制器芯片實現,而目前的這種串口控制器芯片早已集成到cpu內部,還有pc機有顯卡,而多數嵌入式處理器都帶有lcd控制器,但其種意義上就相當于顯卡。比較高端的arm類intel xscale架構下的ixp網絡處理器cpu內部集成pci控制器(可配成支持4個pci從設備或配成自身為cpi從設備);還集成3個npe網絡處理器引擎,其中兩個對應于兩個mac地址,可用于網關交換用,而另外一個npe網絡處理器引擎支持dsl,只要外面再加個phy芯片即可以實現dsl上網功能。ixp系列最高主頻可以達到1.8g,支持2g內存,1g×10或10g×1的以太網口或febre channel的光通道。ixp系列應該是目標基于arm體系統結構下由intel進行整合后成xscale內核的最高的處理器了。
2、從軟件上前,就是在定制操作系統內核里將應用一并選入,編譯后將內核下載到rom中。而在定制操作系統內核時所選擇的應用程序組件就是完成了軟件的“嵌入”,比如wince在內核定制時,會有相應選擇,其中就是wordpad,pdf,mediaplay等等選擇,如果我們選擇了,在ce啟動后,就可以在界面中找到這些東西,如果是以前pc上將的windows操作系統,多半的東西都需要我們得新再裝。
3、把軟件內核或應用文件系統等東西燒到嵌入式系統硬件平臺中的rom中就實現了一個真正的“嵌入”。
嵌入式系統分為4層,硬件層、驅動層、操作系統層和應用層
1、硬件層,是整個嵌入式系統的根本,如果現在單片機及接口這塊很熟悉,并且能用c和匯編語言來編程的話,從嵌入式系統的硬件層走起來相對容易,硬件層也是驅動層的基礎,一個優秀的驅動工程師是要能夠看懂硬件的電路圖和自行完成cpld的邏輯設計的,同時還要對操作系統內核及其調度性相當的熟悉的。但硬件平臺是基礎,增值還要靠軟件。硬件層比較適合于,電子、通信、自動化、機電一體、信息工程類專業的人來搞,需要掌握的專業基礎知識有,單片機原理及接口技術、微機原理及接口技術、c語言。
2、驅動層,這部分比較難,驅動工程師不僅要能看懂電路圖還要能對操作系統內核十分的精通,以便其所寫的驅動程序在系統調用時,不會獨占操作系統時間片,而導至其它任務不能動行,不懂操作系統內核架構和實時調度性,沒有良好的驅動編寫風格,按大多數書上所說添加的驅動的方式,很多人都能做到,但可能連個初級的驅動工程師的水平都達不到,這樣所寫的驅動在應用調用時就如同windows下我們打開一個程序運行后,再打開一個程序時,要不就是中斷以前的程序,要不就是等上一會才能運行后來打開的程序。想做個好的驅動人員沒有三、四年功底,操作系統內核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統四層中可是最高的。
驅動層比較適合于電子、通信、自動化、機電一體、信息工程類專業尤其是計算機偏體系結構類專業的人來搞,除硬件層所具備的基礎學科外,還要對數據結構與算法、操作系統原理、編譯原理都要十分精通了解。
3、操作系統層,對于操作系統層目前可能只能說是簡單的移植,而很少有人來自已寫操
作系統,或者寫出缺胳膊少腿的操作系統來,這部分工作大都由驅動工程師來完成。操作系統是負責系統任務的調試、磁盤和文件的管理,而嵌入式系統的實時性十分重要。據說,xp操作系統是微軟投入300人用兩年時間才搞定的,總時工時是600人年,中科院軟件所自己的女媧hopen操作系統估計也得花遇幾百人年才能搞定。因此這部分工作相對來講沒有太大意義。
4、應用層,相對來講較為容易的,如果會在windows下如何進行編程接口函數調用,到操作系統下只是編譯和開發環境有相應的變化而已。如果涉及java方面的編程也是如此的。嵌入式系統中涉及算法的由專業算法的人來處理的,不必歸結到嵌入式系統范疇內。但如果涉及嵌入式系統下面嵌入式數據庫、基于嵌入式系統的網絡編程和基于某此應用層面的協議應用開發(比如基于sip、h.323、astrisk)方面又較為復雜,并且有難度了。
通過網上查詢我發現目前國內外這方面的人都很稀缺。一方面,是因為這一領域入門門檻較高,不僅要懂較底層軟件(例如操作系統級、驅動程序級軟件),對軟件專業水平要求較高(嵌入式系統對軟件設計的時間和空間效率要求較高),而且必須懂得硬件的工作原理,所以非專業it人員很難切入這一領域;另一方面,是因為這一領域較新,目前發展太快,很多軟硬件技術出現時間不長或正在出現(如arm處理器、嵌入式操作系統等),掌握這些新技術的人當然很少。嵌入式人才稀缺,身價自然就高,越有經驗價格就越高。其實嵌入式人才稀少,根本原因可能是大多數人無條件接觸,這需要相應的嵌入式開發板和軟件,另外需要有經驗的人進行指導開發流程。我們軟件系的人學習嵌入式,顯然應偏重于嵌入式軟件,特別是嵌入式操作系統方面。對于搞嵌入式軟件的人,最重要的技術顯然是掌握主流嵌入式微處理器的結構與原理,必須掌握一個嵌入式操作系統,必須熟悉嵌入式軟件開發流程并至少做過一個嵌入式軟件項目。
然而我們都沒有做過一個嵌入式軟件項目,甚至連嵌入式的開發流程我也不清楚,我只了解了使用簡單工具做一個簡單的實驗。只有去專研才能在嵌入式的領域站住腳,只有知道的比別人多才會更有競爭力。通過網上了解,我查詢了嵌入式的入門和所需要的知識,其中c語言尤為重要,不管是做嵌入式軟件還是硬件開發的人員,對c語言的掌握這個是必需的,特別是對于以后致力于嵌入式軟件開發的人,現在絕大部分都是用c語言。其次,應該對操作系統有所了解,這對你對硬件和軟件的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如進程、線程,系統如何來分配資源的,系統如何來管理硬件的;知道了c語言和操作系統之后,再來看看嵌入式系統,我們主要學的是arm,用的是arm7,深入理解arm不是件容易的事,只有在知道arm相關知識之后才能稱得上嵌入式已經入門了。與嵌入式有關的知識我也學了不少就是不能夠綜合在一起運用,組成原理,數據結構,操作系統,c++,這3門與嵌入式密切相關的學科都系統的學了一遍,但由于長時間沒用到都有點忘記了,從網上得知嵌入式的學習與這些書有很大關系之后,我把嵌入式與以前學過的知識結合起來發現嵌入式的實驗中很多都是共通的,我對嵌入式有了初步的理解。
我以為學習嵌入式應該分為2個部分:軟件和硬件。關于硬件方面我接觸到了數字電路教材和模擬電路方面的知識,但由于沒有嵌入式cpu很難親自動手來實現嵌入式的相關理論;嵌入式入門則需要不斷地實驗與分析,我只在實驗課時做幾個與所給的程序相關的小程序來實現一下;而軟件方面則學過c語言,里面通常的語法曾今熟悉過;我通過下列方法來適應c語言在嵌入式中應用:首先重新翻看了下c的教材,看了些常見的語法,接著在編譯器的角度來看待c,編譯原理我剛學過,其中將高級語言與低級語言的翻譯感覺在嵌入式中用到了很多;最后沖硬件的角度來看待c。嵌入式的核心包括嵌入式操作系統,嵌入式軟件開發平臺及工具以及嵌入式應用軟件。這些決定怎樣才能開發一個好的嵌入式系統。下面談談我了解的嵌入式的相關知識與應用:
首先,嵌入式系統是以應用為中心,以計算機技術為基礎,且軟硬件可裁減,適應應
用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。嵌入式有如下幾個突出的有點1.系統內核小,2專用性強,3系統精簡4高實時性os5嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行,6嵌入式系統需要開發工具和環境。
嵌入式系統是近幾年才風靡起來的,但是這個概念并非新近才出現。從20世紀七十年代單片機(最早的單片機是intel公司的 8048,出現在1976年)的出現到今天各式各樣的嵌入式微處理器,微控制器的大規模應用,嵌入式系統已經有了近30年的發展歷史。經過30年的發展,嵌入式技術已經日趨成熟,在中國嵌入式機一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用于實現對其他設備的控制、監視或管理等功能。
其次,嵌入式系統無疑是當前最熱門最有發展前途的it應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。嵌入式系統是軟硬結合的學科,通常有兩類人會去專研嵌入式:一類是學電子工程、通信工程等偏硬件專業的,另一類是學軟件、計算機專業出身的人,主要從事嵌入式操作系統和應用軟件的開發。我是軟件專業的學習嵌入式,越是智能設備越是復雜系統,軟件越起關鍵作用,而且這是目前的趨勢。嵌入式應用在很多方面,具體的可以分為工業控制,交通管理,信息家電,家庭智能管理系統,pos網絡及電子商務,環境工程與自然,機器人,機電產品方面應用等方面。其中目前在服務領域,如遠程點菜器等已經體現了嵌入式系統的優勢。例外還有很多地方用到了嵌入式系統,最近飛利浦和arm共同推出32位risc嵌入式控制器,適用于工業控制,采用最先進的0.18微米cmos嵌入式閃存處理技術,操作電壓可以低至1.2伏,它還能降低25%到30%的制造成本,在工業領域中對最終用戶而言是一套極具成本效益的解決方案。
那么該如何學好嵌入式我覺得應該從以下幾點入手:
首先c語言,這個是毋庸置疑的,不管是做嵌入式軟件還是硬件開發的人員,對c語言的掌握這個是必需的,特別是對于以后致力于嵌入式軟件開發的人,現在絕大部分都是用c語言,你說不掌握它可以嗎?至于如何學習c語言,我想這些基礎的知識每個人都有自己的方法,關鍵要去學習,看書也好,網上找些視頻看也好。很多人會問,c語言要學到怎么樣,我覺得這沒有標準的答案。我想至少你在明白了一些基礎的概念后,就該寫代碼了,動手才是最重要的,當你動手了,遇到問題了,再反過來學習,反過來查查課本,那時的收獲就不是你死看書能得到的。
其次,應該對操作系統有所了解,這對你對硬件和軟件的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如進程、線程,系統如何來分配資源的,系統如何來管理硬件的,當然,不是看書就能把這些理解透,如果不是一時能理解,沒關系,多看看,結合以后的項目經驗,會有更好的理解的。
還有應該學習下linux或者wince下的編程,這些對以后做應用的編程很有幫助,當然,如果做手機的話,那可以學習mtk、塞班、android等操作系統,android是以后發展的趨勢,現在很熱門,android也是基于linux系統封裝的,所以建議先學習下linux。
還有,應該學習下單片機或者arm或者mips,很多人說我沒有單片機的經驗,直接學arm可以嗎?我覺得那完全沒有問題的,當然如果你學習過單片機,那最好不過了,以后學習arm就更簡單了。
最后如果你把以上的知識都有所了解后,就該去閱讀閱讀一些優秀的代碼,比如結合arm芯片手冊學習去學習下uboot的源代碼,了解下最小的系統開發,那對你整個嵌入式開發的非常有幫助的,可以的話,還可以學習下linux的源代碼,當然如果你直接閱讀2.6的代碼,我想你會很痛苦的,可以先看看linux 代碼早期的版本,比如0.12 的代碼等等,麻雀雖
小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。
以上就是我在本學期學習嵌入式后的心得及感想。篇二:嵌入式學習總結
一.為什么學習嵌入式?
1.就業前景
近幾年,嵌入式系統產品日臻完善,并在全世界各行業得到廣泛應用。嵌入式系統產品的研制和應用已經成為我國信息化帶動工業化、工業化促進信息化發展的新的國民經濟增長點。
隨著消費家電的智能化,嵌入式更顯重要。像我們平常見到的手機、pda、電子字典、可視電話、vcd/dvd/mp3player、數字相機(dc)、數字攝像機(dv)、u-disk、機頂盒(set top box)、高清電視(hdtv)、游戲機、智能玩具、交換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等等,都是典型的嵌入式系統。據預測,隨著internet的迅速發展和廉價微處理器的出現,嵌入式系統將在日常生活里形成更大的應用領域。
在中國,嵌入式軟件發展過程中,政府已充分認識到它的重要作用,并在政策、資金等方面給予了大力支持。2004 年國家發改委、科技部、商務部聯合頒布的《當前優先發展的高技術產業化重點領域指南》,把嵌入式軟件產業作為國家發展的一個重要領域。
最近幾年來,中國的嵌入式軟件發展速度一直高于中國軟件產業的發展速度和全球嵌入式軟件的發展速度,在中國軟件產業和全球嵌入式軟件產業中所占的比重越來越大。目前,中國嵌入式軟件產業在整個軟件產業中的比重已經超過了三分之一強。從2006年至2010年,中國嵌入式軟件產業規模仍將保持快速增長態勢,年均復合增長率為25.8%,到2010年將達到3339.6億元的規模。
中國嵌入式軟件產業的發展面臨著良好的發展環境與機遇,這包括政府的重視與扶植、信息產業與傳統產業的融合機遇、壟斷局面尚未形成、中國制造的良好基礎、自由軟件運動的興起等等。
同時,不可否認的是長期以來,由于人才、宣傳、資金等諸多問題以及嵌入式本身所特有的軟硬結合特性,使嵌入式軟件人才一直處于供不應求的狀態。
2.自身發展
嵌入式系統是軟硬結合的東西,搞嵌入式開發的人有兩類。
一類是學電子工程、通信工程等偏硬件專業出身的人,他們主要是搞硬件設計,有時要開發一些與硬件關系最密切的最底層軟件,如bootloader、board support package(像pc的bios一樣,往下驅動硬件,往上支持操作系統),最初級的硬件驅動程序等。他們的優勢是對硬件原理非常清楚,不足是他們更擅長定義各種硬件接口,但對復雜軟件系統往往力不從心(例如嵌入式操作系統原理和復雜應用軟件等)。
另一類是學軟件、計算機專業出身的人,主要從事嵌入式操作系統和應用軟件的開發。如果我們學軟件的人對硬件原理和接口有較好的掌握,我們完全也可寫bsp和硬件驅動程序。嵌入式硬件設計完后,各種功能就全靠軟件來實現了,嵌入式設備的增值很大程度上取決于嵌入式軟件,這占了嵌入式系統的最主要工作(目前有很多公司將硬件設計包給了專門的硬件公司,稍復雜的硬件都交給臺灣或國外公司設計,國內的硬件設計力量很弱,很多嵌入式公司自己只負責
開發軟件,因為公司都知道,嵌入式產品的差異很大程度在軟件上,在軟件方面是最有“花頭“可做的),所以我們搞軟件的人完全不用擔心我們在嵌入式市場上的用武之地,越是智能設備越是復雜系統,軟件越起關鍵作用,而且這是目前的趨勢。
二.怎樣學習嵌入式?
1.arm嵌入式開發領域
包括什么?
軟件開發
操作系統以下的底層偏硬件驅動
在簡單操作系統如uc/os-ii之上的程序開發
不包括什么?
硬件設計
類似linux這樣操作系統以上的純應用開發
2.arm基礎知識
#1.arm體系結構:
load/store體系,big/little endian大小端格式,risc/cisc指令集,pipeline流水線
#2.arm工作模式: 7種工作模式:usr,sys,svc,irq,fiq,und,abt;其中5種異常模式 #3.arm寄存器:
37個寄存器:r0-r12, r13(sp),r14(lr),r15(pc),cpsr(spsr)#4.arm異常: 7種異常,異常向量表,異常優先級,異常處理程序,處理器現場,現場的保存和恢復
#5.amba總線: ahb(高性能總線),asb(系統總線),apb(外設總線)#6.arm內核技術: trustzone,jazelle,neon,thumb-2,simd,mmu,mpu #7.jtag標準: ieee1149.1,tdi,tdo,tck,tms,trst,邊界掃描鏈,h-jtag,banyan,giveio #8.arm內核分類: arm7tdmi,arm926,strongarm/xscale,arm10,arm11,cortex-(a/r/m),securcore #9.arm匯編指令: mov,add,sub,b,bl,ldr,str,ldmfd,stmfd,mrs,msr,swi,mrc,mcr #10.mmu內存管理單元: va/pa,i-cache/d-cache,write buffer,context switch,cp15,tlb,ap,domain access control,cache coherence #11.arm芯片外設控制器:
memory controller(內存控制器),watchdog(看門狗),gpio(通用io),uart(串口),timer(定時器),interrupt controller(中斷控制器),nand flash controller,clock & power management(時鐘和電源管理),dma(直接存儲訪問),usb controller,lcd controller,adc,iic,iis,spi,ac97,camera,mmc/sd #12.最小系統:
處理器,時鐘,電源,pll鎖相環,存儲器,通訊端口,外設接口
存儲器件
sram,sdram,nor flash,nand flash #13.arm處理器: samsung: s3c4510,s3c44b0,s3c2410,s3c2440,s3c6410,#14.soc設計: fpga,cpld,vhdl,verilog #15.arm開發調試工具: sdt,ads1.2,axd,realview,keil mdk 4.11(rvmdk4.11)#16.arm命令行工具: armcc,armasm,armlink,fromelf #17.嵌入式操作系統: vxworks,rtlinux,uc/os-ii,wince/wm #18.外設驅動程序: volatile關鍵字,位操作bit,時序圖timing,管腳功能pin function,外設控制/數據/狀態寄存器
#19.程序的存儲,加載和運行: ro段,rw段,zi段,ro-base/rw-base,棧空間,堆空間,位置無關代碼pic,啟動搬移代碼
3.核心概念
#1.寄存器:
arm內核寄存器
r0-r12 r13(sp)r14(lr)r15(pc)cpsr, spsr arm soc 特殊功能寄存器
sfr(special function register)#2.地址
c程序中變量的“地址” :&a soc 特殊功能寄存器的“地址” :0x48000000 尋址方式里面的“地址” :ldr r0, [r1] 二進制指令里面的“地址” :0xe59ff018 存儲芯片內部的“地址” :0x4h 操作系統之上應用程序的“(虛)地址”
cpld器件對應的“(假)地址”
#3.異常和中斷
異常是屬于arm內核體系結構的概念
中斷是屬于arm soc處理器的概念
了解軟件中斷(swi)是實現操作系統提供系統調用的重要手段
了解硬件中斷(例如timer定時器)是實現操作系統時間片的重要手段
三.三個問題。
#1.為什么要編寫一個bootloader?
從根本上掌握一個嵌入式開發板底層的軟硬件系統是怎樣運轉起來的
時鐘頻率如何設置;看門狗所起作用,串口如何工作;通訊協議如何實現;庫函數;反匯編;函數棧空間。
#2.為什么要移植一個操作系統?
了解操作系統和底層硬件之間的依賴關系,知道哪些是移植相關的部分(即接口)定時器中斷(時鐘節拍);異常處理和現場保存恢復;進程,進程控制塊;處理器現場;進程的上下文切換;中斷級別的進程切換。
#3.為什么要實現一個用戶應用?
一個音頻播放器;dma控制器,interrupt中斷控制器;iis 總線;uda1341聲卡芯片驅動;wav/mp3 音頻文件格式;lcd液晶顯示驅動;一個u盤;usb協議;fat文件系統格式;scsi命令集;nandflash存儲芯片驅動。
四.經典語段
經典語段一:
嵌入式技術的掌握是需要一個過程的
實事求是的說,嵌入式技術的全面掌握是有相當難度的。可以輕輕松松學會嵌入式技術的說法是夸大其詞了。這個就像學英語一樣,學英語無論怎樣學,不管是“瘋狂學”還是用新理念來學,真正掌握的話還是需要一步步積累才能熟練掌握。在此,我建議大家不要想在幾天內學會嵌入式,成為這方面的高手。這些想法本身是不太現實的。
現在我們需要做的是:
第一:把心踏實下來,做好打硬仗的準備。
第二:注意學習方法。盡量不要走彎路,爭取一鼓作氣入門。一旦入門了以后呢就好辦了。嵌入式技術的掌握,本身呢就比較難,要是再走些彎路,時間上會浪費,甚至會影響學習的信心。
經典語段二:
最好的學習方法:
做項目。如果有機會大家跟著做一個難度適中的嵌入式項目,相信大家會很快入
門的。也就是說從實戰之中來獲得進步。但是,在我們沒有嵌入式基礎之前,不容易獲得這樣的機會。也就是說,在能力沒有到之前,找個這樣的工作很難。很顯然呢,如果我們具備了獲得這樣一份工作的能力就好辦了。但是,恰恰是這個階段最難。這個就是搞嵌入式系統的門檻。這個門檻的跨越,我覺得是需要引導的。
比如有的人買了塊開發板自學,上來就分析linux源碼,結果折騰了幾個月呢都沒有什么收獲。有的人只是掩飾了幾個基本的功能,放了個mp3,玩了下如何來瀏覽網頁,下不就不知道該怎么做了。實際上呢,學習一門技術是需要一個過程的,期間也會有一定的規律。我們具體來看。
五.學習心得
#1.嵌入式系統的范圍很廣,指具有計算能力的非pc系統,即具有通常使用的個人電腦的全部或部分特質的專用計算機系統。如生活中的pda、手機、電視機頂盒、數字電視、數碼相機以及工業自動化儀表、醫療儀器等。它分硬件和軟件兩部分,硬件以嵌入式處理器(相當于pc的cpu)為核心,外擴rom、ram(相當于pc的硬盤、內存條)、輸入/輸出設備(pc的鍵盤/顯示器)、各種通信接口(串口、usb、網絡)等。軟件由引導程序(pc的bios)、嵌入式操作系統(相當于pc機的windows xp)和應用程序(相當于在windows xp上運行的程序,如金山詞霸、word等)3部分組成,或只有其中的某部分。
#2.目標要明確,不要得過且過,不要追逐熱門的東西。不管在什么時候,心里都要有自己的信念和理想,不要被其他東西左右了自己。
#3要從興趣和競爭出發,因為這才是你產生動力源的地方。學東西時,要讓自己先喜歡上它,要學會享受學習它的時間,喜歡喬***的都知道,喬老爺子最常說的一句就是要享受比賽的時間。因為只有你喜歡上了它,享受了它,才不會被它所產生的壓力壓倒自己,不要產生一種厭惡的心理。而且心態要調整,不要一味的蠻學,死學,在沒有什么興趣學的時候可以先玩幾天,在回過頭來,或者用其他的方式來轉換。
#4要抱著一種十年方能磨一劍的心理,扎扎實實從基礎開始,不要為高速開發的一些現象所迷惑,那些都只是軟件的功勞。我個人認為搞編程,英語和數學很重要,大家一定要時時的抓,至于怎么抓那就是另外一回事了,當然其他的知識也要汲取,可以多接觸點天文,地理,人文方面的東西來補充自己。篇三:學習嵌入式系統感言
個人覺得培訓學校都是差不多,所學的內容都是一樣的。您不妨自己找幾個學校的課程對比下,你就知道大同小異了,培訓主要就是c、linux和arm課程。
我原來也想去培訓,可是家里條件不允許,我沒有那么多錢,后來我只好自學了,不懂的就上論壇問,我自己學了四個月,差不多也入門了,現在也是在做嵌入式開發。想想我自己走過的路,其實我發現,其實嵌入式并沒有想象的難,關鍵是要花時間去學,要堅持幾個月就可以了。
如果樓主還有時間,不妨自己學下。實在覺得困難的話再去培訓吧。當然,樓主如果家里經濟不錯的話,也可以去培訓吧。但是如果真的下決心要學的話,其實可以去找找自學的方法。
我把我前階段看到的一篇一個專科生如何自學嵌入式,里面有介紹了他的學習方法和學習過程的文章,給樓主看看,希望對你有幫助。
專科生學嵌入式到找到工作的前前后后--學習的榜樣
退學后我也迷茫,大專都沒有畢業,我真的不知道我能干什么,我在糾結著我能做什么。所以輟學后我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應聘做業務。我想應聘做技術的,可是處處碰壁。
一次偶然的機會,我才聽到嵌入式這個行業。那天我去新華書店,在計算機分類那邊想找本書學習。后來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學習嵌入式,然后給我介紹了一下嵌入式現在的火熱情況,告訴我學嵌入式多么的有前景,給我了一份傳單,嵌入式培訓的廣告。聽了她的介紹,我心里癢癢的,確實我很想去學會一門自己的技術,靠自己的雙手吃飯。
回家后,我就上網查了下嵌入式,確實是當今比較熱門的行業,也是比較好找工作的,工資也是相對比較高。我就下決心想學嵌入式了。于是我去找嵌入式培訓的相關信息,說真的,我也很迷茫,我不知道培訓是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。
后來,我在百度知道看到一篇讓我很鼓舞的文章《如何學習嵌入式》,是一個嵌入式高手介紹沒有基礎的朋友怎么自學入門學嵌入式,文章寫的很好,包含了如何學習,該怎么學習。他提到一個方法就是看視頻,因為看書實在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。
我在想,為什么別人都能自學成才,我也可以的!我要相信自己,所以我就想自學,如果實在學不會我再去培訓。主意一定,我就去搜索嵌入式的視頻,雖然零星找到一些嵌入式的視頻,但是都不系統,我是想找一個能夠告訴我該怎么學的視頻,一套從入門到精通的視頻,一個比較完整的資料,最好能有老師教,不懂可以請教的。
下面介紹下我的學習流程,希望對和我一樣完全沒有基礎的朋友有所幫助。
收到他們寄過來的光盤后,我就開始學習了,由于我沒有什么基礎,我就從最簡單的c語言視頻教程學起,話說簡單,其實我還是很多不懂的,我只好請教他們,他們還是很熱心的,都幫我解決了。c語言我差不多學了一個禮拜,接下來我就學了linux的基本命令,我在他們提供linux虛擬機上都有做練習,敲linux的基本命令,寫簡單的c語言代碼,差不多也就三個禮拜。我每天都在不停的寫一些簡單的代碼,這樣一月后我基本掌握了c和linux的基本操作。
接下來我就去學習了人家的視頻的培訓教程,是整套的,和去參加培訓沒有多大的區別,這一看就是兩個月,學習了arm的基本原理,學習嵌入式系統的概念,也掌握了嵌入式的環境的一些搭建,對linux也有更深層次的理解了,明白了嵌入式應用到底是怎么做的,但是驅動我只是有一點點的了解,這個相對難一點,我想以后再慢慢啃。
這兩個月,除了吃飯睡覺,我幾乎都在學習。因為我知道幾乎沒有基礎,比別人差勁,我只能堅持努力著,我不能放棄,我必要要靠自己來養活自己,必須學好這門技術,同時我不懂的就問,這里真的很感謝他們的技術客服對我的任何問題都是耐心的解答,每天都我幾乎都有好幾個問題問他們,然后我就把不懂的問題總結記下來,這樣慢慢積累了一段時間,我發現自己真的有點入門了。
最后的一個月,我就去看關于實踐部分的內容,了解嵌入式項目具體的開發流程,需要什么樣的知識,我就開始準備這方面的知識,也就是學習這方面的視頻,同時他們建議我去找了找一些嵌入式面試的題目,為自己以后找工作做準備。我就到網上找了很多嵌入式的題目,把他們理解的記下來,這樣差不多準備了20天左右
我覺得自己差不多入門了,會做一些簡單的東西了。我就想去找工作看看,于是我就到51job瘋狂的投簡歷,因為我學歷的問題,專科沒有畢業,說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天過后,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了準備,但是他們的要求比較嚴格,需要有一年的項目經驗,所以我沒有被選中。
把本文寫出來,希望能讓和我一樣的沒有基礎的朋友有信心,其實我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。
在大學生如則的身上,我們看到了一種精神,就是對認準的事情,不管多困難,多曲折,都不放棄,而且要堅定地、執著地做下去。這是在許多成功者身上我們看到的共同的東西。搞發明創造是寂寞的、艱苦的,但當一個人將它視作自己的事業和理想,它就是快樂的、充實的,堅持下去,必將看到成功的果實,世界上的許多事情亦是同理。(完)篇四:學習嵌入式心得
實驗報告書
課程名: 《嵌入式系統及應用》 題 目: 學習嵌入式心得
班 級:
姓 名:
學 號:
這學期才接觸嵌入式系統學了8周了感覺還稱不上入門,我通過了解知道了嵌入式的發展前景很大,各個領域都用到了嵌入式,學好嵌入式不愁沒飯吃。
廣義上講,凡是帶有微處理器的專用軟硬件系統都是嵌入式系統。如各類單片機和dsp系統。從狹義上講,那些使用嵌入式微處理器構成獨立系統,具有自己操作系統,具有特定功能,用于特定場合的專用軟硬件系統稱為嵌入式系統。嵌入式系統由嵌入式硬件與嵌入式軟件組成;嵌入式硬件以芯片、模板、組件、控制器形式埋藏于設備內部。
大體的嵌入式可以用下圖來表示:
通過網上查詢我發現目前國內外這方面的人都很稀缺。一方面,是因為這一領域入門門檻較高,不僅要懂較底層軟件(例如操作系統級、驅動程序級軟件),對軟件專業水平要求較高(嵌入式系統對軟件設計的時間和空間效率要求較高),而且必須懂得硬件的工作原理,所以非專業it人員很難切入這一領域;另一方面,是因為這一領域較新,目前發展太快,很多軟硬件技術出現時間不長或正在出現(如arm處理器、嵌入式操作系統等),掌握這些新技術的人當然很少。嵌入式人才稀缺,身價自然就高,越有經驗價格就越高。其實嵌入式人才稀少,根本原因可能是大多數人無條件接觸,這需要相應的嵌入式開發板和軟件,另外需要有經驗的人進行指導開發流程。我們軟件系的人學習嵌入式,顯然應偏重于嵌入式軟件,特別是嵌入式操作系統方面。對于搞嵌入式軟件的人,最重要的技術顯然是掌握主流嵌入式微處理器的結構與原理,必須掌握一個嵌入式操作系統,必須熟悉嵌入式軟件開發流程并至少做過一個嵌入式軟件項目。
然而我們都沒有做過一個嵌入式軟件項目,甚至連嵌入式的開發流程我也不清楚,我只了解了使用簡單工具做一個簡單的實驗。只有去專研才能在嵌入式的領域站住腳,只有知道的比別人多才會更有競爭力。通過網上了解,我查詢了嵌入式的入門和所需要的知識,其中c語言尤為重要,不管是做嵌入式軟件還是硬件開發的人員,對c語言的掌握這個是必需的,特別是對于以后致力于嵌入式軟件開發的人,現在絕大部分都是用c語言。其次,應該對操作系統有所
了解,這對你對硬件和軟件的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如進程、線程,系統如何來分配資源的,系統如何來管理硬件的;知道了c語言和操作系統之后,再來看看嵌入式系統,我們主要學的是arm,用的是arm7,深入理解arm不是件容易的事,只有在知道arm相關知識之后才能稱得上嵌入式已經入門了。
與嵌入式有關的知識我也學了不少就是不能夠綜合在一起運用,組成原理,數據結構,操作系統,c++,這3門與嵌入式密切相關的學科都系統的學了一遍,但由于長時間沒用到都有點忘記了,從網上得知嵌入式的學習與這些書有很大關系之后,我把嵌入式與以前學過的知識結合起來發現嵌入式的實驗中很多都是共通的,我對嵌入式有了初步的理解。我們這學期的嵌入式課本名為《嵌入式系統開發與應用教材》由北京航空航天大學出版社出版,其中講到了嵌入式系統的開發基礎,arm相關技術以及基于arm的嵌入式軟件開發基礎,還提到了基于s3c44b0x嵌入式系統應用開發實例,這些書上都提到但卻不是很全,并沒有叫我們怎么去學好嵌入式系統相關開發實例或過程。
我以為學習嵌入式應該分為2個部分:軟件和硬件。關于硬件方面我接觸到了數字電路教材和模擬電路方面的知識,但由于沒有嵌入式cpu很難親自動手來實現嵌入式的相關理論;嵌入式入門則需要不斷地實驗與分析,我只在實驗課時做幾個與所給的程序相關的小程序來實現一下;而軟件方面則學過c語言,里面通常的語法曾今熟悉過;我通過下列方法來適應c語言在嵌入式中應用:首先重新翻看了下c的教材,看了些常見的語法,接著在編譯器的角度來看待c,編譯原理我剛學過,其中將高級語言與低級語言的翻譯感覺在嵌入式中用到了很多;最后沖硬件的角度來看待c。嵌入式的核心包括嵌入式操作系統,嵌入式軟件開發平臺及工具以及嵌入式應用軟件。這些決定怎樣才能開發一個好的嵌入式系統。
我們上課學的都是怎么樣調試嵌入式系統可以通過下面的圖來演示:
下面談談我了解的嵌入式的相關知識與應用:
首先,嵌入式系統是以應用為中心,以計算機技術為基礎,且軟硬件可裁減,適應應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。嵌入式有如下幾個突出的有點1.系統內核小,2專用性強,3系統精簡4高實時性os5嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行,6嵌入式系統需要開發工具和環境。
嵌入式系統是近幾年才風靡起來的,但是這個概念并非新近才出現。從20世紀七十年代單片機(最早的單片機是intel公司的 8048,出現在1976年)的出現到今天各式各樣的嵌
入式微處理器,微控制器的大規模應用,嵌入式系統已經有了近30年的發展歷史。經過30年的發展,嵌入式技術已經日趨成熟,在中國嵌入式機一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用于實現對其他設備的控制、監視或管理等功能。
其次,嵌入式系統無疑是當前最熱門最有發展前途的it應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。嵌入式系統是軟硬結合的學科,通常有兩類人會去專研嵌入式:一類是學電子工程、通信工程等偏硬件專業的,另一類是學軟件、計算機專業出身的人,主要從事嵌入式操作系統和應用軟件的開發。我是軟件專業的學習嵌入式,越是智能設備越是復雜系統,軟件越起關鍵作用,而且這是目前的趨勢。嵌入式應用在很多方面,具體的可以分為工業控制,交通管理,信息家電,家庭智能管理系統,pos網絡及電子商務,環境工程與自然,機器人,機電產品方面應用等方面。其中目前在服務領域,如遠程點菜器等已經體現了嵌入式系統的優勢。例外還有很多地方用到了嵌入式系統,最近飛利浦和arm共同推出32位risc嵌入式控制器,適用于工業控制,采用最先進的0.18微米cmos嵌入式閃存處理技術,操作電壓可以低至1.2伏,它還能降低25%到30%的制造成本,在工業領域中對最終用戶而言是一套極具成本效益的解決方案。下圖為一個真實的嵌入式系統實例,全套采用嵌入式系統制作的污水管理系統: 其實用到嵌入式的地方還有很多,隨著計算機的飛速發展嵌入式的價格越來越便宜也將更加普及,嵌入式是一門前途光明的學科。
通過8周的學習學到的并不是很多,要想在這個領域中有所作為還需深入研究,我要走的路還有很多但我會一步一步走下去的。
篇五:學習嵌入式的心得
嵌入式學習[轉貼] 怎樣做才能快速的嵌入式了? 其實,做工程是沒有捷徑可走的
先說做硬件: 把你的數字電路教材和模擬電路的教材讀熟,暫時先把重點放在數字電路上面,接著把微機原理和接口技術讀熟悉了,最好能用匯編寫幾個簡單的程序上機調試一下,這是很重要的。
完成上面的工作大概需要半年,不管你有多么的聰明,除非你以前這個基礎就打的不錯,否則,還是老老實實花上至少半年的時間!還是那句話,沒有捷徑可走,如果你相信那些什么“21天學通xx”什么的,那么我告訴你,放棄做工程吧!再說,你這么容易就學會了,別人也能的,你確定能拿到高薪嗎?
下一步,就是選擇一個dsp(或其它的嵌入式cpu)平臺作為你的目標平臺,先熟悉它的架構和與外圍電路的接口,然后學習她的指令集,也要寫一些小程序去跑一下。這個時候,你應該去買一個開發板了,一般的廠家附帶會給你一些demo程序,看懂它,理解它,修改它,在你的板子上跑一跑。完成上面兩步,說明你已經入了這個行業的門了,下一步,想成為高手的話,就是自己去設計一些項目了,這個階段所花的時間每個人都是不同的,要看你的造化(主要是前面的基礎是否牢固)了。
再說說軟件:
在嵌入式行業,你想做軟件開發的話,沒別的,那就深入理解c語言,尤其是c的指針,如果你以前學過c,但是沒有意識到c相比其它的高級語言的優點的話(不是聽別人說的,你自己的體會),你可以按下面步驟來理解c:
1、重新翻一遍c的教材,記住一些常用的c語法,但不要死摳語法;
2、從編譯器的角度來理解c;
從編譯原理的角度來理解你工作中使用的高級語言,如果你做到這一點,至少有兩個好處: 第一個好處是避免一大堆低水平重復出現的編譯錯誤。一名優秀的coder平均在一個工作日中應該完成200行以上的源碼,其編譯錯誤應該控制在5個以下,要知道這200行源碼不是一次完成的,所以大多數情況下你都要追求一次編譯通過;
第二個好處是可以提高源碼的可讀性和效率。規范地編寫你的代碼使你自己的邏輯清晰,因為你明白多加幾個括號和空行、多換行對齊、多注釋,編譯器是會自動識別的,不影響程序執行的效率,反過來,控制好遞歸調用和循環內的if語句才是提高程序效率的關鍵,要全力避免遞歸,但要深刻理解遞歸,能通過自己建立堆棧來把遞歸程序轉換成非遞歸程序,要求還是較高的哦!
3、從硬件的角度來理解c。
完成上面3步,你就是c的高手了,接下來應該去看看軟件工程方面的書了,這個我還不太懂,不敢妄言。
另外說說教材的選擇:學一門東西,選好你的教材,只要一本就可以了。堅決防止這種情況的出現:去圖書館借很多本書,像搶劫似的,而只是每一本都翻翻,就又還給圖書館了的!注意上面我把匯編語言放在硬件學習的板塊里面,是由于匯編跟硬件的關系太緊密了,以至于是先學匯編還是先學習硬件電路和cpu架構成了要分清到底是“先有雞還是先有蛋”的千年哲學難題了。
嵌入式操作系統一覽
其實,嵌入式系統并不是一個新生的事物,從八十年代起,國際上就有一些it組織、公司,開始進行商用嵌入式系統和專用操作系統的研發。這其中涌現了一些著名的嵌入式系統: windows ce microsoft windows ce是從整體上為有限資源的平臺設計的多線程、完整優先權、多任務的操作系統。它的模塊化設計允許它對于從掌上電腦到專用的工業控制器的用戶電子設備進行定制。操作系統的基本內核需要至少200k的rom。
vxworks vxworks是目前嵌入式系統領域中使用最廣泛、市場占有率最高的系統。它支持多種處理器,如x8
6、i960、sun sparc、motorola mc68xxx、mips rx000、power pc等等。大多數的vxworks api是專有的。采用gnu的編譯和調試器。
psos isi公司已經被winriver公司兼并,現在psos屬于windriver公司的產品。這個系統是一個模塊化、高性能的實時操作系統,專為嵌入式微處理器設計,提供一個完全多任務環境,在定制的或是商業化的硬件上提供高性能和高可靠性。可以讓開發者根據操作系統的功能和內存需求定制成每一個應用所需的系統。開發者可以利用它來實現從簡單的單個獨立設備到復雜的、網絡化的多處理器系統。
qnx qnx是一個實時的、可擴充的操作系統,它部分遵循posix相關標準,如:posix.1b實時擴展。它提供了一個很小的微內核以及一些可選的配合進程。其內核僅提供4種服務:進程調度、進程間通信、底層網絡通信和中斷處理,其進程在獨立的地址空間運行。所有其它os服務,都實現為協作的用戶進程,因此qnx內核非常小巧(qnx4.x大約為12kb)而且運行速度極快。這個靈活的結構可以使用戶根據實際的需求,將系統配置成微小的嵌入式操作系統或是包括幾百個處理器的超級虛擬機操作系統。
palm os os-9 microwave的os-9是為微處理器的關鍵實時任務而設計的操作系統,廣泛應用于高科技產品中,包括消費電子產品、工業自動化、無線通訊產品、醫療儀器、數字電視/多媒體設備。它提供了很好的安全性和容錯性。與其他的嵌入式系統相比,它的靈活性和可升級性非常突出。lynxos lynx real-time systems的lynxos是一個分布式、嵌入式、可規模擴展的實時操作系統,它遵循posix.1a、posix.1b和posix.1c標準。lynxos支持線程概念,提供256個全局用戶線程優先級;提供一些傳統的、非實時系統的服務特征;包括基于調用需求的虛擬內存,一個基于motif的用戶圖形界面,與工業標準兼容的網絡系統以及應用開發工具。
目前,世面上有很多商業性嵌入式系統都在努力地為自己爭取著嵌入式市場的份額。但是,這些專用操作系統均屬于商業化產品,價格昂貴;而且,由于它們各自的源代碼不公開,使得每個系統上的應用軟件與其它系統都無法兼容。并且,由于這種封閉性還導致了商業嵌入式系統在對各種設備的支持
方面存在很大的問題,使得對它們的軟件移植變得很困難。在嵌入式這個it產業的新的關鍵領域,linux操作系統適時地出現在了國家和國內各嵌入式廠商面前,由于linux自身諸多優勢,吸引了許多開發商的目光,成為嵌入式操作系統的新寵。它的出現無疑為國家發展嵌入式操作系統事業提供了一個極有吸引力的機會。
前言
這個題目很大,給人一種感覺我好像很成功,其實不然。實際上自己水平不高,甚至很低,但是做過了一些曲折的學習道路,同時把自己真實的學習歷程表達出來,希望對后來者有借鑒的意義,甚幸!
工作三年、幾成廢人!
我2000年畢業于華中地區的一個理工科大學,專業是機械電子,我當時已經簽了一家內陸某個省級機關工作,家里八輩是農民,并且很偏遠,能夠進入這樣的地方是祖墳有風水。但在畢業前夕有個進入it的機會,我本想進去的,家里人極力反對,阻力可想而知。同時要交4000元的違約金,對我來說是天文數字。大學里的費用很多是借的,幾乎將近一半的費用是在大學勤工儉學掙的,為了省錢,高中一個學期回家一次,大學一年回去一次。并且我個人也有特殊的人生背景(悲景更確切),這里不多說了,寫十篇也寫不完,同時偏離主題。這樣我就參加了工作。一張報紙一杯茶的日子,幾乎下班后有種很空虛和恐慌的感覺。在工作中雖然是與自己專業有點關系,但是很少。專業幾乎荒廢。我自己也思考,如果再不出去,自己將會成廢人,只好讓國家養了。兩年后決定出去,但是幾成廢人,誰要呢,只好到學校去鍍金。這是中國教育和社會的悲哀!
至于專業就改為計算機方面,聽說好找工作,我說實話不是很對計算機特別感興趣,生存第一需要。不要笑我,哈哈!
考研成績出來,超過了國家線幾十分。那個方向要兩個,我第三,但是那年非碘,不面試就按分數來排,自然我落選了。其實給我面試機會也不一定要我,哈哈,自己幾斤幾兩很清楚。
最后調劑到另外一個學校,交錢,咬咬牙,交吧!現在仍然債臺高筑!
進入學校前夕
為什么要把這段列出,看后就知道了。
單位有網絡,經常上網查些英語資料,在那里唯獨英語沒有丟很多。于是我就在網上查資料,學什么好呢,最后確定學嵌入式把,聽說跟硬件相對比較緊密!而我在大學里多少學習了數字電路,單片機等,所以多少也有所利用,不會真的一無所知。當然在這之前也自學過數據結構,計算機組成原理等。
c 語言在大學就學了。哈哈這就是我的家底。
我知道自己的基礎差,于是我就拿操作系統,數據庫、數據結構、c++來看,機關有這個好處,空余時間多,于是平常就看書,很痛苦,沒有人請教。
另外就上網到論壇上去,我就到各個專業的技術論壇,其實是電子論壇和嵌入式論壇。我幾乎沒有發帖,幾乎把幾個大型的出名的論壇的帖子翻遍了,雖然有很多重復的,我才知道嵌入式是個什么東東。這些帖子對我以后的學習產生了極大的影響。
最關鍵兩點:
1、嵌入式是什么?
2、嵌入式需要哪些知識?
知道了這兩點,好辦!我就開始規劃學習路線。計算機的基本理論不能丟,于是重點看組成原理,數據機構,操作系統、c++。同時論壇上了解到,實時操作系統ucos是一個很好的嵌入式操作系統,對初學者很好。于是我就買了一本書,但是代碼在電腦里調不通,網上也有很多相同的問題,我就看書,分析代碼,一遍不行就兩遍,三遍,這樣才看了入了門,才知道什么是進程。原來看操作系統書時,根本就不知道進程是個什么東西。
在這段時間掌握的東西不多,但是,對我以后的影響很大,我想起了大學時一個同學跟我說過了一句話:大學里最重要的不是學到了什么,最重要的是學會怎么學!大概是這個意思。
進入我的避難所
對我來講,再次進入大學不再是大學,而是避難所。希望這次進入給我喘氣和養精蓄銳的機會和時間。我是這樣認為和實踐的。
在學校我有三件事:上課,上圖書館,上網。
對于上課,學校開了很多課程,非常好,很多是名人名師講解,于是很多同學都想學,都去聽。我也考慮過,最后放棄。我是這樣認為的,時間是有限的,什么都想學,什么都學不成。于是我把我自己學的課進行了分化,一般的課程通過就行,重要的一定好好學。我希望不要什么爭論學習課程多和少的問題,這僅僅是我的看法。所以我的成績應該是很差的。分數低。好在后來的單位沒有要我的成績單,否則就慘了。
我個人感覺是上圖書館的效率比在寢室里高多了,這是我的經驗。
有人會問,您下了那么多資料,怎么看的完和消化的了呢?
我是這樣對待這個問題的:
1、網上資料比較零散,不系統,但是如果把差不多的東西收集起來看就相對完整了,(嵌入式的圖書就是這兩年特別多,特別是2004年,簡直是向外涌!2003年想買本嵌入式,特別是嵌入式linux的不多。)
2、對于像我這種入門的來說,很多看不懂,沒關系,反復看,我個人對學習方法的一個總結是:重復是最好的老師!
3、即使有的用不上,也可以收集以后用的上時查閱。
但是我并非什么都要,目前我的技術路線是嵌入式linux,所以像wince之類基本上不
收集。
總之,我在學校里我充分利用時間來學習,我看到一些同學整天的掛在網上打游戲,發
些無關痛癢的帖子,浪費時間呀!我真的很痛心!
學習嵌入式
在這里我把它單獨列出,文章有點紊亂,但是內容希望有益。
1、學習linux 根據我在論壇的了解,我選擇學習嵌入式linux,剛好我們學校也重視嵌入式linux,從實驗室到課程安排都是關于嵌入式linux方面,天時地利!這里我把學習linux的經驗和教訓說說。
可以這樣說,在論壇里說道學習linux差不多就學習linux內核。于是我電腦里安裝了linux就開始看linux內核方面的書了。我記得來學校以前就買到一本陳莉君的講linux內核的第一版,現在有第二版了。我就開始看那本說,大家說linux內核情景分析不錯,我就買了上下冊,后來又買了 《深入理解linux內核》,最后也買了毛德操的《嵌入式系統》也是分析linux內核代碼的,主要講arm相關的。
看內核期間是個非常痛苦的過程,看情景分析有種在森林中找出路,其間我組織了一些同學學習內核,幾乎沒有幾個能堅持下來的。我認為我是堅持下來了。情景分析在看第一、第二遍是幾乎沒有摸到門道,我分析有三個方面的原因:
1、自己的基礎差,這是最關鍵的。
2、內核本身很難。
3、沒有交流和高人指點。到了第三遍時我才摸到門,才差不多知道個linux的大概脈絡,很多細節也是稀里糊涂。
學習linux總結,這里聲明一下,我指的嵌入式主要是偏向軟件的嵌入式。學習嵌入式的重點和難點關鍵在操作系統,如果沒有掌握操作系統,我認為很難把握一個嵌入式系統。即使在做嵌入式開發中,作應有層的開發幾乎可以不知道操作系統也可以開發,我認為那是浮在表面的。很難深入和提高自己的層次。聲明:一孔之見!不可深究!
在學習linux內核過程中犯了一個極其嚴重路線錯誤:對linux幾乎不懂就開始學習內核。我個人推薦一個學習路線是:使用linux—〉linxu系統編程開發---〉驅動開發和分析linux內核。而我差不多相反,實際上你不會使用linux也可以學習內核,但是如果你懂了這些東西學習更有效率。
關于要不要學習內核的問題,我的回答如下:不一定。如果你是喜歡鉆研的那你進入內核會滿足你的欲望。同時對你以后的嵌入式系統的開發有很好的影響。如果你想從事嵌入式linux系統開發,最好對內核有所了解。如果僅僅是做應用開發沒有必要。我打個比喻:c、c++、java等語言是武林中的某個武林派別的話,如什么拳法,什么刀法等,那么linux 內核應該是一個人的內功的反應。怎么開始學linux內核:最好有三件寶物:《深入理解linux內核》《情景分析》和源代碼。
先看《深》,那主要講原理,好像市場上有本講原理性并且更淺,《linux內核設計與實現》聽說不錯。如果沒有學習操作系統的,像我這樣的,最好先看看操作系統原理的書。看了幾遍后,就看情景分析,最好對著《深》看。兩本交叉看,《深》是綱,《情》是目。最后深入代碼。
2、學習嵌入式linux 學習嵌入式,我認為兩個重點,cpu和操作系統,目前市場是比較流行arm,所以推薦大家學習arm。操作系統很多,我個人對開始學習的人,特別不是計算機專業的,推薦學習ucos。那是開源的,同時很小。學習很好。為什么選linux,我不想講太多,網上這方面的太多,但是我在工作中發現,做linux的技術路線很難,在windows幾乎不會有的問題,在linux開發中幾乎遍地陷阱。一掉進去劃很長時間出來,一旦解決自己又長進了!相對來說開發周期長,難度大。現在資料也逐漸豐富起來,難度也降低了些!
至于怎么學習,這是他的特色地方,必須有塊開發板,我是同學里最早買學習板的,雖然化錢,我認為值。對我實習和工作產生了很大的影響。
如果沒有開發板,那是紙上談兵。有人說,那要1000-2000亞,的確是,兄弟,看長遠的,對您的職業和發展那點錢不算什么!有的人說我站著說話不腰痛,好吧,錢這東西對我影響很大,我在大學里掃廁所,掃的不錯,獎5元/月。兄弟你有過嗎?我認為教育投資是效益最有保障的!我實習拿3k,很多同學拿1-2k,當然比我高的也有。雖然我現在沒有畢業,但一家公司就簽了。從事目前流行的高檔的消費電子的研發。對于我兩年前一無所知的我,應該有質的變化,我感謝學校收了我這個廢品。當然我也非常的努力。說這么多并不是要炫耀我什么,實際上根本不值得炫耀,雖然現在工作環境和待遇比較滿意,但是,我發現我很差,特別是代碼能力,我希望平常大家少玩游戲,多編程。編程才是硬道理!
3、學習板和培訓 你可以不接受培訓,但是不能不買開發板。如果你想學習嵌入式一定要買塊學習板,最好買塊arm9的,貴些也值。可以跑高級操作系統。這個不要什么品牌公司的,一般不會出什么問題,市場上的板子一般是三星的2410,基本上是抄的。如果是做產品那要注意些。一般的公司一般要2000,加lcd要3000甚至更多。我接觸到有的板只要1200,加lcd也就2000,差別比較大,我認為學習都夠啦。
對于培訓,如果有條件最好參加,主要是嵌入式相對別的不同,自己摸索很費時,如果有高手指點非常的好,進步快。特別是認識做這些的朋友。我接受過培訓,認識個朋友。在以后的工作中幫我很多,在這里謝謝他!我記得哈佛的一個mba的學生這樣說,大意是:在哈佛學到什么不重要,最重要的是這些未來各大公司的高級管理人員是我的同學!真是有遠見!
目前市場是培訓比較貴,一個星期兩三千,真正算起來也要,那些講師待遇絕對不會低。但是有個致命的問題是連續上課,一連幾天,效果不佳。我希望社會上多出些1000元左右,并且時間長些,如一個月,一周一到兩次課。如果沒人做,我來做,哈哈!
沒有想到,一下寫了這么多,其實還想寫的,比如在中科院的一位老兄是怎樣學習linux內核和看書的,真的很感動。他的為人我很欽佩。
第二篇:嵌入式系統學習心得
首先我聲明,我是基于嵌入式系統平臺級設計的,硬件這個方向我相對來講比較有發言權,如果是其它方面所要具備的基本技能還要和我們培訓中心其它專業級講師溝通。他們的方面上我只能說是知道些,但不是太多,初級的問題也可以問我。
對于硬件來講有幾個方向,就單純信號來分為數字和模擬,模擬比較難搞,一般需要很長的經驗積累,單單一個阻值或容值的精度不夠就可能使信號偏差很大。因此年輕人搞的較少,隨著技術的發展,出現了模擬電路數字化,比如手機的modem射頻模塊,都采用成熟的套片,而當年國際上只有兩家公司有此技術,自我感覺模擬功能不太強的人,不太適合搞這個,如果真能搞定到手機的射頻模塊,只要達到一般程度可能月薪都在15k以上。
另一類就是數字部分了,在大方向上又可分為51/arm的單片機類,dsp類,fpga類,國內fpga的工程師大多是在ic設計公司從事ip核的前端驗證,這部分不搞到門級,前途不太明朗,即使做個ic前端驗證工程師,也要搞上幾年才能勝任。dsp硬件接口比較定型,如果不向驅動或是算法上靠攏,前途也不會太大。而arm單片機類的內容就較多,業界產品占用量大,應用人群廣,因此就業空間極大,而硬件設計最體現水平和水準的就是接口設計這塊,這是各個高級硬件工程師相互pk,判定水平高低的依據。而接口設計這塊最關鍵的是看時序,而不是簡單的連接,比如pxa255處理器i2c要求速度在100kbps,如果把一個i2c外圍器件,最高還達不到100kbps的與它相接,必然要導致設計的失敗。這樣的情況有很多,比如51單片機可以在總線接lcd,但為什么這種lcd就不能掛在arm的總線上,還有arm7總線上可以外接個winband的sd卡控制器,但為什么這種控制器接不到arm9或是xscale處理器上,這些都是問題。因此接口并不是一種簡單的連接,要看時序,要看參數。一個優秀的硬件工程師應該能夠在沒有參考方案的前提下設計出一個在成本和性能上更加優秀的產品,靠現有的方案,也要進行適當的可行性裁剪,但不是胡亂的來,我遇到一個工程師把方案中的5v變1.8v的dc芯片,直接更換成ldo,有時就會把cpu燒上幾個。前幾天還有人希望我幫忙把他們以前基于pxa255平臺的手持gps設備做下程序優化,我問了一下情況,地圖是存在sd卡中的,而sd卡與pxa255的mmc控制器間采用的spi接口,因此導致地圖讀取速度十分的慢,這種情況是設計中嚴重的缺陷,而不是程序的問題,因此我提了幾條建議,讓他們更新試下再說。因此想成為一個優秀的工程師,需要對系統整體性的把握和對已有電路的理解,換句話說,給你一套電路圖你終究能看明白多少,看不明白80%以上的話,說明你離優秀的工程師還差得遠哪。其次是電路的調試能力和審圖能力,但最最基本的能力還是原理圖設計pcb繪制,邏輯設計這塊。這是指的硬件設計工程師,從上面的硬件設計工程師中還可以分出ecad工程師,就是專業的畫pcb板的工程師,和emc設計工程師,幫人家解決emc的問題。硬件工程師再往上就是板級測試工程師,就是c語功底很好的硬件工程師,在電路板調試過程中能通過自已編寫的測試程序對硬件功能進行驗證。然后再交給基于操作系統級的驅動開發人員。
總之,硬件的內容很多很雜,硬件那方面練成了都會成為一個高手,我時常會給人家做下方案評估,很多高級硬件工程師設計的東西,經常被我一句話否定,因此工程師做到我這種地步,也會得罪些人,但硬件的確會有很多不為人知的東西,讓很多高級硬件工程師也摸不到頭腦。
那么高級硬件件工程師技術技能都要具備那些東西哪,首先要掌握eda設計的輔助工具類如protelorcadpowperpcbmaplux2ise、vdhl語言,要能用到這些工具畫圖畫板做邏輯設計,再有就是接口設計審圖能力,再者就是調試能力,如果能走到總體方案設計這塊,那就基本上快成為資深工程師了。
硬件是要靠經驗,也要靠積累的,十年磨一劍,百年磨一針。
把一個月前想寫的東西,今天終于用一上午的進間整理完了,希望對喜愛嵌入式系統開發的工程師和學生們有所幫助。
嵌入式系統學習心得(2):
這個題目很大,給人一種感覺我好像很成功,其實不然。實際上自己水平不高,甚至很低,但是做過了一些曲折的學習道路,同時把自己真實的學習歷程表達出來,希望對后來者有借鑒的意義,甚幸!
工作三年、幾成廢人!
我XX年畢業于華中地區的一個理工科大學,專業是機械電子,我當時已經簽了一家內陸某個省級機關工作,家里八輩是農民,并且很偏遠,能夠進入這樣的地方是祖墳有風水。但在畢業前夕有個進入it的機會,我本想進去的,家里人極力反對,阻力可想而知。同時要交4000元的違約金,對我來說是天文數字。大學里的費用很多是借的,幾乎將近一半的費用是在大學勤工儉學掙的,為了省錢,高中一個學期回家一次,大學一年回去一次。并且我個人也有特殊的人生背景(悲景更確切),這里不多說了,寫十篇也寫不完,同時偏離主題。這樣我就參加了工作。一張報紙一杯茶的日子,幾乎下班后有種很空虛和恐慌的感覺。在工作中雖然是與自己專業有點關系,但是很少。專業幾乎荒廢。我自己也思考,如果再不出去,自己將會成廢人,只好讓國家養了。兩年后決定出去,但是幾成廢人,誰要呢,只好到學校去鍍金。這是中國教育和社會的悲哀!
至于專業就改為計算機方面,聽說好找工作,我說實話不是很對計算機特別感興趣,生存第一需要。不要笑我,哈哈!
考研成績出來,超過了國家線幾十分。那個方向要兩個,我第三,但是那年非碘,不面試就按分數來排,自然我落選了。其實給我面試機會也不一定要我,哈哈,自己幾斤幾兩很清楚。
最后調劑到另外一個學校,交錢,咬咬牙,交吧!現在仍然債臺高筑!
進入學校前夕
為什么要把這段列出,看后就知道了。
單位有網絡,經常上網查些英語資料,在那里唯獨英語沒有丟很多。于是我就在網上查資料,學什么好呢,最后確定學嵌入式把,聽說跟硬件相對比較緊密!而我在大學里多少學習了數字電路,單片機等,所以多少也有所利用,不會真的一無所知。當然在這之
前也自學過數據結構,計算機組成原理等。c 語言在大學就學了。哈哈這就是我的家底。
我知道自己的基礎差,于是我就拿操作系統,數據庫、數據結構、c++來看,機關有這個好處,空余時間多,于是平常就看書,很痛苦,沒有人請教。
另外就上網到論壇上去,我就到各個專業的技術論壇,其實是電子論壇和嵌入式論壇。我幾乎沒有發帖,幾乎把幾個大型的出名的論壇的帖子翻遍了,雖然有很多重復的,我才知道嵌入式是個什么東東。這些帖子對我以后的學習產生了極大的影響。
最關鍵兩點:
1、嵌入式是什么?
2、嵌入式需要哪些知識?
知道了這兩點,好辦!我就開始規劃學習路線。計算機的基本理論不能丟,于是重點看組成原理,數據機構,操作系統、c++。同時論壇上了解到,實時操作系統ucos是一個很好的嵌入式操作系統,對初學者很好。于是我就買了一本書,但是代碼在電腦里調不通,網上也有很多相同的問題,我就看書,分析代碼,一遍不行就兩遍,三遍,這樣才看了入了門,才知道什么是進程。原來看操作系統書時,根本就不知道進程是個什么東西。
在這段時間掌握的東西不多,但是,對我以后的影響很大,我想起了大學時一個同學跟我說過了一句話:大學里最重要的不是學到了什么,最重要的是學會怎么學!大概是這個意思。
進入我的避難所
對我來講,再次進入大學不再是大學,而是避難所。希望這次進入給我喘氣和養精蓄銳的機會和時間。我是這樣認為和實踐的。
在學校我有三件事:上課,上圖書館,上網。
對于上課,學校開了很多課程,非常好,很多是名人名師講解,于是很多同學都想學,都去聽。我也考慮過,最后放棄。我是這樣認為的,時間是有限的,什么都想學,什么都學不成。于是我把我自己學的課進行了分化,一般的課程通過就行,重要的一定好好學。我希望不要什么爭論學習課程多和少的問題,這僅僅是我的看法。所以我的成績應該是很差的。分數低。好在后來的單位沒有要我的成績單,否則就慘了。
我個人感覺是上圖書館的效率比在寢室里高多了,這是我的經驗。
第三篇:嵌入式學習心得
LPC2136是ARM7架構,是32位地址總線和數據總線,可以尋址的范圍為2的32次方
=4GB(0x00000000~0xFFFFFFFF)
我們的程序在哪里運行?
還記得我們在做“跑馬燈”和“蜂鳴器”兩個實驗,用ads1.2中建立工程文件的時候有設置三個地址:
RO Base :0x40000000
RW Base :0x40001000
Image entry point :0x40000000
開始沒有講為什么,通過上面的系統存儲器映射圖解不知大家是否有所悟。LPC2136內部自帶32KB RAM和256KB FLASH。
32KB RAM分布在整個CPU存儲器空間的0x40000000~0x40007FFF;
256KB FLASH分布在整個CPU存儲器空間的0x00000000~0x0003 FFFF;
RO Base是告訴編譯系統把編譯生成的目標碼放在0x40000000起始的位置,也就是代碼段存放在0x40000000開始的位置。
RW Base告訴編譯系統把各種變量(常量放在RO開始的位置),堆棧放在0x40001000起始的位置。
Image entry point:是告訴編譯系統程序入口點在0x40000000,即程序從這個地址開始執行。(此部分在附錄二中細說)
Flash與RAM的區別
通過以上所說,好像FLASH在這里沒什么用,如果你的RO地址定位在RAM中,那么FLASH確實沒有用。但FLASH是必須的功能部件。
Flash的作用也許要從其與RAM的區別說起:
區別一:RAM是易失性存儲器,Flash是非易失性存儲器。通俗的說,存儲在RAM中的數據掉電后數據丟失;而存儲在FLASH中的數據掉電后任然保持。(必須通過工具或特殊命令來擦除)
區別二:RAM是可讀寫存儲器,Flash只讀存儲器。(也許有人要問,Flash難道不能寫嗎?Flash可以寫,但不能象RAM一樣做簡單賦值操作,必須通過Flash寫命令寫,而且寫入數據的最小單位為512字節,即一個扇區)
區別三:RAM訪問速度快,而Flash訪問速度慢的多。
區別四:RAM價格昂貴,Flash便宜。
FLASH有何用途
我們一般在調試程序的時候為了提高開發進度,都把程序放在RAM中調試,在RAM中調試有一個缺陷就是每次上電必須下載程序到板子上,當產品的各個模塊調試OK,產品就要實現脫機功能,即把程序燒寫到FLASH中,這樣就不需要每次上電加載程序。我們手中拿的手機,在開發階段都是在RAM(SDRAM)中調試的,開發完成,要發布的時候就把程序燒到FLASH,這樣我們開機有能運行FLASH的程序。
第四篇:嵌入式學習心得
嵌入式學習心得
當今社會,嵌入式系統已經滲透到人們工作、生活中的各個領域,嵌入式處理器已占分散處理器市場份額的94%。而嵌入式Linux系統也蓬勃發展,不僅繼承了Linux源碼開放、內核穩定高效、軟件豐富等優勢,還具備支持廣泛處理器結構和硬件平臺、占有空間小、成本低廉、結構緊湊等特點。
我很幸運接觸了嵌入式,在嵌入式實驗我知道了構建嵌入式系統的開發環境明白了交叉編譯:交叉編譯的環境建立在宿主機上,而對應的開發板為目標機。為了使宿主機上開發的程序能夠方便的下載到目標機上運行,一般還要在宿主機上配置好網絡,使其支持NFS或tftp等網絡服務,從而達到兩臺機器之間的文件共享,知道了宿主機與目標機之間的關系:在嵌入式系統開發過程中,由于可執行程序的編譯過程和執行過程分別在宿主機和目標機上完成,因此實現宿主機和目標機之間的實時交互能夠大幅度提高嵌入式系統開發的效率。由于目標機也帶有操作系統,因此可以通過實現不同機器之間的網絡共享來完成實時交互。宿主機開發程序,而目標機作為最后的執行機。兩者在開發時需要交替結合進行。知道了UBOOT移植、UBOOT編譯、UBOOT燒寫。LINUX內核的移植、LINUX內核燒寫。LINUX驅動程序的編寫系統調用是操作系統內核和應用程序之間的接口,設備驅動程序是操作系統內核和機器硬件之間的接口.設備驅動程序為應用程序屏蔽了硬件的細節,這樣在應用程序看來,硬件設備只是一個設備文件,應用程序可以像操作普通文件一樣對硬件設備進行操作.設備驅動程序是內核的一部分,它完成以下的功能:對設備初始化和釋放、把數據從內核傳送到硬件和從硬件讀取數據、讀取應用程序傳送給設備文件的數據和回送應用程序請求的數據、檢測和處理設備出現的錯誤.在Linux操作系統下有兩類主要的設備文件類型,一種是字符設備,另一種是塊設備.字符設備和塊設備的主要區別是:在對字符設備發出讀/寫請求時,實際的硬件I/O一般就緊接著發生了,塊設備則不然,它利用一塊系統內存作緩沖區,當用戶 進程對設備請求能滿足用戶的要求,就返回請求的數據,如果不能,就調用請求函數來進行實際的I/O操作.塊設備是主要針對磁盤等慢速設備設計的,以免耗費 過多的CPU時間來等待.、DM6446 USB驅動編寫。ARM+DSP雙處理器開發實驗。在這些實驗當中我遇到了很多問題,因為是第一次接觸linux,很多命令都不清楚,操作起來很不方便,使實驗進度很慢,并且很多命令也是比葫蘆畫瓢,根本不知道為什么這么用,所以導致命令不熟練,下次操作時依然需要回憶。在程序開發中我在課下熟悉了shell命令以后,對一般的操作也算了解,我明白了問題就如爬山:不怕慢就怕站,只要我慢慢積累我就會學到應該如何編寫我自己的程序,搭建我自己的嵌入式系統。盡管我們已經懂得了一些皮毛但是前方的路依然任重道遠,要想把我們專業的優勢發揮出來就需要軟硬件結合,這無疑是一次巨大的契機,我感覺在結
課以后我們一定仔細想在實驗中做的不足,以及實驗中給我的資源我如何合理的應用。畢竟學無止境,我也看看其他論壇上應該建議我們如何學習嵌入式,但是眾說紛紜,我不應該關注別人做了什么,但是我應該明白我的每一次付出會有什么收獲,畢竟再多的參考也比不上你的實際情況,正如我們的dm6446它的學習方式與一般的arm還是有區別的,所以要因材施教。其實在你想做嵌入式Linux的時候,要對自己有信心。很可能自己以前學習的不是這個專業或者以前沒有接觸過,就像我一樣,我以前也沒接觸過嵌入式,一旦我們確定了自己要做嵌入式,我想擺在我們面前的最大的一個難題就是,嵌入式對我們很模糊,好想心理面有好多好多陰霾,不用怕,請相信自己,新手都是這樣,有疑團,才會激發我們探索的動力和激情。相信自己,在不久的將來自己會摸到嵌入式的棱角的,摸清他的面貌的。把學習穿插到日常生活中。一旦決定要學,就從現在開始學習,永遠不要希望人的一生會騰出一段時間來讓你去專門學習嵌入式的,就像當你出生的時候,永遠不可能會專門騰出一段時間來讓你專門學走路,最終情況是你學走路的同時很可能也在學習說話,學習吃飯。所以,對于學生來說,永遠不要試圖把學習嵌入式挪到假期,因為你不能預料到假期你會發生什么而耽誤你學習的時間。需要用到什么學什么。不要企圖把Linux,arm等所謂的什么教程之內的書看完了再去做開發。個人覺得Linux,只要知道大概,只要知道簡單的命令,會用就可以了,但是gcc,gdb一定要掌握,然后就是要掌握嵌入式Linux和Linux開發環境的配置。嵌入式Linux是在開發板里面的Linux。而單純的說Linux說的是PC上的Linux。遇到問題,我們就去解決,要解決,我們就可以翻書,查資料,這樣既可以縮短項目開發周期,又可以學習,這樣就避免了可能你把一本關于Linux的書看完了,你還不知道如何去做嵌入式Linux開發。不管你要做什么開發,裝上Linux后,請安裝英文版的,并且盡量在無圖形界面寫工作。因為很多公司都明確禁止用Linux圖形界面和中文版的。不管做什么開發,應用開發,或者是驅動開發,都要先編譯內核,因為有好多文件是只有你編譯內核之后才能產生的,而這些文件,很可能就是你要用的。做應用開發,首先用從讀懂驅動入手。不要求你會寫驅動,但是起碼要讀懂驅動,這樣才有助于應用開發除非你的嵌入式開發板是跑裸機,也就是沒有Linux系統,你可以操作arm的寄存器,可以直接操作硬件,比如JTAG仿真就是。其他情況,一旦你有Linux系統,你的程序時不可能直接操作硬件的。明白這一點,你就不會向我一樣,開始做嵌入式Linux應用的時候以為可以和單片機一樣,直接控制引腳來寫程序了。有了Linux,用主要用的系統提供給用戶的接口。
要時刻把握每一次提高自己的機會!
第五篇:嵌入式學習心得
嵌入式學習心得
時間過的緊快,在粵嵌教育已經培訓有5個月了,培訓期間收獲很多,也認識了班上的學習大神,經過系統的學習,老師的細心指導,我的付出努力,對于嵌入式上,學到很多實用的知識,在動手操作能力也加強了,不僅在專業技術方面有了很大進步,而且在實踐操作方面我也對嵌入式有了更深入的了解。也許這5個月是我在外面學習和生活最寶貴的時間。
在校兩年,讀于電子信息工程技術專業的我,就覺得這專業學的知識太廣了,不管基礎還是動手操作,都要比較靈活。在校期間,學習單片機,傳感器,C語言,嵌入式應用技術等課程。感覺學起來,對我來說接受還是比較快的,那時就有想過:學的多不如學的巧,也許在校對課程多于理論為主,理解它的原理和基本編程方式。其實,我還是有努力去學的,可以說,在校科任老師都教會我很多專業知識,為我將來的學習和發展打好基礎。
在大三期間,為了更明確自己要走的方向,去培訓嵌入式軟件開發。也許將要投身嵌入式行業的我,就注定這條路要付出很多時間和精力,但可能我好求比較強,接受還行,就不停給自己打氣,努力!要去培訓嵌入式時,我從網上也對它有更加的理解,也看下大2學的嵌入式應用技術書,嵌入式系統是軟件和硬件的綜合體,以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。剛開始嵌入式學習,對Linux系統的知識加于鞏固。一些簡單的代碼,C語言,對于嵌入式軟件還是硬件開發的人員,對C語言的掌握這個是必需的,特別是對于以后致力于嵌入式軟件開發的人,現在絕大部分都是用C語言。在下來幾個月就對Linux系統,數據結構、系統移植的方法、A8的體系結構、Linux內核及驅動設計、android、C+Java的JNI應用編程的系統學習。在每學個階段就作一個考試,對前面所學的知識進行復習,有些會做一個簡單的小項目,學以致用。知識量還是比較多,但教學也比較快,有些知識還沒消化完,第二天又接受新知識,對于能在課上就可以對知識完全懂的并不多,晚上都用一兩個小時來復習。經過5個月系統的學習,嵌入式技術方面有了很大進步,實踐操作方面也對嵌入式有了更深入的了解。在最后一個月,基于A8(S5PV210)的嵌入式智能家居系統制作。
下面我談談在粵嵌教育的培訓感受,我培訓的地點是在科學城粵嵌教育培訓中心的多媒體課室里,這里有學習環境非常好,在緊張的學習的過程中,你可以得到名師的指導,也可以體會到一流企業高質量的培訓。在課堂上,老師們認真的演講,以及手把手地教導,使每個學生都能夠扎實地掌握到嵌入式的各方面的知識。而粵嵌教育的老師也是操作實踐為主,實踐是非常重要的,只有把知識掌握到位,才能達到學習的目的。感謝粵嵌教育機構,感謝粵嵌教育老師。