第一篇:嵌入式實訓心得體會_嵌入式實習心得與感悟
嵌入式實訓心得體會_嵌入式實習心得與感悟
在平日的生活或工作學習中,我們常常會收獲不一樣的感想和體會,順其自然的,我們就可以寫一篇關于感悟的文章。不過,很多人都不知道要怎么寫感悟。以下是小編幫大家整理的嵌入式實訓心得體會_嵌入式實習心得與感悟,希望能夠幫助到大家。
嵌入式實訓心得體會_嵌入式實習心得與感悟1我們學習的課本是嵌入式系統應用教程。我學習的體會是這樣的:
開始時,由于是剛剛入門,對老師說的好多東西很好奇,列如C語言也是新鮮的,不過不太懂什么意思。但是慢慢的,了解深入后讓我有了更深的感觸和體會。在嵌入式的學習過程中,讓我了解了什么是嵌入式系統。它就是以應用為中心,以計算機技術為基礎,軟硬件可定制,適用于不同應用場合,對功能、可靠性、成本、體積、功耗有嚴格要求的計算機系統。他一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統、用戶應用程序四個部分組成,用于實現對其他設備的控制、監視或管理功能。嵌入式系統已經應用于科學研究、工業控制、軍事技術、交通通信、醫療衛生、消費娛樂等領域,人們日常使用的手機、PDA、汽車、智能家電、GPS等均是嵌入式系統的典型代表。
在學習命令的過程中,只要你認真的看著老師操作還有認真聽著他講,你就會發現有些命令的操作還是很簡單的,不過在操作的過程中,有時也會遇到困難,有時你按照書上學習的例子,命令輸入終端時會出現你不想要的結果,也就是錯誤的結果。這是問問旁邊的同學或是懂得的同學就可以解決了。
在對于這部分的學習中,讓我知道了命令對于嵌入式的重要性。它是linux的重要內容,linux中所有的功能都是通過命令執行。在實際應用中,為了減少系統開銷,經常不使用圖形界面,此時,對系統的所有操作都需要以命令方式來執行。在嵌入式系統開發過程中,由于目標機的性能和配置比較低,因此,一般情況下標機僅具有命令窗口而沒有圖形界面,對目標機的所有操作都通過命令來實現。還有的那就是進一步學習與嵌入式系統開發相關的linux的服務,他們的啟動、設置等的操作和應用。而在學習之中,我們主要介紹的是嵌入式系統中開發工程使用的TFTP、Telent和NFS服務。第一個實現的是上機位與下機位之間文件的傳輸、無磁盤網絡設備的啟動等功能;第二個實現的是遠程登錄功能;第三個實現的是網絡文件系統功能。
從以上的內容之中,并不難感受到我們的學習過程是由淺入深的,這對于我們的學習也有了較好的幫助。當然,我們學習的不僅僅是這么幾個內容,其中還有相關的實驗內容。在我們基礎的學習過程之中,我有了這么一點的感受,總的來說就是概念加專業名詞還有介紹加實驗。不過你絕對不能小看那些概念和介紹,它對我們有著很重要的指導作用哦!實驗那就更不用說了,它提高我們的動手能力,在實驗的過程中還能讓你更加理解書中的理念,這就是我學習嵌入式的感受。
學習是可貴的,培訓是精彩的。通過這次可貴而精彩的培訓學習,我們向嵌入式邁進了一步。感嘆與憧憬之余,我想我們只有靠自己的聰明與才智、努力與勤奮去追求我們的美好生活。
嵌入式實訓心得體會_嵌入式實習心得與感悟24月10號,為期一個階段的Linux開發基礎培訓課程圓滿結束,回首這些天所留下的點點滴滴,感觸深深,學習上知識點的積累,靈活運用的過程中感受到了Linux操作的快速高效性能,這也是我所追求的效率!
當初初涉培訓課程的第一門課程時,都說Linux操作很繁瑣復雜,心里總有些顧忌,帶著種。種不安與些許拼博的決心,開始了自我提升階段的“充電”,由徐海兵老師教授我們基礎課程的培訓,我們則像著小學生般認真的記著筆記,仔細聽著并學會如何去在實踐中運用所學的Linux下的各種強大的命令集。
在Unit 1中,徐老師詳細生動的為我們講述了有關Linux的誕生、初成長以及輝煌的發展至今,今后應用范圍則愈來愈廣泛,講解了為Linux這個偉大的OS做出巨大貢獻的一位位出色的、偉大的人物,他們那種學習鉆研的精神、鍥而不舍的信念、勇于把握住難得的機會,從小處著手,踏踏實實的創造出了對人類科技發展做出卓越貢獻的Linux(Unix)系統,他們的種。種,都值得我們去深刻反省、刻苦學習、傳承并永遠發展下去。
查看ip地址和重啟網絡服務是我學的第一個命令:ifconfig eth0、ifconfig eth0 IP地址、service network restart。了解到遠程登錄軟件可用xmanager。
secureCRT是我們常用的,安裝好后利用其登錄到了Red hat Linux,需要知道Linux主機的ip地址。徐老師為我們介紹了重要內容:SHELL,即運行程序的程序,如echo $$SHELL可查看SHELL的環境變量是csh還是bash。指令pwd可查看當前所在路徑,passwd:更改Linux下的密碼,僅限root用戶有此權限,當然我們是利用虛擬機VMware程序來運行Linux OS的,懂得了如何設置虛擬機的網卡設置、暫停、恢復、全屏等。
嵌入式實訓心得體會_嵌入式實習心得與感悟3這學期才接觸嵌入式系統感覺還稱不上入門,我通過學習知道了嵌入式的發展前景很大,各個領域都用到了嵌入式,學好嵌入式不愁沒飯吃。
廣義上講,凡是帶有微處理器的專用軟硬件系統都是嵌入式系統。如各類單片機和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的代碼等等,麻雀雖小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。
以上就是我在本學期學習嵌入式后的心得及感想。
嵌入式實訓心得體會_嵌入式實習心得與感悟48月我參加了學校安排的課題實訓,基地在北京,學院安排我們集體坐火車一同前去,浩浩蕩蕩的隊伍開始出發了。剛來北京的時候,映入眼綿的都是高樓大廈,一直想到的地方終于到了,好多以前的同學聽說我要去北京實訓都很羨慕不已,我自己也隱隱感到自豪。
我參加的課題實訓是嵌入式方向的,開課的內容主要是嵌入式開發方面的,C語言,數據結構,LINUX基本操作,網絡編程,操作系統和匯編語言,這些都是嵌入式不可缺少的。每個專業技能都決定了你以后找工過。我們班分了很多小組,每組都有小組長,小組長直接對我們負責。教課老師很認真,都是從很基礎的開始講;同學們聽課也很認真,由于代碼操作比較多,鍵盤的聲音源源不斷的在響。好久沒有感覺到這種濃重的學習氣氛了,而在這緊張而充實的學習氛圍中我獲益匪淺,感受頗多。
授課過程中老師們也傳授了一些找工作方面的經驗,比如簡介的樣式和寫法,面試中的一些著裝,禮貌用語和技巧,對此基地的老師還精心的為我們安排了一場模擬面試,在其中我們學到了很多有關于面試方面的經驗。
通過這幾個月的實訓我學到了很多,同時也讓我們意識到我們要學的更多。從程序的設計到編寫、畫圖、調試、修改、完善、到最后的實訓報告,每個人都付出了時間和精力去做好自己的任務幫助隊友,所以團隊的合作和隊友之間的相互協助非常重要。通過實訓讓我們更深一步的對自己的專業,對自己的能力,對自己所學的有正確的認識,并且能在以后的學習工作中不斷提高和完善自己。特別是講C語言和進程通信中老師給了我們每個小組的幾個小項目,讓我學到了更多項目經驗,這在學校之前是沒有的。這次實訓也碰到了些問題,比如項目文檔的寫法,代碼的規范,流程圖的畫法,這些都有講究,在老師和同學的幫助下,我不斷的提高了在這些方面的學習。
生活上班主任郭老師和王老師對我們關懷備至,讓我們沒有感覺在外面的那種不適感,同學們也互幫互助,所以生活上大致沒什么問題,這讓我們更好的去學專業。很感謝學校有這樣的實訓安排。
總的來說,這次實訓還是比較成功的,無論是個人動手能力還是團隊協作能力都得到了很好的鍛煉。在實訓過程中老師也交給我們很多簡單實用的技巧。我們也學到了,做好做對一個項目固然重要,同時美觀程度也是必不可少的,無論是從參觀者的角度還是自己看的角度都很重要。
嵌入式實訓心得體會_嵌入式實習心得與感悟5學期開始,我們開始學習《嵌入式系統及應用》,由于初次接觸嵌入式系統,感覺蠻難的,所以收獲不是很大,很多的概念都比較模糊,等到學期結束開始做嵌入式課程設計時,真是茫然無從下手,自從拿到設計主題后,我就像熱鍋上的螞蟻,一個字“急”。最后實在沒有辦法,逼著自己去學習,查資料,總算對嵌入式有了淺層理解。
嵌入式系統本身是一個相對模糊的定義,一個手持的Mp3和一個pC104的微型工業控制計算機都可以認為是嵌入式系統。總體來說,嵌入式系統是“用于控制,監視或者輔助操作機器和設備的裝備”。一個典型的桌面Linux系統包括3個主要的軟件層———linux內核、C庫和應用程序代碼。內核是唯一可以完全控制硬件的層,內核驅動程序代表應用程序與硬件之間進行會話。內核之上是C庫,負責把pOSIXApI轉換為內核可以識別的形式,然后調用內核,從應用程序向內核傳遞參數。應用程序依靠驅動內核來完成特定的任務。
在了解了基礎知識之后,我開始進行上機操作,當然,其中遇到很多的難題,很多東西都是第一次接觸,又沒有別人在旁邊指導操作,完全憑借自己去摸索練習。其中的困難可想而知。然而堅持就是勝利,牙一咬眼一閉堅持做下去,而通過本次實驗,我感覺收獲還是蠻多的。可能我對于嵌入式的知識學習的還是不太多,但是這之外的東西收獲頗豐。它讓我學會了如何通過自己的努力去認知一個新事物,更重要的是端正自己的學習態度,只有真正下功夫去學習,才能有收獲,正所謂“一份耕耘,一份收獲。”沒有付出,何談回報呢?再者,通過本次實驗,我也學會了如何去分析問題,如何找出自己設計中的不足,繼而去排除解決問題,這就是一個自我學習的過程。當我們通過實驗去學習理論知識時,自己動手得出的結論,不僅能加深我們對嵌入式的理解,更能加深我們對此的記憶。
當然,在這其中,我也發現自己的許多不足之處,由于學期伊始我沒有好好學習,才落到如此地步,這也可以說是一個教訓吧!我相信在以后的學習工作中,我一定會端正自己的學習態度,一絲不茍的去對待每一件事。只有做好足夠的準備,才能事半功倍!
第二篇:嵌入式實訓報告
嵌入式實訓報告
班級:電子信息1301
姓名:鐘海明
學號:3138702144
同組人:胡曉海
指導老師:韋龍新 目錄:
一、實訓目的---------------------3
二、實訓要求---------------------3
三、實訓內容---------------------3
1、嵌入式系統開發環境的搭建----------3
2、嵌入式程序的編譯與下載------------3
3、uboot的移植----------------------4
4、linux內核的移植------------------4
5、NFS網絡文件掛載------------------5
6、FTP和TFTP的運用-----------------6
7、試驗箱鏡像的燒寫-----------------7
8、串口實驗和TCP實驗同時傳送AD值--7
四、實訓心得體會及體會----------8
一、實訓目的:
學習和掌握ARM嵌入式Linux系統的體系結構和基本指令,熟悉Linux下的設計流程和編程流程,能夠實現一定功能的嵌入式的設計,為之前的理論課程實踐驗證和為今后的學習及將來從事的技術工作打下一定的基礎。
二、實訓要求:
1、嵌入式系統開發環境的搭建
2、嵌入式程序的編譯與下載
3、uboot的移植
4、linux內核的移植
5、NFS網絡文件掛載
6、FTP和TFTP的運用
7、試驗箱鏡像的燒寫
8、串口實驗和TCP實驗同時傳送AD值
三、實訓內容:
1、嵌入式系統開發環境的搭建:
首先在筆記本電腦下安裝虛擬機VMware,安裝成功后拷貝安裝好的Fedora到本機上在虛擬機上找到路徑打開。打開虛擬機進入Fedora選擇用戶為root密碼為123456。交叉環境的安裝,下載好arm-linux-gcc的編譯包,解壓安裝到/opt下。
2、嵌入式程序的編譯與下載:
用vi編輯一個(.C)的文件,保存退出后使用(arm-linux-gcc-o 編譯后的文件名 編譯文件名)的指令編譯,編譯成功后用FTP或TFTP將可執行文件拷貝到實驗開發板中,chmod +x 文件名 修改權限(./文件名)執行編譯文件。
3、uboot的移植
下載U-boot的安裝包,解壓到/opt路徑下進入u-boot。修改Makefile將CROSS_COMPILE=/opt/Embedsky/4.3.3/bin/arm-linux-后執行#make distclean #make smdk2440_config #make
4、Linux內核的移植:
下載Linux的安裝包,解壓的/opt路徑下進入Linux執行#make menuconfig進行配置
配置內核支持NFS啟動文件系統
內核支持NFS分區(即編譯時在File system中選中[*] Root file system on NFS), 以及支持內核IP_PNP(即編譯時在Networking中選中[*] IP: kernel level autoconfiguration)
File systems--->
Network File Systems---> <*> NFS file system support ## 必選 [*] Provide NFSv3 client support ## 可選 [*] Root file system on NFS ## 必選
Networking---> [*] Networking support Networking options---> [*] IP: kernel level autoconfiguration ## 必選 需要打開IP:Kernel level autoconfiguration 以及下面所有的選項包括DHCP, BOOTP, RARP,而且NFS Client Support不能是模塊,必須編譯進內核。配置完畢后,保存退出。執行下面的命令來生成內核映像。
#make dep #make
#make zImage 映像文件產生在/arch/arm/boot/目錄下,名稱“zImage”。
5、NFS網絡文件掛載:
1)首先修改虛擬機網絡為:
192.168.0.43 輸入以下命令:
#cd /root
#mkdir nfs
#touch aaa
#cd /mnt
#mkdir nfs
#vi /etc/exports 進入修改內容為:
/root/nfs 192.168.0.*(rw,sync,no_root_squash)存盤退出
#ifconfig(查看網絡)
#ifconfig eth1 192.168.0.43
#ifconfig eth1 down
#ifconfig eth1 up
#ping 192.168.0.43
#/etc/init.d/nfs start
#mount-t nfs 192.168.0.43:/root/nfs /mnt/nfs /*此時可以在/root/nfs下新建一個文件,如果在/mnt/nfs下也有,表示NFS掛載成功。
6、TFTP的運用:
修改計算機的IP為192.168.1.43,用網絡線將開發板和實驗板鏈接起來(開發板的IP默認問192.168.1.6),打開電腦的菜單欄運行輸入cmd,#telnet 192.168.1.6進去開發板用戶名為root。如果進不去,打開計算機的Telnet的允許指令,還有一個就是看網絡有沒有ping通。打開TFTP應用程序, 將Windows文件傳送到開發板使用指令: #tftp-r 文件名-g 192.168.1.43 將開發板的文件傳送到Windows使用指令: #tftp-l 文件名-p 192.168.1.43 進入查看文件是否有添加,有添加則表示傳送成功。
7、試驗箱鏡像的燒寫: 連接好串口和USB,安裝USB的驅動(安裝驅動由于試驗箱和USB線的問題我們那一組試了無數次都沒有安裝成功,最后還是通過換用別人的電腦才成功的)。實驗箱按鍵撥到下載模式,打開DNW軟件選擇5,6,7,分別下載內核,u-boot,根文件系統,按鍵撥到工作模式重啟實驗箱,看是否正常啟動即可。
8、串口實驗和TCP實驗同時傳送AD值: ?串口實驗
修改串口實驗的C文件并用arm-linux-gcc編譯器編譯生成可執行文件,利用TFTP傳送到開發板的/root下,改變權限chmod +x 之后(./)執行./adc 和./uart程序,同時打開串口調試助手波特率選擇9600,虛擬機的串口COM1斷開,串口調試助手連接串口。接收端選擇文本模式,此時就可以看見接收區收到每隔一秒鐘收到的AD值,和名字學號。
?TCP實驗
在虛擬機中打開TCP實驗的文件,修改Makefile文件中arm-linux-gcc 編譯器的路徑,和server.c文件中的hell[]數主的字符為zhonghaiming3138702144.保存退出。#Make 之后會生成一個為client和server的兩個程序。此時將兩個編譯生成的文件傳送到開發板上,給權限執行。同時打開網絡調試助手,執行client時選擇TCPserver IP為Windows IP192.168.1.43,Telnet中執行(#./client 192.168.1.43 8080)點擊發送即可在Telnet中接收到 由網絡調試助手發送過來的數據。執行./server時 選擇TCPclient IP為開發板IP 192.168.1.6 執行(#./server 8080&)點擊連接就可以在網絡調試助手上接收到(zhonghaiming318702144)。
網絡AD測試,先編譯,之后和執行server步驟一樣,每連接一次,發送一次AD值和姓名學號。
四、實訓心得體會及總結:
三周的實訓說快也快,說慢也慢。可以說這三周的實訓并不是很順利,由于對試驗箱的不熟悉和嵌入式理論與實際的差距在加上嵌入式本身有一定的難度,所以走了很多的彎路。從NFS的掛載開始ping網絡一步步的開始試,找原因找百度,最終還是沒有成功的用NFS掛載到試驗箱上,這期間幾乎用了一周的時間,效率可見。
雖然走了許多的彎路,但是我覺得有時候彎路并不是壞事,就此次實訓來說,我就知道了掛載實驗箱不僅僅可以用NFS掛載還可以用TFTP和FTP以及實驗板的rz命令直接掛載,進入實驗板不僅僅可以用scoreCRT軟件還可以用虛擬機的minicom以及Windows下的Telnet命令直接進入試驗箱。
這次實訓最大的感觸就是要細心多嘗試,遇到問題多看多問不要逃避,不會的要虛心求教。要把握好時間觀念不要在一個地方死磕,多和同學交流,每個人遇到的問題都不一樣當下次你遇到和他一樣的問題是說不定你就會了。所以在這里也要感謝同組人和同學的幫助,以及老師耐教學和指導。
第三篇:嵌入式--實訓總結
實訓總結
班級:卓越1301 姓名:劉* 短短三周的很快就過去了,在中軟國際嵌入式方向班的第二次實習馬上就要結束了。雖然只有短短的三周,但我學會了很多知識,學習了在Linux-Fedora14操作系統的環境下完成基于Smart210SDK開發板和DS18B20的溫度采集及顯示系統還有按鍵控制LED燈并實現開機和關機的相關功能,這些知識讓我們對嵌入式有了更進一步的了解與熟悉。
作為一名大學生,縱觀現在的就業形勢,國家高校的擴招,世界金融危機的橫掃,大學生應該有一種居安思危的緊迫感,特別是對已經度過幾年大學的我來說,畢業并不是一個遙遠的詞匯。寶劍鋒從磨礪出,梅花香自苦寒來,缺少了平時的鍛煉,沒有厚積當然不能有薄發。首先我得有思想上的緊迫感,在學校學習的都是理論知識,實踐經驗則是少之又少。綜合能力強的人才才是這個社會需要的,成長成為社會需要的人才是我的個人奮斗目標。有了強大的精神動力,有了堅如磐石的毅力,相信成功并不遙遠。
首先,通過這些天的實訓我學到了很多知識。這一階段在Linux-Fedora14操作系統的環境使用Smart210SDK開發板做一些程序設計并燒寫到SD卡中通過Smart210SDK開發板來實現程序的執行,通過對Smart210SDK開發板的一步一步的熟悉和了解我們開展了嵌入式的基本的程序燒寫、調試、執行這些相關的鍛煉過程。
最后我們做了兩個項目:
第一個是基于Smart210SDK開發板的按鍵控制LED燈并且實現開機和關機的相關功能與實現---項目功能是:實現長按開發板上的K1鍵實現開機或關機,在開機狀態下能夠實現K1短按控制LED1的點亮與熄滅、K2短按控制LED2的點亮與熄滅、K3短按控制LED3的點亮與熄滅、K4短按控制LED4的點亮與熄滅。項目涉及的相關技術是:相關寄存器的調用,延時子函數的調用,LED燈的初始化,實現按鍵的長按與短按的控制的C語言程序的設計與實現。
第二個是基于Smart210SDK開發板和DS18B20的測量并在minicom上顯示的功能與實現---項目功能:首先實現DS18B20的初始化,然后在DS18B20中寫數據、數據轉換、讀數據、進行數據間的格式轉換,最后在minicom上顯示出所讀出的溫度,并且實現當溫度高于32°C的時候LED燈閃爍,當溫度高于35°C的時候蜂鳴器響。項目涉及的相關技術是:相關寄存器的調用,UART的串口與DS18B20的初始化,延時子函數的調用,字符與字符串的輸入輸出,計算溫度的并進行數據類型的轉換的C語言程序的設計與實現!
在此次的實訓中我感覺到我們最大的不足就是動手的能力太差,這次實訓也讓我深刻的了解到,不管在工作中還是在生活中要和老師、同學保持良好的關系是很重要的。做事首先要先做人,要明白做人的道理,如何與人相處是現代社會的做認得一個最基本的問題,對已自己這樣一個即將步入社會的人來說,需要學習的東西很多。從一起做項目的同學身上我看到了謙虛謹慎、細心努力的態度,在以后我的生活中我還會留意身邊同學的優點,從他們身上找尋我所缺少的品質,不斷學習。從老師那里我看到了企業人的生活面貌,沒有事情可以不勞而獲,今天老師們能夠領導我們是他們之前努力的結果,雖然老師沒有和我們講很多公司里的事情,可是他們的言行中所表現出來的都是比我們要嚴謹的多的對工作的態度。最后謝謝老師辛苦的教導我們!
姓名:劉* 學號:13******** 日期:2014.07.04
第四篇:嵌入式實訓總結
嵌入式實訓總結
2012年8月我參加了學校安排的課題實訓,基地在北京,學院安排我們集體坐火車一同前去,浩浩蕩蕩的隊伍開始出發了。剛來北京的時候,映入眼綿的都是高樓大廈,一直想到的地方終于到了,好多以前的同學聽說我要去北京實訓都很羨慕不已,我自己也隱隱感到自豪。
我參加的課題實訓是嵌入式方向的,開課的內容主要是嵌入式開發方面的,C語言,數據結構,LINUX基本操作,網絡編程,操作系統和匯編語言,這些都是嵌入式不可缺少的。每個專業技能都決定了你以后找工過。我們班分了很多小組,每組都有小組長,小組長直接對我們負責。教課老師很認真,都是從很基礎的開始講;同學們聽課也很認真,由于代碼操作比較多,鍵盤的聲音源源不斷的在響。好久沒有感覺到這種濃重的學習氣氛了,而在這緊張而充實的學習氛圍中我獲益匪淺,感受頗多。
授課過程中老師們也傳授了一些找工作方面的經驗,比如簡介的樣式和寫法,面試中的一些著裝,禮貌用語和技巧,對此基地的老師還精心的為我們安排了一場模擬面試,在其中我們學到了很多有關于面試方面的經驗。
通過這幾個月的實訓我學到了很多,同時也讓我們意識到我們要學的更多。從程序的設計到編寫、畫圖、調試、修改、完善、到最后的實訓報告,每個人都付出了時間和精力去做好自己的任務幫助隊友,所以團隊的合作和隊友之間的相互協助非常重要。通過實訓讓我們更深一步的對自己的專業,對自己的能力,對自己所學的有正確的認識,并且能在以后的學習工作中不斷提高和完善自己。特別是講C語言和進程通信中老師給了我們每個小組的幾個小項目,讓我學到了更多項目經驗,這在學校之前是沒有的。這次實訓也碰到了些問題,比如項目文檔的寫法,代碼的規范,流程圖的畫法,這些都有講究,在老師和同學的幫助下,我不斷的提高了在這些方面的學習。
生活上班主任郭老師和王老師對我們關懷備至,讓我們沒有感覺在外面的那種不適感,同學們也互幫互助,所以生活上大致沒什么問題,這讓我們更好的去學專業。很感謝學校有這樣的實訓安排。
總的來說,這次實訓還是比較成功的,無論是個人動手能力還是團隊協作能力都得到了很好的鍛煉。在實訓過程中老師也交給我們很多簡單實用的技巧。我們也學到了,做好做對一個項目固然重要,同時美觀程度也是必不可少的,無論是從參觀者的角度還是自己看的角度都很重要。
第五篇:嵌入式設計實訓大綱
嵌入式系統實訓大綱
適用專業:電子信息工程技術 學 制: 學 時:2周 學 分:2.0
一、實習的性質與目的通過本次實訓,運用已學的課程知識,根據任務要求進行軟硬件系統的設計和調試,對《嵌入式系統》課程中涉及的arm9s3c2410芯片結構、控制原理、硬件和編程等方面有一定的感性認識和實踐操作能力,從而加深對本課程知識點的理解,使學生應用知識能力、設計能力、調試能力以及報告撰寫能力等方面有顯著提高。
二、教學要求 1.任務介紹
1、題目: 基于arm的模擬交通燈控制器設計
2、設計要求: 利用jxarm9_2410的實驗箱上的資源(6個7段數碼管、4個led等及按鍵)來設計一個“模擬交通燈控制器”。試驗箱電路見附圖。控制面板包括:6位數碼顯示、2組交通燈(每組交通燈包括紅和綠2個燈)、十個數字按鍵鍵盤、電源按鍵、電源指示燈和一個運行鍵。工作流程如下:(1)按下電源鍵,電源指示燈亮;(2)按運行鍵,模擬交通燈控制器工作;(3)LED實時顯示當前的交通燈狀態;(4)紅燈和綠燈的工作順序如下:
2.功能分析(1)按下電源鍵,電源指示燈亮;(2)按運行鍵,模擬交通燈控制器工作;(3)LED實時顯示當前的交通燈狀態;(4)紅燈和綠燈的工作順序如下:綠燈先亮50S 綠燈閃爍5次 綠燈滅,同時紅燈亮10S 紅燈閃爍5次
紅燈先亮50S 紅燈閃爍5次 紅燈滅,同時綠燈亮10S 綠燈閃爍5次(5)用2位數碼管實時倒計時間,倒計時流程如下:從50S倒計時到00S “00”閃爍 從10S倒計時到00S “00”閃爍 綠燈先亮50S 綠燈閃爍5次 綠燈滅,同時紅燈亮10S 紅燈閃爍5次(6)運行過程中,若再按下電源鍵,則控制器停止工作,電源指示燈滅。
三、實習方法
(三)安全文明生產與班組生產技術管理 1)安全文明生產 2)
五、成績評定平時表現+學生作品+實習報告
六、實習要求
1、實習中要嚴格服從領導,聽從指揮。
2、嚴格遵守實訓室的各項規章制度,愛公共財產,損壞要賠償。
3、嚴格遵守實習隊紀律,無特殊情況不準請假,對無故缺勤者要嚴肅處理。
4、尊敬實習指導教師;
5、自始自終地時刻注意安全,未經現場教師同意,不準操作送電,更不準亂動,否則一切后果由自己負責,所有參加實習者要互相監督,發現違生產技術管理 反安全規定和亂動設備的行為立即制止,以確保安全。
6、虛心學習,刻苦鉆研,努力實踐,認真做好實習日記,完成實習作業。實習結束后認真完成實習報告,寫出豐富全面的實習內容,保質保量完成實習任務。電子10—
1、2班嵌入式系統設計實習計劃 根據教學進度安排,電子10—
1、2班進行為期2周的嵌入式系統實習計劃。計劃安排如下: 實訓時間:
一、2012年9月3日——2010年9月16日 實訓地點:
二、計算機1101室 實訓領導小組:
三、組長:袁德明 副組長:李志球 實訓隊長:
四、劉天飛 指導老師: 單士鐸 實訓目的和內容見實訓大綱(五、另附)
六、實訓時間分配和實訓項目: 月 日 星天實習內容 備期 數 注3 1 1 實習準備、動員,發放工具,分組,清點計算機,領實習日志、報告、記錄本晚 等。布置任務并分解任務.自習4 2 1 熟悉實驗箱上的資源,熟悉試驗箱上的接口電路 寫
3 1 優選方案并設計電路圖,并驗收書面文檔 實
4 1 優選方案并設計軟件流程圖,并驗收書面文檔習
5 1 設計并調試程序 報 8 2 查閱資料 6、7 告 9 設計并調試程序 10 設計并調試程序 11 設計并調試程序 12 設計并調試程序
驗收設計成果成績考核 交實習日志、報告、記錄本,交工具、計算機放回原處
七、生分組及指導教師 分人學生名單(每組第一名為組長)指導老備注 組 數 師 1 6 等 單士鐸
等 2 6 等
等 3 6 等 劉天飛
4 等 4 6 等
等
八、訓考核及成績評定 按學校的有關規定考核學生表現等情況;考核評定成績,按優、良、中、及格、不及格五級記入學生成績檔案
九、實訓注意事項及要求
1、教師按“院實習管理辦法”中有關規定執行。
2、學生按院“學生管理辦法”和實習動員要求執行。
3、學生要嚴格遵守各項規章制度,注意安全,杜絕一切事故發生。電子信息工程 2012/8/30 電子10-1、2第指導教師安排表 節 次 星期一 星期二 星期三 星期四 星期五 1節 單士鐸 劉天飛、單士鐸 劉天飛 劉天飛 劉天飛 2節 3節 單士鐸
單士鐸 劉天飛 劉天學院
飛 4節 劉天飛 5節 6節 單士鐸 劉天飛
自習
單士鐸
單士鐸 7節
嵌入式系統設計實習指導書
1.課程設計的目的 《嵌入式系統》是一門實踐性很強的課程,為了提高學生嵌入式綜合程序設計的能力,在學完了《嵌入式系統》課程之后,結合實際問題設計應用程序,旨在加深對嵌入式系統課程知識的理解,加深對使用C語言進行嵌入式程序設計與開發的認識,掌握使用C語言開發嵌入式系統程序來解決實際問題的基本方法和過程,提高進行應用程序設計和分析的基本能力,為今后的學習與實踐打下良好的設計基礎。2.課程設計題目 由指導教師實現擬定設計題目及要求供學生選擇。3.設計準備工作 根據設計任務書給定的題目確定設計的具體題目,結合實驗箱上的資源進一步學習嵌入式系統的內容,重點是ARM處理器、LED接口、7段數碼管的接口、鍵盤接口的硬件電路及工作原理,以及進一步熟悉ADTIDE開發環境的使用,掌握利用嵌入式C語言進行程序設計方法,根據選定的題目了解實際工作的任務和內容,收集有關原始信息和資料,結合設計要求,理清設計思路,明確設計內容。4.設計過程內容及方法、步驟 1)需求分析:根據選定的題目,了解實際工作中的任務和內容,收集有關原始信息和資料; 2)系統分析:結合設計要求,對系統進行分析,確定系統功能和系統結構及模塊劃分; 3)硬件電路的設計:分析工作中需要的電路,采用專業繪圖軟件進行繪制電路圖;并保證電路正確。4)軟件流程圖設計:根據各模塊的功能需要,設計出相應功能的軟件流程圖; 5)代碼設計:根據各模塊的功能,在相應函數中設計程序代碼,實現所需功能,并進行模塊調試,糾正錯誤; 6)系統測試:利用模擬數據,對整個程序進行運行測試,找出系統存在的問題和不足,并適當給與改正; 7)撰寫項目報告。5.設計成果 1)設計成果:包括項目報告、程序源程序代碼、硬件電路圖。2)項目報告的要求: 項目報告的內容一般包括:引言;設計內容、系統分析;設計方案;開發環境;硬件設計;軟件設計、存在問題及原因、使用手冊、設計過程中疑難問題的解決辦法,系統需要改進的地方和注意的問題;總結等幾個部分。(1)項目報告書文字要通順、層次清楚、對攻功能實現方法、關鍵技術、主要代碼應注有文字說明,必要時用表格列出;(2)設計說明書文字一般不少于30000字。6.設計期間的基本要求 1)學生在教師的指導下,應積極、主動地獨立完成課程設計所規定的全部任務。2)應嚴格按照進度進行設計,不得無故拖延。3)要遵守學院的作息時間,嚴格遵守設計紀律,原則上不得請假,因特殊原因必須請假者,一律由系領導批準。6.設計期間的基本要求 1)學生在教師的指導下,應積極、主動地獨立完成課程設計所規定的全部任務。2)應嚴格按照進度進行設計,不得無故拖延。
3)要遵守學院的作息時間,嚴格遵守設計紀律,原則上不得請假,因特殊原因必須請假者,一律由系領導批準。4)設計方案有原則性錯誤、未按規定時間完成設計、抄襲他人設計、不按設計要求或未完成全部設計內容、無故曠課二次及以上、缺勤時間達三分之一及以上者,不允許參加答辯,成績定為不及格。
任務一:熟悉實驗箱硬件接口電路 1、7段數碼管接口電路
2、鍵盤電路
3、JXARM9-2410教學實驗系統硬件資源分配 1).地址空間分配以及片選信號定義 表3-1 JXARM9-2410地址空間分配表 數據寬讀/寫 地址區間 說 明 度(位)屬性 0x00000000~0x0003fffff 16 R/W FLASH存儲器:28F320:4M字節; 控制LED跑馬燈及鍵盤掃描: 0x02000000 bit0~3 控制鍵盤掃描; 8 W bit4~7控制跑馬燈的顯示。低電平有效。讀入鍵盤掃描值:R
0x02000002 bit0~3有效,某位為低時,對應列有鍵按下。0x02000004 8 W 數碼管數據寄存器。數碼管掃描控制寄存器:
0x02000006 8 W bit0~bit5:低電平有效。2).外部中斷分配 表3-2 JXARM9-2410外部中斷分配表
中斷口 說明 備注 INT0 按鍵中斷測試 INT1 IDE中斷 INT2 USB中斷 INT3 觸摸屏中斷 INT4 網口中斷 INT5 GPRS中斷 JP2的1、2斷接,選擇L3DATA;
2、3斷接,選擇GPRS中斷。INT6 CF卡中斷 JP2的1、2斷接,選擇L3LOCK;
2、3斷接,選擇CF卡中斷。任務二
熟悉開發環境 1基礎知識 本章將以leddemo程序為例講述在ADT IDE集成開發環境下,怎樣編寫、編譯和調試程序,關于ADT IDE的更加詳細的使用說明請參考“附錄B ANSI C和GCC庫文件的使用及設置”以及“ADT IDE用戶手冊”。1.檢查硬件連接 檢查實驗箱配件是否齊全,包括主板,核心板和LCD等; 2.連接調試器
1)當使用JXARM9-2410內置簡易調試模塊時,請將計算機并口與實驗箱左上角的并口通過并口延長線實現連接,并將JP7跳線通過跳線帽短接。
2)當使用ADT1000高級仿真器時,請將計算機并口與仿真器實現連接,然后通過14Pin的JTAG對連線與JXARM9-2410的JTAG口實現連接,并將JP7跳線上的跳線帽去掉。連接如下圖所示: 圖1-1 JXARM9-2410教學實驗系統硬件連接圖
注意事項:
1.實驗箱和ADT1000分別使用各自裝置配套電源,不要混用。2.不要同時連接ADT1000仿真器和簡易調試模塊,同時只能選擇其中一種方式。
3.編輯、編譯、調試
1)建立工程: 打開ADT1000,點擊“File->New菜單”,彈出New對話框,如下圖所示,選擇Project頁,在Project頁中選擇調試設備,對于使用ADT 1000仿真器的用戶,請選擇“ARM7LPT”,對于簡易調試器的用戶,請選擇“ARM7SIMPLE”,在“Project name”和“Location”中輸入工程名稱和路徑,請注意路徑和工程名中不能包含空格。在工程類型中選擇“EXEC”。
圖1-2 新建工程 2)新建一個文件并保存為d:leddemoleddemo.c,編輯該文件,添加如下代碼:
/****************************************************************************/ /*文件名稱: LEDSEG7.C */ /*實驗現象: 數碼管依次顯示出0、1,2、??
9、a、b、C、d、E、F
*/ /****************************************************************************/ #define U8 unsigned char static int delayLoopCount=1000;unsigned char seg7table[16] = {
/* 0 1 2 3 4 5 6 7*/ 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, /* 8 9 A B C D E F*/ 0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e, };void
Delay(int
time);/****************************************************************************/
/* 函數說明: JXARM9-2410 7
段構共陽數碼管測試
*/ /* 功能描述: 依次在7段數碼管上顯示0123456789ABCDEF */ /* 返回代碼: 無 */ /* 參數說明: 無 */ /****************************************************************************/ void Test_Seg7(void){ int i;*((U8*)0x02000006)= 0x00;for(;;){ /* 數碼管從0到F依次將字符顯示出來 */ { for(i=0;i<0x10;i++)/* 查表并輸出數據 */ *((U8*)0x02000004)= seg7table[i];Delay(1000);
}
/* 數碼管從F到0依次將字符顯示出來 */ for(i=0xf;i>=0x0;i--){ /* 查表并輸出數據 */ *((U8*)0x02000004)= seg7table[i];
Delay(1000);
}
} } /****************************************************************************/ /* Function name : 循環延時子程序 */ /* Description : 循環 'time' 次 */ /* Return type :void */ /* Argument : 循環延時計數器 */ /****************************************************************************/ void Delay(int time){
int i;
for(;time>0;time--)for(i=0;i } 3)將leddemo.c文件加入到工程leddemo中,如下圖所示,點擊右鍵菜單: 圖1-3 加入文件到工程示意圖將彈出文件選擇對話框,選擇d:leddemoleddemo.c文件,并點擊“打開”按鈕。 圖1-4 文件選擇對話框 4)新建一個文件并保存為d:leddemoldscript,編輯該文件,添加如下內容: SECTIONS { .= 0x0c000008; .text : { *(.text)} .data : { *(.data)}.rodata : { *(.rodata)}.bss : { *(.bss)} __EH_FRAME_BEGIN__ =.;__EH_FRAME_END__ =.;PROVIDE(__stack =.); .debug_info 0 : { *(.debug_info)}.debug_line 0 : { *(.debug_line)}.debug_abbrev 0 : { *(.debug_abbrev)}.debug_frame 0 : { *(.debug_frame)} } 該文件為鏈接腳本文件,其意義和編寫方法將在“實驗2 ARM匯編語言編程實驗”中解釋,更進一步的解釋請參考“附錄A 鏈接定位腳本”。該文件必須通過第5步中的工程設置對話框設置到鏈接參數中才有效。 5)如下圖所示,在工作區窗口中的leddemo工程名上右鍵點擊并選擇“Setting”菜單項。 圖1-5 工程設置示意圖彈出工程設置對話框,選擇“Link”頁,在“Link script”中輸入“.ldscript”,然后點擊“OK”按鈕。 圖1-6 Link選項 6)如下圖所示,在工作區窗口中的leddemo工程名上右鍵點擊并選擇“Build”菜單項。圖1-7 工程編譯示意圖編譯成功后結果如下圖所示。 圖1-8 編譯結果示意圖 7)連接仿真器到JXARM9-2410 JTAG連接。并將調試器和JXARM9-2410上電,然后點擊“Debug”菜單的“Remote Connect”進行連接,如下圖所示。 圖1-9 調試菜單正常連接結果如下圖所示。 圖1-10 連接結果示意圖如果連接正確“Debug”菜單項將如下圖所示 圖1-11 正確連接后的調試菜單示意圖 8)點擊Debug->Download菜單下載程序到SDRAM中 圖1-12 程序下載下載成功后,將顯示入口點的源代碼,如下圖所示: 圖1-13 下載成功后的調試窗口示意圖 9)運行程序,點擊Debug->Go菜單項,運行該程序,如果運行正常,JXARM9-2410-1上的六個七段數碼管將顯示十六進制數據。 圖1-14 運行程序 10)點擊Debug->Stop停止程序運行。任務三:采用動態顯示的方法在7段數碼管上顯示如下字符 任務四:實現4個led發光二極管的跑馬燈 任務五:實現模擬交通燈系統 a 實現紅、綠的循環控制。使用紅、綠二種不同顏色的LED燈實現此功能,由南往北方向紅、綠二個燈依次依次顯示60秒和40秒,由東往西方向的紅綠二個燈依次顯示40秒和60秒上。b用數碼管顯示倒計時。可以利用動態顯示或靜態顯示。c 南北方向控制車輛的綠燈熄滅的同時,控制蜂鳴器響2秒來作為警報。