第一篇:嵌入式實(shí)驗(yàn)學(xué)習(xí)心得及期末總結(jié)
嵌入式實(shí)驗(yàn)學(xué)習(xí)心得
及期末總結(jié)
本學(xué)期的嵌入式實(shí)驗(yàn)課是在老師的指導(dǎo)下進(jìn)行的,主要進(jìn)行了三個(gè)階段的實(shí)驗(yàn)課程。
一,Linux系統(tǒng)的基礎(chǔ)指令的認(rèn)識(shí)和操作 二,嵌入式平臺(tái)的搭建以及外部驅(qū)動(dòng)的掛載 三,vi編輯器的運(yùn)用及gcc操作指令
第一次試驗(yàn),我們利用虛擬機(jī)學(xué)習(xí)了Linux系統(tǒng)的基礎(chǔ)指令,Linux系統(tǒng)和我們常用的Windows系統(tǒng)有著很大的區(qū)別,相比較而言Windows系統(tǒng)經(jīng)更加美觀,操作簡(jiǎn)潔易用。而Linux系統(tǒng)則是一個(gè)更基礎(chǔ)和開放的平臺(tái),在基礎(chǔ)的部分它們也有著一些共同點(diǎn),通過(guò)基礎(chǔ)指令的學(xué)習(xí),讓我們對(duì)計(jì)算機(jī)有了更進(jìn)一步的了解,嵌入式的開發(fā)也正是在這樣的基礎(chǔ)環(huán)境中進(jìn)行的。
第二次試驗(yàn),我們通過(guò)試驗(yàn)箱,自己動(dòng)手利用數(shù)據(jù)線和PC上的Linux虛擬機(jī)相連接,搭建起了一個(gè)簡(jiǎn)單的嵌入式開發(fā)平臺(tái),并且學(xué)習(xí)了外設(shè)驅(qū)動(dòng)的掛載。驅(qū)動(dòng)掛載和處理的步驟比較繁瑣,很容易出錯(cuò),在老師老師的指導(dǎo)和幫助下,我們找出并解決了出現(xiàn)的問(wèn)題,極大的培養(yǎng)了我們動(dòng)手和動(dòng)腦的能力。
第三次實(shí)驗(yàn),是利用Linux系統(tǒng)自帶的vi編輯器進(jìn)行C程序的簡(jiǎn)單編譯,首先利用mkdir創(chuàng)建一個(gè)文件夾,在文件夾下創(chuàng)建一個(gè)name.c的vi編輯器。
在編輯器里,編寫一個(gè)簡(jiǎn)單的C程序,wq存以后,點(diǎn)ESC退出編輯模式,然后用Ctrl+ZZ退出編輯器,編輯完成后,利用GCC指令-E,-S,-c,對(duì)程序進(jìn)行預(yù)處理編譯及匯編。
一學(xué)期的學(xué)習(xí)很快就結(jié)束了,在對(duì)本門實(shí)驗(yàn)課總結(jié)過(guò)程中溫故而知新,再次感謝老師的辛勤指導(dǎo),祝老師身體健康,工作順利。
學(xué)生:
學(xué)號(hào):
第二篇:嵌入式實(shí)驗(yàn)總結(jié)
如今,嵌入式系統(tǒng)已經(jīng)在眾多電氣電子產(chǎn)品上應(yīng)用,有人預(yù)測(cè)今后5年發(fā)展形勢(shì)看好。嵌入式是典型的交叉學(xué)科,電信、電子、電氣、計(jì)算機(jī)、通信等等都有涉及。
嵌入式理論、實(shí)踐要求多、門檻高,只有理論、實(shí)踐同步才能在積累中更好的漸次掌握,這學(xué)期我們針對(duì)嵌入式入門做了一些實(shí)驗(yàn),通過(guò)自己動(dòng)手和實(shí)驗(yàn)箱、實(shí)驗(yàn)軟件打交道,對(duì)嵌入式編程形成初步了解,為今后進(jìn)一步發(fā)展打基礎(chǔ)。
實(shí)驗(yàn)環(huán)境:
武漢創(chuàng)維特公司JXARM9-2410開發(fā)板、PC;
Linux、windows操作平臺(tái);
DNW、VMwareWorkstation應(yīng)用軟件;
《ARM9嵌入式技術(shù)及Linux高級(jí)實(shí)踐教程》、實(shí)驗(yàn)參考資料等;
實(shí)驗(yàn)內(nèi)容及目標(biāo):
閱讀樣例程序,進(jìn)行:
1.熟悉JXARM9-2410開發(fā)板、相關(guān)應(yīng)用軟件的使用,能成功運(yùn)行示例實(shí)驗(yàn)程序(demo-led);
2.使用VMware,修改demo-led源程序,使開發(fā)板上數(shù)碼管按照demo-led顯示方式顯示;
3.使用VMware、DNW,修改相關(guān)源程序,實(shí)現(xiàn)開發(fā)板鍵盤輸入的字符在DNW中顯示;
4.使用VMware、DNW,修改相關(guān)源程序,實(shí)現(xiàn)對(duì)直流電機(jī)轉(zhuǎn)動(dòng)狀態(tài)的控制;
觀看教學(xué)視頻,進(jìn)行交叉編譯:
1.加載linux內(nèi)核;
2.配置、編譯linux內(nèi)核;
3.Windows、linux跨平臺(tái)文件共享;
4.編譯、運(yùn)行l(wèi)inux程序(helloworld)
5.Linux下編譯數(shù)碼管顯示驅(qū)動(dòng)程序;
6.Linux下編譯攝像頭、GPRS驅(qū)動(dòng)程序;
學(xué)習(xí)嵌入式是一個(gè)漫長(zhǎng)的過(guò)程,學(xué)好它還是需要一番的功夫。通過(guò)嵌入式實(shí)驗(yàn)由淺入深的動(dòng)手實(shí)踐,我漸漸對(duì)嵌入式有了具體概念,也逐漸對(duì)其產(chǎn)生了興致和好奇心。
對(duì)于初學(xué)者,還有一點(diǎn)小建議,不要好高騖遠(yuǎn),要腳踏實(shí)地.
第三篇:嵌入式學(xué)習(xí)心得總結(jié)
嵌入式學(xué)習(xí)心得總結(jié)(精選多篇)
嵌入式學(xué)習(xí)心得總結(jié)
4月10號(hào),為期一個(gè)階段的linux開發(fā)基礎(chǔ)培訓(xùn)課程圓滿結(jié)束,回首這些天所留下的點(diǎn)點(diǎn)滴滴,感觸深深,學(xué)習(xí)上知識(shí)點(diǎn)的積累,靈活運(yùn)用的過(guò)程中感受到了linux操作的快速高效性能,這也是我所追求的效率!
當(dāng)初初涉培訓(xùn)課程的第一門課程時(shí),都說(shuō)linux操作很繁瑣復(fù)雜,心里總有些顧忌,帶著種種不安與些許拼博的決心,開始了自我提升階段的“充電”,由徐海兵老師教授我們基礎(chǔ)課程的培訓(xùn),我們則像著小學(xué)生般認(rèn)真的記著筆記,仔細(xì)聽著并學(xué)會(huì)如何去在實(shí)踐中運(yùn)用所學(xué)的linux下的各種強(qiáng)大的命令集。
在unit 1中,徐老師詳細(xì)生動(dòng)的為我們講述了有關(guān)linux的誕生、初成長(zhǎng)以及輝煌的發(fā)展至今,今后應(yīng)用范圍則愈來(lái)愈廣泛,講解了為linux這個(gè)偉大的os做出巨大貢獻(xiàn)的一位位出色的、偉大的人物,他們那種學(xué)習(xí)鉆研的精神、鍥而不舍的信念、勇于把握住難得的機(jī)會(huì),從小處著手,踏踏實(shí)實(shí)的創(chuàng)造出了對(duì)人類科技發(fā)展做出卓越貢獻(xiàn)的linux系統(tǒng),他們的種種,都值得我們?nèi)ド羁谭词 ⒖炭鄬W(xué)習(xí)、傳承并永遠(yuǎn)發(fā)展下去。
查看ip地址和重啟網(wǎng)絡(luò)服務(wù)是我學(xué)的第一個(gè)命令: ifconfig eth0、ifconfig eth0 ip地址、service network restart。了解到遠(yuǎn)程登錄軟件可用xmanager。
securecrt是我們常用的,安裝好后利用其登錄到了red hat linux,需要知道linux主機(jī)的ip 地址。徐老師為我們介紹了重要內(nèi)容:shell,即運(yùn)行程序的程序,如echo $shell可查看shell的環(huán)境變量是csh還是bash。指令pwd可查看當(dāng)前所在路徑,passwd:更改linux下的密
碼,僅限r(nóng)oot用戶有此權(quán)限,當(dāng)然我們是利用虛擬機(jī)vmware程序來(lái)運(yùn)行l(wèi)inux os的,懂得了如何設(shè)置虛擬機(jī)的網(wǎng)卡設(shè)置、暫停、恢復(fù)、全屏等。
簡(jiǎn)單的學(xué)習(xí)后進(jìn)入unit 2,命令行的句法讓我懂得了用法規(guī)則,一系列的命令功能強(qiáng)大:
date 顯示當(dāng)前年月時(shí)間星期之類的;
more指令與less重要但不常用;
cat用于查看短小的文件內(nèi)容,常用!
mkdir命令用于在當(dāng)前目錄下創(chuàng)建新的目錄;
ls 顯示當(dāng)前目錄下所有文件;cd 更改文件路徑,如cd、cd.當(dāng)前目錄;
rmdir 刪除空文件夾;
rm指令很強(qiáng)大,用于刪除空目錄及非空目錄下的指定或全部文件;
man 真男人,幫助手冊(cè);
history指令用于顯示編寫過(guò)的命令集,以history 序號(hào) 可顯示序號(hào)所指
命令;
echo回寫命令,很重要,我需要繼續(xù)學(xué)習(xí);
exit 指從多重shell退出來(lái);
linux賬號(hào)下,可以增加用戶、刪除用戶、設(shè)置密碼:useradd、userdel、passwd;注:所有的用戶的家目錄都在/home下面,唯獨(dú)root的家是在/root.點(diǎn)文件都是些shell的腳本程序,也稱隱藏文件;環(huán)境變量常見的有:home path pwd,懂得了絕對(duì)路徑與相對(duì)路徑的對(duì)比概念。
unit
3、文件與文件處理的學(xué)習(xí)中,知道了linux下支持的六種文件類型:普通文件、目錄、設(shè)備文件、命名管道、符號(hào)鏈接、socket;linux下文件系統(tǒng)的組織:倒立的樹形結(jié)構(gòu):/ /bin /boot /dev /home /lib /proc等文件目錄,ls –l指令很好很強(qiáng)大,顯示文件類型與權(quán)限、所有者、字節(jié)大小、時(shí)間及文件名;touch可創(chuàng)建空文件,復(fù)制文件用指令 cp,可選-i、-r等;重命名文件使用 mv;du 顯示
當(dāng)前目錄所占空間大小;wc 命令 顯示列表中文件的行數(shù)、字?jǐn)?shù)、字符數(shù);追加:cat 》 目標(biāo)文件;find指令與grep重要,暫未學(xué)習(xí),自己在實(shí)踐中學(xué)習(xí),文件訪問(wèn)權(quán)限有:r w x;chmod指令可修改訪問(wèn)權(quán)限,如 chmod 777-r 文件名。
輸入輸出重定向 每個(gè)命令默認(rèn)打開三個(gè)文件:標(biāo)準(zhǔn)輸入stdin,標(biāo)準(zhǔn)輸出stdout,標(biāo)準(zhǔn)錯(cuò)誤stderr,鍵盤為標(biāo)準(zhǔn)輸入,而控制臺(tái)則是標(biāo)準(zhǔn)輸出,文件描述符分別是0,1,2;最重要最常用的為輸出重定向 > 與錯(cuò)誤重定向 2>;
echo 添加的內(nèi)容 >/ 》 文件;
linux過(guò)濾器和管道:管道操作符:| ;即將某個(gè)命令的輸出與某個(gè)命令的標(biāo)準(zhǔn)輸入相連接,從而實(shí)現(xiàn)管道功能,例如 ls –l |wc;管道和重定向操作符可同時(shí)用于一個(gè)命令行。
unit 5:linux/unix進(jìn)程 進(jìn)程為程序運(yùn)行的一個(gè)實(shí)例,可用ctrl-z掛起進(jìn)程,或在命令后加上&符號(hào)即可;運(yùn)行在
后臺(tái)的系統(tǒng)進(jìn)程是守護(hù)進(jìn)程,它為用戶提供各種服務(wù)。
ps 指令可顯示進(jìn)程屬性,有ps l;ps a;ps aux等
ps –l可顯示用戶id、進(jìn)程id、優(yōu)先級(jí)、tty以及stat
bg、fg 分別將進(jìn)程放后臺(tái)、前臺(tái)運(yùn)行,jobs則是查詢所運(yùn)行的進(jìn)程的狀態(tài);
& 放于命令間表示可同時(shí)運(yùn)行多個(gè)命令;
; 表示可順序執(zhí)行多個(gè)命令
前臺(tái)程序可用ctrl-c來(lái)終止、kill指令
進(jìn)入unit 6,神秘的shell腳本逐漸揭開了她那瑰麗的面紗
環(huán)境變量的設(shè)置:export myhost=ip地址
查詢引用 echo $myhost
了
首先我聲明,我是基于嵌入式系統(tǒng)平臺(tái)級(jí)設(shè)計(jì)的,硬件這個(gè)方向我相對(duì)來(lái)
講比較有發(fā)言權(quán),如果是其它方面所要具備的基本技能還要和我們培訓(xùn)中心其它專業(yè)級(jí)講師溝通。他們的方面上我只能說(shuō)是知道些,但不是太多,初級(jí)的問(wèn)題也可以問(wèn)我。
對(duì)于硬件來(lái)講有幾個(gè)方向,就單純信號(hào)來(lái)分為數(shù)字和模擬,模擬比較難搞,一般需要很長(zhǎng)的經(jīng)驗(yàn)積累,單單一個(gè)阻值或容值的精度不夠就可能使信號(hào)偏差很大。因此年輕人搞的較少,隨著技術(shù)的發(fā)展,出現(xiàn)了模擬電路數(shù)字化,比如手機(jī)的modem射頻模塊,都采用成熟的套片,而當(dāng)年國(guó)際上只有兩家公司有此技術(shù),自我感覺模擬功能不太強(qiáng)的人,不太適合搞這個(gè),如果真能搞定到手機(jī)的射頻模塊,只要達(dá)到一般程度可能月薪都在15k以上。
另一類就是數(shù)字部分了,在大方向上又可分為51/arm的單片機(jī)類,dsp類,fpga類,國(guó)內(nèi)fpga的工程師大多是在ic設(shè)計(jì)公司從事ip核的前端驗(yàn)證,這部分不搞到門級(jí),前途不太明朗,即使做個(gè)
ic前端驗(yàn)證工程師,也要搞上幾年才能勝任。dsp硬件接口比較定型,如果不向驅(qū)動(dòng)或是算法上靠攏,前途也不會(huì)太大。而arm單片機(jī)類的內(nèi)容就較多,業(yè)界產(chǎn)品占用量大,應(yīng)用人群廣,因此就業(yè)空間極大,而硬件設(shè)計(jì)最體現(xiàn)水平和水準(zhǔn)的就是接口設(shè)計(jì)這塊,這是各個(gè)高級(jí)硬件工程師相互pk,判定水平高低的依據(jù)。而接口設(shè)計(jì)這塊最關(guān)鍵的是看時(shí)序,而不是簡(jiǎn)單的連接,比如pxa255處理器i2c要求速度在100kbps,如果把一個(gè)i2c外圍器件,最高還達(dá)不到100kbps的與它相接,必然要導(dǎo)致設(shè)計(jì)的失敗。這樣的情況有很多,比如51單片機(jī)可以在總線接lcd,但為什么這種lcd就不能掛在arm的總線上,還有arm7總線上可以外接個(gè)winband的sd卡控制器,但為什么這種控制器接不到arm9或是xscale處理器上,這些都是問(wèn)題。因此接口并不是一種簡(jiǎn)單的連接,要看時(shí)序,要看參數(shù)。一個(gè)優(yōu)秀的硬件工程師應(yīng)該能夠在沒有參考方案的前提下設(shè)計(jì)出一個(gè)在成本和性
能上更加優(yōu)秀的產(chǎn)品,靠現(xiàn)有的方案,也要進(jìn)行適當(dāng)?shù)目尚行圆眉簦皇呛鷣y的來(lái),我遇到一個(gè)工程師把方案中的5v變1.8v的dc芯片,直接更換成ldo,有時(shí)就會(huì)把cpu燒上幾個(gè)。前幾天還有人希望我?guī)兔Π阉麄円郧盎趐xa255平臺(tái)的手持gps設(shè)備做下程序優(yōu)化,我問(wèn)了一下情況,地圖是存在sd卡中的,而sd卡與pxa255的mmc控制器間采用的spi接口,因此導(dǎo)致地圖讀取速度十分的慢,這種情況是設(shè)計(jì)中嚴(yán)重的缺陷,而不是程序的問(wèn)題,因此我提了幾條建議,讓他們更新試下再說(shuō)。因此想成為一個(gè)優(yōu)秀的工程師,需要對(duì)系統(tǒng)整體性的把握和對(duì)已有電路的理解,換句話說(shuō),給你一套電路圖你終究能看明白多少,看不明白80%以上的話,說(shuō)明你離優(yōu)秀的工程師還差得遠(yuǎn)哪。其次是電路的調(diào)試能力和審圖能力,但最最基本的能力還是原理圖設(shè)計(jì)pcb繪制,邏輯設(shè)計(jì)這塊。這是指的硬件設(shè)計(jì)工程師,從上面的硬件設(shè)計(jì)工程師中還可以分出ecad工程
師,就是專業(yè)的畫pcb板的工程師,和emc設(shè)計(jì)工程師,幫人家解決emc的問(wèn)題。硬件工程師再往上就是板級(jí)測(cè)試工程師,就是c語(yǔ)功底很好的硬件工程師,在電路板調(diào)試過(guò)程中能通過(guò)自已編寫的測(cè)試程序?qū)τ布δ苓M(jìn)行驗(yàn)證。然后再交給基于操作系統(tǒng)級(jí)的驅(qū)動(dòng)開發(fā)人員。
總之,硬件的內(nèi)容很多很雜,硬件那方面練成了都會(huì)成為一個(gè)高手,我時(shí)常會(huì)給人家做下方案評(píng)估,很多高級(jí)硬件工程師設(shè)計(jì)的東西,經(jīng)常被我一句話否定,因此工程師做到我這種地步,也會(huì)得罪些人,但硬件的確會(huì)有很多不為人知的東西,讓很多高級(jí)硬件工程師也摸不到頭腦。
那么高級(jí)硬件件工程師技術(shù)技能都要具備那些東西哪,首先要掌握eda設(shè)計(jì)的輔助工具類如protelorcadpowperpcbmaplux2ise、vdhl語(yǔ)言,要能用到這些工具畫圖畫板做邏輯設(shè)計(jì),再有就是接口設(shè)計(jì)審圖能力,再者就是調(diào)試能力,如果能走到總體方
案設(shè)計(jì)這塊,那就基本上快成為資深工程師了。
硬件是要靠經(jīng)驗(yàn),也要靠積累的,十年磨一劍,百年磨一針。
把一個(gè)月前想寫的東西,今天終于用一上午的進(jìn)間整理完了,希望對(duì)喜愛嵌入式系統(tǒng)開發(fā)的工程師和學(xué)生們有所幫助。
嵌入式系統(tǒng)學(xué)習(xí)心得:
這個(gè)題目很大,給人一種感覺我好像很成功,其實(shí)不然。實(shí)際上自己水平不高,甚至很低,但是做過(guò)了一些曲折的學(xué)習(xí)道路,同時(shí)把自己真實(shí)的學(xué)習(xí)歷程表達(dá)出來(lái),希望對(duì)后來(lái)者有借鑒的意義,甚幸!
工作三年、幾成廢人!
我xx年畢業(yè)于華中地區(qū)的一個(gè)理工科大學(xué),專業(yè)是機(jī)械電子,我當(dāng)時(shí)已經(jīng)簽了一家內(nèi)陸某個(gè)省級(jí)機(jī)關(guān)工作,家里八輩是農(nóng)民,并且很偏遠(yuǎn),能夠進(jìn)入這樣的地方是祖墳有風(fēng)水。但在畢業(yè)前夕有個(gè)進(jìn)入it的機(jī)會(huì),我本想進(jìn)去的,家里人極力反對(duì),阻力可想而知。同時(shí)要交4000元的違約金,對(duì)我來(lái)說(shuō)是天文數(shù)字。大學(xué)里的費(fèi)用很多是借的,幾乎將近一半的費(fèi)用是在大學(xué)勤工儉學(xué)掙的,為了省錢,高中一個(gè)學(xué)期回家一次,大學(xué)一年回去一次。并且我個(gè)人也有特殊的人生背景,這里不多說(shuō)了,寫十篇也寫不完,同時(shí)偏離主題。這樣我就參加了工作。一張報(bào)紙一杯茶的日子,幾乎下班后有種很空虛和恐慌的感覺。在工作中雖然是與自己專業(yè)有點(diǎn)關(guān)系,但是很少。專業(yè)幾乎荒廢。我自己也思考,如果再不出去,自己將會(huì)成廢人,只好讓國(guó)家養(yǎng)了。兩年后決定出去,但是幾成廢人,誰(shuí)要呢,只好到學(xué)校去鍍金。這是中國(guó)教育和社會(huì)的悲哀!
至于專業(yè)就改為計(jì)算機(jī)方面,聽說(shuō)好找工作,我說(shuō)實(shí)話不是很對(duì)計(jì)算機(jī)特別感興趣,生存第一需要。不要笑我,哈哈!
考研成績(jī)出來(lái),超過(guò)了國(guó)家線幾十分。那個(gè)方向要兩個(gè),我第三,但是那
年非碘,不面試就按分?jǐn)?shù)來(lái)排,自然我落選了。其實(shí)給我面試機(jī)會(huì)也不一定要我,哈哈,自己幾斤幾兩很清楚。
最后調(diào)劑到另外一個(gè)學(xué)校,交錢,咬咬牙,交吧!現(xiàn)在仍然債臺(tái)高筑!
進(jìn)入學(xué)校前夕
為什么要把這段列出,看后就知道了。
單位有網(wǎng)絡(luò),經(jīng)常上網(wǎng)查些英語(yǔ)資料,在那里唯獨(dú)英語(yǔ)沒有丟很多。于是我就在網(wǎng)上查資料,學(xué)什么好呢,最后確定學(xué)嵌入式把,聽說(shuō)跟硬件相對(duì)比較緊密!而我在大學(xué)里多少學(xué)習(xí)了數(shù)字電路,單片機(jī)等,所以多少也有所利用,不會(huì)真的一無(wú)所知。當(dāng)然在這之
前也自學(xué)過(guò)數(shù)據(jù)結(jié)構(gòu),計(jì)算機(jī)組成原理等。c 語(yǔ)言在大學(xué)就學(xué)了。哈哈這就是我的家底。
我知道自己的基礎(chǔ)差,于是我就拿操作系統(tǒng),數(shù)據(jù)庫(kù)、數(shù)據(jù)結(jié)構(gòu)、c++來(lái)看,機(jī)關(guān)有這個(gè)好處,空余時(shí)間多,于是平常就看書,很痛苦,沒有人請(qǐng)教。
另外就上網(wǎng)到論壇上去,我就到各個(gè)專業(yè)的技術(shù)論壇,其實(shí)是電子論壇和嵌入式論壇。我?guī)缀鯖]有發(fā)帖,幾乎把幾個(gè)大型的出名的論壇的帖子翻遍了,雖然有很多重復(fù)的,我才知道嵌入式是個(gè)什么東東。這些帖子對(duì)我以后的學(xué)習(xí)產(chǎn)生了極大的影響。
最關(guān)鍵兩點(diǎn):
1、嵌入式是什么?
2、嵌入式需要哪些知識(shí)?
知道了這兩點(diǎn),好辦!我就開始規(guī)劃學(xué)習(xí)路線。計(jì)算機(jī)的基本理論不能丟,于是重點(diǎn)看組成原理,數(shù)據(jù)機(jī)構(gòu),操作系統(tǒng)、c++。同時(shí)論壇上了解到,實(shí)時(shí)操作系統(tǒng)ucos是一個(gè)很好的嵌入式操作系統(tǒng),對(duì)初學(xué)者很好。于是我就買了一本書,但是代碼在電腦里調(diào)不通,網(wǎng)上也有很多相同的問(wèn)題,我就看書,分析代碼,一遍不行就兩遍,三遍,這樣才看了入了門,才知道什么是進(jìn)程。原來(lái)看操作系統(tǒng)書時(shí),根本就不知道進(jìn)程是個(gè)什么東西。
在這段時(shí)間掌握的東西不多,但
是,對(duì)我以后的影響很大,我想起了大學(xué)時(shí)一個(gè)同學(xué)跟我說(shuō)過(guò)了一句話:大學(xué)里最重要的不是學(xué)到了什么,最重要的是學(xué)會(huì)怎么學(xué)!大概是這個(gè)意思。
進(jìn)入我的避難所
對(duì)我來(lái)講,再次進(jìn)入大學(xué)不再是大學(xué),而是避難所。希望這次進(jìn)入給我喘氣和養(yǎng)精蓄銳的機(jī)會(huì)和時(shí)間。我是這樣認(rèn)為和實(shí)踐的。
在學(xué)校我有三件事:上課,上圖書館,上網(wǎng)。
對(duì)于上課,學(xué)校開了很多課程,非常好,很多是名人名師講解,于是很多同學(xué)都想學(xué),都去聽。我也考慮過(guò),最后放棄。我是這樣認(rèn)為的,時(shí)間是有限的,什么都想學(xué),什么都學(xué)不成。于是我把我自己學(xué)的課進(jìn)行了分化,一般的課程通過(guò)就行,重要的一定好好學(xué)。我希望不要什么爭(zhēng)論學(xué)習(xí)課程多和少的問(wèn)題,這僅僅是我的看法。所以我的成績(jī)應(yīng)該是很差的。分?jǐn)?shù)低。好在后來(lái)的單位沒有要我的成績(jī)單,否則就慘了。
我個(gè)人感覺是上圖書館的效率比在寢室里高多了,這是我的經(jīng)驗(yàn)。
個(gè)人學(xué)習(xí)嵌入式心得體會(huì)
就我個(gè)人而言,從最開始對(duì)嵌入式一竅不通到現(xiàn)在越學(xué)越感興趣,當(dāng)然相應(yīng)在嵌入式方面的提高也是很明顯的。學(xué)習(xí)潛入式越來(lái)越成為我學(xué)習(xí)生活的一部分,現(xiàn)在把我的學(xué)習(xí)過(guò)程與大家一起分享,希望那些和我一樣對(duì)嵌入式想學(xué)而又迷茫,不知從哪入手的同學(xué)朋友有所幫助。
一、語(yǔ)言基礎(chǔ)
嵌入式開發(fā)很大一部分靠c語(yǔ)言,尤其在底層驅(qū)動(dòng)等用的很多,當(dāng)然在應(yīng)用開發(fā)還用到諸如c++等其他語(yǔ)言,但我想對(duì)于一個(gè)初學(xué)者有c基礎(chǔ)就足夠了,等到學(xué)到一定程度再去擴(kuò)展。所以,c 基礎(chǔ)是學(xué)嵌入式的前提。
二、單片機(jī)等知識(shí)的儲(chǔ)備
我覺得單片機(jī)、嵌入式等這一類都有很大的相似性,知識(shí)功能不一樣,但工作的原理、控制原理都和大的相似。
就我個(gè)人而言,能比較快的進(jìn)入嵌入式的學(xué)習(xí)與提高,很大一部分依賴于對(duì)單片機(jī)的原理有較深入的學(xué)習(xí)和理解,單片機(jī)比較簡(jiǎn)單,學(xué)習(xí)起來(lái)相對(duì)比較容易,所以我建議哪些想學(xué)潛入式的同學(xué),可以和我一樣從單片機(jī)入手,那樣不僅可以理解這些微處理器、微控制器的操作與控制原理,當(dāng)然還可以順便學(xué)學(xué)匯編語(yǔ)言,這對(duì)后面的嵌入式學(xué)習(xí)都有很大的幫助。
三、接受培訓(xùn)
暑假,我在學(xué)院的組織下參加過(guò)icc的嵌入式培訓(xùn),雖然接觸的都是皮毛,但是對(duì)我進(jìn)入嵌入式的學(xué)習(xí)起了一個(gè)很好的引導(dǎo)作用。所以,如果有條件的可以去報(bào)名正規(guī)的專門的培訓(xùn)班,這樣如果遇到問(wèn)題也可以比較容易的得到老師或?qū)I(yè)人士的指導(dǎo),提高學(xué)習(xí)效率。
四、買開發(fā)板自己動(dòng)手做
個(gè)人覺得這是最重要的一種做法。這東西沒自己親手做,程序沒親手寫,沒有進(jìn)行調(diào)試等,都是很難學(xué)到東西,因?yàn)楹芏鄸|西感覺看的都懂,其實(shí)真正做起來(lái)就什么都不會(huì)了。因此買塊板來(lái)自己做,這樣才能真正將所學(xué)的應(yīng)用到實(shí)際中去。而且這樣做映像很深,死記硬背原理及規(guī)則不但不可行還會(huì)拖垮你的學(xué)習(xí)興趣,自然學(xué)不下。
總之,我覺得,基礎(chǔ)知識(shí)很重要,但是動(dòng)手做更重要!我能說(shuō)的就這些了,能力有限,不好的地方請(qǐng)指教!
學(xué)習(xí)嵌入式系統(tǒng)心得
說(shuō)實(shí)在話在沒有學(xué)習(xí)之前,以及在學(xué)之前通過(guò)一些口中得知這是一門很不錯(cuò),很有意思的一門課。而且目前是十分吃香的一門課程,如果學(xué)好了工作很好找并且待遇也很好。聽到這些,我內(nèi)心非常期待上這門含金量如此之高的一門技術(shù)課。據(jù)我了解,嵌入式系統(tǒng)是一個(gè)很有前景的行業(yè)。學(xué)會(huì)嵌入式技術(shù),就相當(dāng)于給自己創(chuàng)造了更多的機(jī)會(huì)。那么,在可以預(yù)計(jì)的將來(lái),嵌入式技術(shù)的應(yīng)用會(huì)越來(lái)越廣泛。
說(shuō)實(shí)在的,第一天,我滿懷期望的
去上這門課。可是一上課聽到老師的介紹,我就頭昏腦脹了。這是什么課啊,誰(shuí)會(huì)聽得懂。猶如天書一般。
實(shí)事求是的說(shuō),嵌入式技術(shù)的全面掌握是有相當(dāng)難度的。可以輕輕松松學(xué)會(huì)嵌入式技術(shù)的說(shuō)法是夸大其詞了。這個(gè)就像學(xué)英語(yǔ)一樣,學(xué)英語(yǔ)無(wú)論怎樣學(xué),不管是“瘋狂學(xué)”還是用新理念來(lái)學(xué),真正掌握的話還是需要一步步積累才能熟練掌握。在此,我們通過(guò)短短的幾個(gè)星期簡(jiǎn)單的了解和學(xué)習(xí)一下嵌入式,想成為這方面的高手。這些想法本身是不太現(xiàn)實(shí)的。我心里清楚我們需要做的是:
第一:把心踏實(shí)下來(lái),做好打硬仗的準(zhǔn)備。
第二:注意學(xué)習(xí)方法。盡量不要走彎路,爭(zhēng)取一鼓作氣入門。一旦入門了以后呢就好辦了。嵌入式技術(shù)的掌握,本身呢就比較難,要是再走些彎路,時(shí)間上會(huì)浪費(fèi),甚至?xí)绊憣W(xué)習(xí)的信心。
這就是我這段時(shí)間的學(xué)習(xí)心得。
魯增慶 110402110 a11電氣
嵌入式linux學(xué)習(xí)心得
1、linux命令
ls:查看目錄-l以列表方式查看;ls –l 與ll的功能一樣 pwd: 查看當(dāng)前的目錄
cd:改變當(dāng)前操作目錄cd /直接跳到根目錄 cd..回到上一級(jí)目錄 cat: 打印顯示當(dāng)前文件的內(nèi)容信息
mkdir:創(chuàng)建目錄
fdisk: 查看硬盤分區(qū)信息,-l以列表方式查看
->代表是鏈接文件,類似window下的快捷方式。
cp: 復(fù)制命令,例子cp 文件名 /home/dir/
mv: 移動(dòng)或改名,如mv sonf.confsonf 移動(dòng):mv sonf.conf / rm:刪除命令,如rm –f test.c;如刪除目錄rm –fr d
man:查看某個(gè)命令的幫助,man 命令
2、各系統(tǒng)目錄的功能
drw—r—w--:d代表是目錄,drw代表當(dāng)前用戶的權(quán)限,r代表組用戶的權(quán)限,w代表其它用戶的權(quán)限。x代表有執(zhí)行權(quán)限。
/boot/gruff.conf: 啟動(dòng)引導(dǎo)程序
/dev:brw—rw--:b代表是塊設(shè)備。linux設(shè)備有三種,塊設(shè)備、字符設(shè)備、網(wǎng)絡(luò)設(shè)備。had代表第一個(gè)硬盤,hdb代表第二個(gè)硬盤。hdb2代表第二塊硬盤的第二個(gè)分區(qū)。3,67代表主設(shè)備為3,從設(shè)備為67./etc:存放的是系統(tǒng)的配置文件。inittab文件存放不同啟動(dòng)方式下必須啟動(dòng)的進(jìn)程。inittab文件中有6個(gè)啟動(dòng)level,wait中對(duì)應(yīng)著6個(gè)level的目錄,respawn代表當(dāng)一個(gè)進(jìn)程被意外終止了,但會(huì)自動(dòng)啟動(dòng)的進(jìn)程,如守護(hù)進(jìn)程。rc.d目錄中存放了一個(gè)rc.sysinit文件,里面存放系統(tǒng)初始化配置信息。/etc還有一個(gè)vsftpd里面存放tcp、ftp的配置。
/home : 用戶目錄,存放用戶的文件,/lib:存放庫(kù)文件,后綴為so的文件代表動(dòng)態(tài)鏈接庫(kù)。
/lost+found:系統(tǒng)意外終止,存放一些可以找回的文件。
/mnt:掛載外部設(shè)備,如掛載光驅(qū):mount –t /dev/cdrom/mnt/cdrom,如
果在雙系統(tǒng)中,要查看windows中d盤的文件,首先應(yīng)該將d盤的文件映射過(guò)來(lái),mount –t /dev/hda2/mnt/windows/d
/opt:用戶安裝的應(yīng)用程序
/proc:是系統(tǒng)運(yùn)行的映射,比較重要。里面的文件數(shù)字代表進(jìn)程號(hào)。每個(gè)進(jìn)程號(hào)目錄下包含進(jìn)程的基本信息。還有其他信息,如cpuinfo等,內(nèi)核支持的文件系統(tǒng)filesystem等。系統(tǒng)支持的中斷interrupts,iomen代表內(nèi)存分配情況。ioport存放io端口號(hào)。還有分區(qū)信息,modole信息,狀態(tài)信息,版本信息
對(duì)于linux的設(shè)備驅(qū)動(dòng)程序,有兩種加載模式,一種是直接加載進(jìn)linux內(nèi)核,一種是以模塊的方式加載到內(nèi)核。
/sbin: 系統(tǒng)管理的一些工具。如poweroff關(guān)機(jī)工具。
/usr: 安裝系統(tǒng)時(shí)很多文件放在此目錄下面,包含一些更新等,include包含的頭文件,lib 是linux的庫(kù)文件,src包含linux2.4的內(nèi)核源碼
/var:存放是臨時(shí)變量
3、
第四篇:嵌入式學(xué)習(xí)心得總結(jié)
嵌入式學(xué)習(xí)心得總結(jié)
4月10號(hào),為期一個(gè)階段的Linux開發(fā)基礎(chǔ)培訓(xùn)課程圓滿結(jié)束,回首這些天所留下的點(diǎn)點(diǎn)滴滴,感觸深深,學(xué)習(xí)上知識(shí)點(diǎn)的積累,靈活運(yùn)用的過(guò)程中感受到了Linux操作的快速高效性能,這也是我所追求的效率!
當(dāng)初初涉培訓(xùn)課程的第一門課程時(shí),都說(shuō)Linux操作很繁瑣復(fù)雜,心里總有些顧忌,帶著種種不安與些許拼博的決心,開始了自我提升階段的“充電”,由徐海兵老師教授我們基礎(chǔ)課程的培訓(xùn),我們則像著小學(xué)生般認(rèn)真的記著筆記,仔細(xì)聽著并學(xué)會(huì)如何去在實(shí)踐中運(yùn)用所學(xué)的Linux下的各種強(qiáng)大的命令集。
在Unit 1中,徐老師詳細(xì)生動(dòng)的為我們講述了有關(guān)Linux的誕生、初成長(zhǎng)以及輝煌的發(fā)展至今,今后應(yīng)用范圍則愈來(lái)愈廣泛,講解了為L(zhǎng)inux這個(gè)偉大的OS做出巨大貢獻(xiàn)的一位位出色的、偉大的人物,他們那種學(xué)習(xí)鉆研的精神、鍥而不舍的信念、勇于把握住難得的機(jī)會(huì),從小處著手,踏踏實(shí)實(shí)的創(chuàng)造出了對(duì)人類科技發(fā)展做出卓越貢獻(xiàn)的Linux(Unix)系統(tǒng),他們的種種,都值得我們?nèi)ド羁谭词 ⒖炭鄬W(xué)習(xí)、傳承并永遠(yuǎn)發(fā)展下去。
查看ip地址和重啟網(wǎng)絡(luò)服務(wù)是我學(xué)的第一個(gè)命令: ifconfig eth0、ifconfig eth0 Ip地址、service network restart。了解到遠(yuǎn)程登錄軟件可用xmanager。
secureCRT是我們常用的,安裝好后利用其登錄到了Red hat Linux,需要知道Linux主機(jī)的ip 地址。徐老師為我們介紹了重要內(nèi)容:SHELL,即運(yùn)行程序的程序,如echo $SHELL可查看SHELL的環(huán)境變量是csh還是bash。(學(xué)習(xí)心得 www.tmdps.cn)指令pwd可查看當(dāng)前所在路徑,passwd:更改Linux下的密碼,僅限r(nóng)oot用戶有此權(quán)限,當(dāng)然我們是利用虛擬機(jī)VMware程序來(lái)運(yùn)行Linux OS的,懂得了如何設(shè)置虛擬機(jī)的網(wǎng)卡設(shè)置、暫停、恢復(fù)、全屏等。
簡(jiǎn)單的學(xué)習(xí)后進(jìn)入U(xiǎn)nit 2,命令行的句法讓我懂得了用法規(guī)則,一系列的命令功能強(qiáng)大:
date 顯示當(dāng)前年月時(shí)間星期之類的;
more指令與less重要但不常用;
cat用于查看短小的文件內(nèi)容,常用!
mkdir命令用于在當(dāng)前目錄下創(chuàng)建新的目錄;
ls 顯示當(dāng)前目錄下所有文件;cd 更改文件路徑,如cd、cd.當(dāng)前目錄;
rmdir 刪除空文件夾;
rm指令很強(qiáng)大,用于刪除空目錄及非空目錄下的指定或全部文件;
man 真男人,幫助手冊(cè);
history指令用于顯示編寫過(guò)的命令集,以history 序號(hào) 可顯示序號(hào)所指命令;
echo回寫命令,很重要,我需要繼續(xù)學(xué)習(xí);
exit 指從多重SHELL退出來(lái);
Linux賬號(hào)下,可以增加用戶、刪除用戶、設(shè)置密碼:useradd、userdel、passwd;注:所有的用戶的家目錄都在/home下面,唯獨(dú)root的家是在/root.點(diǎn)文件都是些SHELL的腳本程序,也稱隱藏文件;環(huán)境變量常見的有:HOME pATH pWD,懂得了絕對(duì)路徑與相對(duì)路徑的對(duì)比概念。
Unit
3、文件與文件處理的學(xué)習(xí)中,知道了Linux下支持的六種文件類型:普通文件、目錄、設(shè)備文件、命名管道、符號(hào)鏈接、socket;Linux下文件系統(tǒng)的組織:倒立的樹形結(jié)構(gòu):/ /bin /boot /dev /home /lib /proc等文件目錄,ls –l指令很好很強(qiáng)大,顯示文件類型與權(quán)限、所有者、字節(jié)大小、時(shí)間及文件名;touch可創(chuàng)建空文件,復(fù)制文件用指令 cp,可選-i、-r等;重命名文件使用 mv [-i];du 顯示當(dāng)前目錄所占空間大小;wc 命令 顯示列表中文件的行數(shù)、字?jǐn)?shù)、字符數(shù);追加:cat [文件列表] 》 目標(biāo)文件;find指令與grep重要,暫未學(xué)習(xí),自己在實(shí)踐中學(xué)習(xí),文件訪問(wèn)權(quán)限有:r w x;chmod指令可修改訪問(wèn)權(quán)限,如 chmod 777-R 文件名。
輸入輸出重定向 每個(gè)命令默認(rèn)打開三個(gè)文件:標(biāo)準(zhǔn)輸入stdin,標(biāo)準(zhǔn)輸出stdout,標(biāo)準(zhǔn)錯(cuò)誤stderr,鍵盤為標(biāo)準(zhǔn)輸入,而控制臺(tái)則是標(biāo)準(zhǔn)輸出,文件描述符分別是0,1,2;最重要最常用的為輸出重定向 > 與錯(cuò)誤重定向 2>;
echo 添加的內(nèi)容 >/ 》 文件;
Linux過(guò)濾器和管道:管道操作符:| ;即將某個(gè)命令的輸出與某個(gè)命令的標(biāo)準(zhǔn)輸入相連接,從而實(shí)現(xiàn)管道功能,例如 ls –l |wc;管道和重定向操作符可同時(shí)用于一個(gè)命令行。
Unit 5:Linux/Unix進(jìn)程 進(jìn)程為程序運(yùn)行的一個(gè)實(shí)例,可用ctrl-z掛起進(jìn)程,或在命令后加上&符號(hào)即可;運(yùn)行在后臺(tái)的系統(tǒng)進(jìn)程是守護(hù)進(jìn)程,它為用戶提供各種服務(wù)。
ps 指令可顯示進(jìn)程屬性,有ps l;ps a;ps aux等
ps –l可顯示用戶ID、進(jìn)程ID、優(yōu)先級(jí)、TTY以及STAT
bg、fg 分別將進(jìn)程放后臺(tái)、前臺(tái)運(yùn)行,jobs則是查詢所運(yùn)行的進(jìn)程的狀態(tài);
& 放于命令間表示可同時(shí)運(yùn)行多個(gè)命令;
; 表示可順序執(zhí)行多個(gè)命令
前臺(tái)程序可用ctrl-c來(lái)終止、kill指令
進(jìn)入U(xiǎn)nit 6,神秘的Shell腳本逐漸揭開了她那瑰麗的面紗
環(huán)境變量的設(shè)置:export MYHOST=Ip地址
查詢引用 echo $MYHOST
了
第五篇:嵌入式期末復(fù)習(xí)總結(jié)整理
《嵌入式整理提綱》——YOYO左轉(zhuǎn)
題型:
1、選擇題:20分
2、填空題:20分
3、判斷題:8分
4、簡(jiǎn)答題:16分
5、程序分析題:20分
6、編程題16分
第一章
1、嵌入式系統(tǒng)的定義:
根據(jù)IEEE的定義,嵌入式系統(tǒng)是“控制、監(jiān)視或者輔助設(shè)備、機(jī)器和車間運(yùn)行的裝置”。國(guó)內(nèi)定義:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。
2、嵌入式系統(tǒng)的組成:
嵌入式系統(tǒng)裝置由嵌入式計(jì)算機(jī)系統(tǒng)和執(zhí)行裝置組成。嵌入式計(jì)算機(jī)系統(tǒng)由硬件層、中間層、系統(tǒng)軟件層和應(yīng)用軟件層組成。(分層結(jié)構(gòu))
3、立即數(shù)(第二操作數(shù))合法性,選擇題:將一個(gè)32位數(shù)右移偶數(shù)位可以得到小于255的數(shù)為合法,否則為不合法。例如:
0x6a0=0000 0000 0000 0000 0000 0110 1010 0000 右移4位==> 0000 0000 0000 0000 0000 0000 0110 1010 = 0x6a 小于255,所以合法 0x1a600=0000 0000 0000 0001 1010 0110 0000 0000 無(wú)論右移多少偶數(shù)位,所得的數(shù)仍然大于255,所以不合法
0x16c00=0000 0000 0000 0001 0110 1100 0000 0000 右移10位==> 0000 0000 0000 0000 0000 0000 0101 1011 =0x5b小于255,所以合法
4、全稱:
AMBA: Advanced Microcontroller Bus Architecture 高級(jí)微控制器總線 ARM: Advanced RISC Machine
CISC: Complex Instruction Set Computer復(fù)雜指令集系統(tǒng) RISC: Reduced Instruction Set Computer精簡(jiǎn)指令集系統(tǒng) RTOS: Real-time Operation System 實(shí)時(shí)多任務(wù)操作系統(tǒng) FAT: File Allocation Table 文件分配表系統(tǒng)
UCOS: Micro Controller Operation System 微控制器操作系統(tǒng)
片上系統(tǒng):System On Chip,SOC 知識(shí)產(chǎn)權(quán)核:Intellectual Property Core,IP Core IP軟核:Soft IP Core IP硬核:Hard IP Core IP固核:Firm IP Core
5、嵌入式微處理器的體系結(jié)構(gòu)可以采用馮*諾依曼體系結(jié)構(gòu)或哈佛體系結(jié)構(gòu);指令系統(tǒng)可以選用精簡(jiǎn)指令集系統(tǒng)RISC(Reduced Instruction Set Computer)和復(fù)雜指令集系統(tǒng) 《嵌入式整理提綱》——YOYO左轉(zhuǎn)
CISC(Complex Instruction Set Computer)。
6、Cache是一種容量小、速度快的存儲(chǔ)器陣列,可分為數(shù)據(jù)Cache、指令Cache或混合Cache。
7、硬件層和軟件層之間為中間層,也稱為硬件抽象層(Hardware Abstract Layer,HAL)或板級(jí)支持包(Board Support Package,BSP)
8、一般可以將嵌入式處理器分為4類:嵌入式微處理器MPU、嵌入式微控制器MCU、嵌入式DSP處理器和嵌入式片上系統(tǒng)SOC。
9、DSP處理器是專門用于信號(hào)處理方面的處理器。在數(shù)字濾波、FFT、頻譜分析等領(lǐng)域獲得了大規(guī)模應(yīng)用。
10、硬實(shí)時(shí)系統(tǒng)和軟實(shí)時(shí)系統(tǒng)的實(shí)現(xiàn)區(qū)別主要是在選擇調(diào)度算法上。選擇基于優(yōu)先級(jí)調(diào)度的算法足以滿足軟實(shí)時(shí)系統(tǒng)的需求,而且可以提供高速的響應(yīng)和大的系統(tǒng)吞吐量;而對(duì)硬實(shí)時(shí)系統(tǒng)來(lái)說(shuō),需要使用的算法就應(yīng)該是調(diào)度方式簡(jiǎn)單,反應(yīng)速度快的實(shí)時(shí)調(diào)度算法。
第二章
1、馮*諾依曼體系結(jié)構(gòu):程序和數(shù)據(jù)公用一個(gè)存儲(chǔ)空間,程序指令存儲(chǔ)地址和數(shù)據(jù)存儲(chǔ)地址指向同一個(gè)存儲(chǔ)器的不同物理位置。
哈佛體系結(jié)構(gòu):是一種將程序指令存儲(chǔ)和數(shù)據(jù)存儲(chǔ)分開的體系結(jié)構(gòu),兩者都獨(dú)立編址。
2、復(fù)雜指令集計(jì)算機(jī)CISC和精簡(jiǎn)指令集計(jì)算機(jī)RISC
3、對(duì)于多于一個(gè)字節(jié)類型的數(shù)據(jù),在存儲(chǔ)器中有2種存放方式:
小端字節(jié)順序存儲(chǔ)法:低字節(jié)數(shù)據(jù)存放在內(nèi)存低地址處,高字節(jié)數(shù)據(jù)存放在內(nèi)存高地址處; 大端字節(jié)順序存儲(chǔ)法:高字節(jié)數(shù)據(jù)存放在內(nèi)存低地址處,低字節(jié)數(shù)據(jù)存放在內(nèi)存高地址處。
《嵌入式整理提綱》——YOYO左轉(zhuǎn)
4、無(wú)操作系統(tǒng)的嵌入式軟件實(shí)現(xiàn)方式:循環(huán)輪轉(zhuǎn)和前后臺(tái)系統(tǒng)。循環(huán)輪轉(zhuǎn)方式:
優(yōu)點(diǎn):簡(jiǎn)單、直觀、開銷小、可預(yù)測(cè);
缺點(diǎn):過(guò)于簡(jiǎn)單,無(wú)法處理異步事件,缺乏并發(fā)處理能力。前后臺(tái)系統(tǒng):在循環(huán)輪轉(zhuǎn)方式的基礎(chǔ)上,增加了中斷處理功能。
5、嵌入式系統(tǒng)按響應(yīng)時(shí)間的敏感程度可分為實(shí)時(shí)操作系統(tǒng)和非實(shí)時(shí)操作系統(tǒng)。實(shí)時(shí)操作系統(tǒng)可分成硬實(shí)時(shí)系統(tǒng)和軟實(shí)時(shí)系統(tǒng)。
6、嵌入式操作系統(tǒng)的幾個(gè)重要概念(書P42 了解)
7、免費(fèi)型實(shí)時(shí)操作系統(tǒng):嵌入式Linux和uC/OS。
第三章
1、ARM(Advanced RISC Machine)是一種32位微處理器體系結(jié)構(gòu)。
版本ARMv1:ARM1 版本ARMv2:ARM2、ARM3
2、PC的值:當(dāng)前指令地址+8
3、指令集可以是以下任一種
bits 長(zhǎng)(ARM狀態(tài))16 bits 長(zhǎng)(Thumb 狀態(tài))
4、進(jìn)入Thumb狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位為1時(shí),執(zhí)行BX指令,使微處理器從ARM狀態(tài)切換到Thumb狀態(tài);
進(jìn)入ARM狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位為0時(shí),執(zhí)行BX指令,使微處理器從Thumb狀態(tài)切換到ARM狀態(tài);
5、ARM寄存器組織(P76-P80 了解)
6、ARM處理器支持7種運(yùn)行模式
用戶模式(特權(quán)模式)
快速中斷模式 外部中斷模式
管理模式
數(shù)據(jù)訪問(wèn)終止模式
系統(tǒng)模式(特權(quán)模式)
《嵌入式整理提綱》——YOYO左轉(zhuǎn)
未定義指令中止模式
7、異常發(fā)生時(shí),ARM對(duì)異常作出的響應(yīng):
①保存返回地址到 LR_
8、異常優(yōu)先級(jí):復(fù)位(最高)、未定義指令(最低)
9、掌握ARM指令(課本P86)
10、ARM指令的尋址方式7種(課本P89重點(diǎn)掌握)
11、C語(yǔ)言與匯編語(yǔ)言混合編程(課本P101,PPT重點(diǎn))
12、Bootloader的功能:
Bootloader是操作系統(tǒng)內(nèi)核運(yùn)行之前的一段小程序。通過(guò)這段小程序,初始化最基本的硬件設(shè)備并建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。Bootloader包含兩個(gè)階段,階段一即Boot階段具有引導(dǎo)功能,初始化硬件配置,通常用匯編語(yǔ)言編寫;階段二即Load階段完成加載功能,即將操作系統(tǒng)映像文件從ROM中加載到RAM,并將控制權(quán)交給操作系統(tǒng),通常用C語(yǔ)言編寫。
第四章
1、uC/OS :Micro Controller Operation System 微控制器操作系統(tǒng)
2、uC/OS-II主要特點(diǎn):公開源代碼、可移植性好、可固化、可剪裁、搶占式內(nèi)核、多任務(wù)、可確定性、任務(wù)棧、穩(wěn)定性與可靠性。(了解)
3、uC/OS-II中一個(gè)任務(wù)叫一個(gè)線程;其管理任務(wù)達(dá)64個(gè),用戶可用有56個(gè);ID號(hào)越大,等級(jí)數(shù)越低;uC/OS-II總是運(yùn)行進(jìn)入就緒態(tài)優(yōu)先級(jí)最高的任務(wù)。
4、任務(wù)調(diào)度(課本P120-123重點(diǎn))
5、uC/OS-II的初始化函數(shù)編寫 OSInit()
6、uC/OS-II的任務(wù)通信機(jī)制(P130-P132)
uC/OS-II定義了一個(gè)事件控制塊ECB來(lái)進(jìn)行任務(wù)間的信號(hào)傳遞; uC/OS-II提供了3種任務(wù)通信機(jī)制:信號(hào)量、郵箱、消息隊(duì)列。
7、uCOS-II移植的基本要求:
1)處理器的C編譯器能產(chǎn)生可重入代碼 2)在程序中可以打開或關(guān)閉中斷
3)處理器支持中斷,并且能產(chǎn)生定時(shí)中斷 4)處理器支持硬件堆棧
5)處理器有將堆棧指針和入棧、出棧的指令
8、可重入式函數(shù):指一段代碼可用被多個(gè)任務(wù)同時(shí)調(diào)用,而不必?fù)?dān)心會(huì)破壞數(shù)據(jù)。
9、堆棧增長(zhǎng)方向設(shè)置:
OS_STK_GROWTH為0表示堆棧從下往上增長(zhǎng); OS_STK_GROWTH為1表示堆棧從上往下增長(zhǎng);
《嵌入式整理提綱》——YOYO左轉(zhuǎn)
第五章
1、三星公司推出S3C2410A處理器,基于ARM920T,采用高級(jí)微控制器總線新型總線結(jié)構(gòu)。
2、S3C2410A處理器內(nèi)核供電1.8V/2V、外存儲(chǔ)器和外部I/O供電為3.3V;4通道DMA;3通道UART;117個(gè)通用I/O口和24通道外部中斷源。
3、給出晶振,算CPU時(shí)鐘,有公式(書本P146,找例題做)
fclk?fin??MDIV?8??PDIV?2??2SDIV
例如:外部晶振為12MHz MPLLCON=0x62 02 2 其中MDIV=0x62=98,PDIV=0x02=2,SDIV=0x2=2 fclk?12M*(98?8)(2?2)*22?12M*1064*4?79.5MHz
4、S3C2410A處理器啟動(dòng)2級(jí)引導(dǎo)方式(書本P147 了解)
5、存儲(chǔ)器系統(tǒng)的層次,設(shè)備從上而下,異常變得速度更慢,訪問(wèn)頻率更小,容量更大,并且每個(gè)字節(jié)的造價(jià)也更加便宜。(書本 P148)
6、S3C2410A存儲(chǔ)系統(tǒng)特征(書本P151 了解)
第六章
1、建立文件系統(tǒng)(P197-201)
2、根據(jù)32字節(jié)目錄項(xiàng)結(jié)構(gòu),判斷是目錄還是文件,是文件的話,寫出文件名(包括后綴XXX.XX)
其中從高位數(shù),第12字節(jié)中的bit4是目錄,bit5是文件(相應(yīng)位置1就為什么)
其中前8字節(jié)為文件名,第9到第11字節(jié)為文件后綴,記得后綴前加點(diǎn)。
簡(jiǎn)答題
(一)兩種無(wú)操作系統(tǒng)的嵌入式軟件體系結(jié)構(gòu)及其特點(diǎn):
第一種是循環(huán)輪轉(zhuǎn)方式,優(yōu)點(diǎn)是簡(jiǎn)單,直觀,開銷小,可預(yù)測(cè),缺點(diǎn)是過(guò)于簡(jiǎn)單,缺乏并行處理異步事件的能力。
第二種是前后臺(tái)方式,前臺(tái)是中斷服務(wù)程序,負(fù)責(zé)處理異步事件,后臺(tái)是無(wú)限循環(huán),負(fù)責(zé)軟 《嵌入式整理提綱》——YOYO左轉(zhuǎn)
硬件資源的分配、管理以及任務(wù)的調(diào)度。前后臺(tái)通過(guò)同步信號(hào)或數(shù)據(jù)進(jìn)行交互。
(二)嵌入式應(yīng)用軟件的開發(fā)方式:
在宿主機(jī)上建立開發(fā)環(huán)境,進(jìn)行應(yīng)用程序編碼和交叉編譯,然后在宿主機(jī)和目標(biāo)機(jī)之間建立連接,將應(yīng)用程序下載到目標(biāo)機(jī)上進(jìn)行交叉調(diào)試。經(jīng)過(guò)調(diào)試和優(yōu)化,最后將應(yīng)用程序固化到目標(biāo)機(jī)中實(shí)際運(yùn)行。
(三)RISC體系結(jié)構(gòu)的特點(diǎn): ①一個(gè)大而統(tǒng)一的寄存器文件
②Load/Store結(jié)構(gòu),數(shù)據(jù)處理的操作只針對(duì)寄存器的內(nèi)容,而不是直接對(duì)存儲(chǔ)器進(jìn)行操作。③簡(jiǎn)單的尋址模式,所有裝載/保存的地址都只由寄存器內(nèi)容和指令域決定。④統(tǒng)一和固定長(zhǎng)度的指令域,簡(jiǎn)化了指令的譯碼。⑤使用流水線降低指令尋址周期。
(四)異常發(fā)生時(shí),ARM對(duì)異常作出的響應(yīng): ①保存返回地址到 LR_
(五)Bootloader的功能:
Bootloader是操作系統(tǒng)內(nèi)核運(yùn)行之前的一段小程序。通過(guò)這段小程序,初始化最基本的硬件設(shè)備并建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。Bootloader包含兩個(gè)階段,階段一即Boot階段具有引導(dǎo)功能,初始化硬件配置,通常用匯編語(yǔ)言編寫;階段二即Load階段完成加載功能,即將操作系統(tǒng)映像文件從ROM中加載到RAM,并將控制權(quán)交給操作系統(tǒng),通常用C語(yǔ)言編寫。
(六)Nand Flash和Nor Flash在性能上的區(qū)別: 1)NOR的讀速度比NAND稍快一些 2)NAND的寫入速度比NOR快很多。《嵌入式整理提綱》——YOYO左轉(zhuǎn)
3)NAND的4ms擦除速度遠(yuǎn)比NOR的5s快。4)大多數(shù)寫入操作需要先進(jìn)行擦除操作。
5)NAND的擦除單元更小,相應(yīng)的擦除電路更少。
(七)可剝奪和任務(wù)切換的概念:
任務(wù)切換:當(dāng)多任務(wù)內(nèi)核決定運(yùn)行另外的任務(wù)時(shí),它將任務(wù)的當(dāng)前狀態(tài),即CPU寄存器中的全部?jī)?nèi)容,保存在任務(wù)的堆棧中。入棧工作完成以后,把將要運(yùn)行的任務(wù)的當(dāng)前狀況從該任務(wù)的棧中重新裝入CPU的寄存器,并開始下一個(gè)任務(wù)的運(yùn)行。
可剝奪:CPU總是運(yùn)行就緒條件下優(yōu)先級(jí)最高的任務(wù)。
(八)uCOS-II移植的基本要求:
1)處理器的C編譯器能產(chǎn)生可重入代碼 2)在程序中可以打開或關(guān)閉中斷
3)處理器支持中斷,并且能產(chǎn)生定時(shí)中斷 4)處理器支持硬件堆棧
5)處理器有堆棧指針和入棧、出棧的指令
編程:
1、流水燈;
2、串口;
3、信號(hào)量;
4、Nand Flash 《嵌入式整理提綱》——YOYO左轉(zhuǎn)
#include
OS_STK
static void App1(void *pdata);static void App2(void *pdata);static void printf_task_info(INT8U i);
void main(int argc, char *argv[]){
}
void App1(void *pdata){
pdata=pdata;{
OS_Printf(“nat time %d:n”,(INT8U)(OSTime/100));OS_Printf(“this is app1, prio=%un”,OSPrioCur);
while(TRUE)OSInit();
/* Initialize “uC/OS-II”*/ OSTaskCreate(App1,NULL,(OS_STK *)&App1Stk[TASK_STK_SIZE-1],(INT8U)10);//任務(wù)1等級(jí)為10 NULL,(OS_STK *)&App2Stk[TASK_STK_SIZE-1],(INT8U)5);//任務(wù)2的等級(jí)為5,比任務(wù)1高 App1Stk[TASK_STK_SIZE];OS_STK
App2Stk[TASK_STK_SIZE];
OSTaskCreate(App2,OSStart();
/* Start multitasking */
OSTimeDlyHMSM(0, 0, 3, 0);
/* waiting for 3s */
} }
void App2(void *pdata){
INT8U i;INT8U err;INT8U pname[10]=“task one”;pdata=pdata;{ OS_Printf(“at time %d:n”,(INT8U)(OSTime/100));
while(TRUE)
《嵌入式整理提綱》——YOYO左轉(zhuǎn)
}
OS_Printf(“this is app2, prio=%un”,OSPrioCur);OSTimeDlyHMSM(0, 0, 4, 0);
OS_Printf(“nat time %d:n”,(INT8U)(OSTime/100));OS_Printf(“set name then suspend task onen”);OSTaskSuspend(10);OSTimeDlyHMSM(0, 0, 4, 0);
OS_Printf(“nat time %d:n”,(INT8U)(OSTime/100));OS_Printf(“Resume the task onenn”);OSTaskResume(10);OSTimeDlyHMSM(0, 0, 4, 0);OS_Printf(“nat time %d:n”,(INT8U)(OSTime/100));OS_Printf(“Delete the task onenn”);if(i=OSTaskDel(10)!= 0){
} getchar();printf(“OSTaskDel()err, the err NO is %dn”,i);return;
}