嵌入式心得體會(分享十三篇)
發表時間:2018-05-06
嵌入式心得體會(分享十三篇)。
?? 嵌入式心得體會 ??
一、嵌入式的概述:
隨著信息化技術的發展和數字化產品的普及,以計算機技術、芯片技術和軟件技術為核心的嵌入式系統再度成為當前研究和應用的熱點,通信、計算機、消費電子技術(3C)合一的趨勢正在逐步形成,無所不在的網絡和無所不在的計算(everything connecting, everywhere computing)正在將人類帶入一個嶄新的信息社會。
二、實習目的
學習和了解了嵌入式在生活中的重要作用和發展過程,熟練掌握ARM硬件體系結構,熟悉linux下的嵌入式編程流程,積累自己的軟件編寫經驗,能夠參與并實現一個真實和完整的嵌入式項目,為今后的學習和將從事的技術工作打下堅實的基礎
三、實習任務
第一階段Linux操作和編程基礎
主要介紹Linux的基本命令和基礎編程知識,包括Linux的文件操作和目錄操作命令,VI編輯器,GCC編譯器,GDB調試器和Make項目管理工具等知識。
第二階段 嵌入式C語言編程基礎
主要介紹在嵌入式開發編程中C語言的重要概念和編程技巧中的重點難點,以復習串講和實例分析的形式,重點介紹包括函數與程序結構,指針、數組和鏈表,庫函數的使用等知識。
第三階段Linux上C強化編程訓練
主要包括整數算法訓練,遞歸和棧編程訓練,位操作訓練,指針訓練,字符串訓練和常用C庫函數編程接口實踐,強化學員對Linux下基本編程開發的理解和編碼調試的能力。
第四階段 Linux環境高級編程及項目開發編程實踐
主要包括系統編程(信號/系統調用/管道/FIFO/消息隊列/共享內存等),文件I/O編程(文件描述符/文件讀寫接口/原子操作/阻塞與非阻塞IO等,多任務和多線程編程(進程標識/ 用戶標識/fork與vfork/多線程概念/線程同步等),網絡編程(網絡基本概念/套接口編程/網絡字節次序/Client/Server結構/UDP編程);掌握Linux下Socket編程的開發流程,熟悉網絡編程的調用接口函數和相關數據結構,使學員初步具備在Linux上進行系統編程開發的能力。同時綜合之前所學內容和編程技術,以小組為單位進行一個團隊合作項目的開發,考核內容包括文件I/O編程,多線程編程,網絡編程和項目文檔編寫。
第五階段嵌入式處理器體系結構及編程實踐
主要介紹ARM體系結構及其基本編程知識,包括指令分類,尋址方式、指令集、存儲系統、異常中斷處理、匯編語言以及CC++和匯編語言的混合編程等知識。同時結合ARM嵌入式開發板硬件設計原理和基本硬件設計流程,分析各種外設的工作原理和驅動機制,并自己動手實踐完成一個ARM開發板上的編程大作業。
第六階段嵌入式Linux開發基礎及高級應用
主要介紹嵌入式Linux開發應用程序的基本流程和知識,包括嵌入式Linux基本概念和開發流程、Bootloader工作原理、內核裁減配置和交叉編譯、根文件系統制作、網絡編程以及圖形界面和數據庫開發等知識。同時獨立完成一個基于嵌入式Linux GUI的應用編程大作業。
第七階段嵌入式 Linux驅動理論及驅動程序開發實踐
主要介紹嵌入式Linux上驅動程序開發規范,包括設備驅動程序概念、字符設備驅動程序、塊設備與網絡設備、網卡驅動以及常用嵌入式設備驅動開發等知識。同時獨立實現兩種嵌入式設備驅動程序的編寫,包括驅動模塊的調試和加載以及完整的項目開發文檔的編寫。
第八階段嵌入式Linux項目團隊開發實踐鍛煉
主要包括設計并實現一個真實和完整的嵌入式項目的開發流程,涉及到數據采集、網絡通訊、圖形用戶界面顯示以及嵌入式數據庫存儲系統等多種嵌入式Linux編程技術。要求學員建立起團隊開發和協同工作的企業項目開發模式的概念和流程,強化學員對編寫項目概要設計文檔和詳細設計文檔的理解,為就業前的職業技能和素質訓練做好充分準備。
四、實習內容
1、 嵌入式的歷史與現狀
雖然嵌入式系統是近幾年才開始真正風靡起來的,但事實上嵌入式這個概念卻很早就已經存在了,從上個世紀70年代單片機的出現到今天各種嵌入式微處理器、微控制器的廣泛應用,嵌入式系統少說也有了近30年的歷史??v觀嵌入式系統的發展歷程,大致經歷了以下四個階段:
無操作系統階段
嵌入式系統最初的應用是基于單片機的,大多以可編程控制器的形式出現,具有監測、伺服、設備指示等功能,通常應用于各類工業控制和飛機、導彈等武器裝備中,一般沒有操作系統的支持,只能通過匯編語言對系統進行直接控制,運行結束后再清除內存。這些裝置雖然已經初步具備了嵌入式的應用特點,但僅僅只是使用8位的CPU芯片來執行一些單線程的程序,因此嚴格地說還談不上"系統"的概念。
這一階段嵌入式系統的主要特點是:系統結構和功能相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由于這種嵌入式系統使用簡便、價格低廉,因而曾經在工業控制領域中得到了非常廣泛的應用,但卻無法滿足現今對執行效率、存儲容量都有較高要求的信息家電等場合的需要。
?? 嵌入式心得體會 ??
嵌入式是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。由于嵌入式系統通常具有低功耗、體積小、集成度高等特點,因此隨著消費家電的智能化和廉價微處理器的.出現,嵌入式系統將在日常生活里形成更大的應用領域。嵌入式就業前景良好,嵌入式人才社會需求量大。
嵌入式就業前景分析-嵌入式軟件開發應用領域
嵌入式系統是當前最熱門、最具發展前途的IT應用領域之一。包括手機、電子字典、可視電話、數字相機、數字攝像機、U-Disk、機頂盒、高清電視、游戲機、智能玩具、交換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等都是典型的嵌入式系統。因此,通過嵌入式培訓成為專業的嵌入式技術人才,嵌入式就業前景也非常好,其職業發展空間較大。
嵌入式就業前景分析-嵌入式軟件開發人才需求
目前國內嵌入式人才極度匱乏,權威部門統計,我國目前嵌入式軟件人才缺口每年為40萬人左右。供不應求使得嵌入式人才身價上漲,而且,越有專業經驗,就業競爭力就越大。因此,IT專業人士通過培訓掌握嵌入式技術,就能成為炙手可熱的專業人才,其培訓回報有保障。
嵌入式就業前景分析-嵌入式軟件開發就業方向
由于大唐各約嵌入式技術支持工程師都高居前五位。
?? 嵌入式心得體會 ??
嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。按照行業細分,嵌入式產品主要分布在消費類電子、通信、醫療、安全等行業。嵌入式軟件產業發展迅猛,已成為軟件體系的重要組成部分。嵌入式系統產品正不斷滲透各個行業,作為包含在這些硬件產品中的特殊軟件形態,其產業增幅不斷加大,而且在整個軟件產業的比重日趨提高。從2003到2006年,全球嵌入式軟件市場規模均復合增長率達到30%。
據預測,在未來的幾年內,嵌入式系統的發展為幾乎所有的電子設備注入了新的活力,加上迅速發展的Internet和廉價的微處理器出現,嵌入式系統將在我們的日常生活里形成一個更大的應用領域。據調查,上海地區嵌入式系統開發涉及的行業眾多,但多數停留在8位單片機開發層面,僅有部分企業開始采用32位處理器和實時操作系統(RTOS,Real Time Operating System)。然而,國內能夠同時進行軟件設計和芯片設計的SoC系統設計的高端人才幾乎沒有,國際上領先的多核嵌入式系統設計,可重構嵌入式系統設計在國內的應用也還停留在少數科研機構的研究課題中。
人才需求
搜索“linux”,更可以獲得近2000條記錄。從這些職位上看,市場上需要的嵌入式人才必須具備C語言編程經驗、嵌入式操作系統(嵌入式Linux)、具有內核裁剪經驗、具有驅動程序開發經驗。這些都是在學校無法學到的知識。
嵌入式系統人才的匱乏已成為眾多企業的共識,而嵌入式系統幾乎無所不在的`應用領域使其成為一項極具發展潛力的產業,人才的匱乏已成為其發展的瓶頸,企業紛紛抱怨月薪過萬元卻招不到一個合適的嵌入式系統人才。產業的發展趨勢是,越來越多的智能設備的系統趨于復雜,軟件將發揮起關鍵作用,當前業界非常缺乏的就是軟硬件技術兼具的人才。另據權威部門統計,我國嵌入式軟件人才缺口每年為60萬人左右。
以嵌入式領域的3G為例,目前我國的3G核心人才不足萬人,基本上都受雇在幾個運營商和設備廠商。市場急需的嵌入式開發人才以及3G時代所需的增值業務開發人才非常搶手。業內人士認為,至少出現30-50萬的人才缺口,其中嵌入式15萬,移動增值可能35萬。隨著車載電子應用、手持娛樂終端在國內的普及,國內外企業紛紛加大了對嵌入式業務的投入,相關人才需求也逐漸加大。2012年3月,據英才網指數統計顯示,計算機/信息服務共提供82069個空缺職位,占當月所有空缺職位總數的30.37%,排名第一。從這些職位上看,市場上需要的嵌入式人才必須具備C語言編程經驗、嵌入式操作系統(嵌入式Linux)、內核裁剪經驗、驅動程序開發經驗。而這些都是企業用人的標準。盡管很多大學的電子、計算機專業都開設了程序設計、微機原理、單片機等課程,但高校輸送的人才與企業需要的人才卻始終沒有對應上。事實上,這個缺口就是由于缺少系統的學習和項目經驗。企業需要的人才是知識+技能+職業素養,而大多數畢業生缺乏的是實戰技能與綜合素質的培訓。嵌入式軟件開發人才的缺乏也帶來了這個行業可觀的薪酬待遇,嵌入式軟件的從業者薪酬比其他IT業同行大約高出50%。
應用前景
一些先進的PDA在顯示屏幕上已實現漢字寫入、短消息語音發布,日用范圍也將日益廣闊。對于企業專用解決方案,如物流管理、條碼掃描、移動信息采集等,這種小型手持嵌入式系統將發揮巨大的作用。自動控制領域,不僅可以用于ATM機,自動售貨機,工業控制等專用設備,和移動通訊設備結合、GPS、娛樂相結合,嵌入式系統同樣可以發揮巨大的作用。
嵌入式系統是研究的熱點。在研究的同時,我們也可以發現由于嵌入式系統并不是突然出現的,對于微處理器應用的研究和硬件系統的研究已經有了一個很長時間的發展歷史。所以無論是從硬件方面還是軟件方面我們都很容易獲得研發的資料。
硬件方面,不僅有各大公司的微處理器芯片,還有用于學習和研發的各種配套開發包。低層系統和硬件平臺經過若干年的研究,已經相對比較成熟,實現各種功能的芯片應有盡有。而且巨大的市場需求給我們提供了學習研發的資金和技術力量。
從軟件方面講,也有相當部分的成熟軟件系統。國外商品化的嵌入式實時操作系統,已進入我國市場。我國自主開發的嵌入式系統軟件產品如嵌入式軟件開發平臺DeltaSystem,它不僅包括DeltaCore嵌入式實時操作系統,而且還包括LamdaTools交叉開發工具套件、測試工具、應用組件等;此外,中科院也推出了Hopen嵌入式操作系統(雖然還不夠完善)。
?? 嵌入式心得體會 ??
首先,我們學習的課本是嵌入式系統應用教程。我學習的體會是這樣的:開始時,由于是剛剛入門,對老師書的好多東西是好奇的,好多名詞也是新鮮的,不過不太懂什么意思。但是慢慢的,了解的深入讓我有了更深的感觸和體會。
在嵌入式的學習過程中,讓我了解了什么是嵌入式系統。它就是以應用為中心,以計算機技術為基礎,軟硬件可定制,適用于不同應用場合,對功能、可靠性、成本、體積、功耗有嚴格要求的計算機系統。他一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統、用戶應用程序四個部分組成,用于實現對其他設備的控制、監視或管理功能。嵌入式系統已經應用于科學研究、工業控制、軍事技術、交通通信、醫療衛生、消費娛樂等領域,人們日常使用的手機、PDA、汽車、智能家電、GPS等均是嵌入式系統的典型代表。
一開始我們就學習嵌入式的系統的基礎部分,那很簡單,就是一些定義或是介紹之類的。在進入第二章時,就開始學習了嵌入式開發過程中的主要操作系統——linux,在接下來的課程中,我發現嵌入式的學習過程還是蠻有趣的。在對linux的學習中,我們對它有了一點點的了解,接著就是學習一虛擬機的方式安裝linux。對我來說有趣的就是安裝的過程了,首先我們跟著老師的腳步走,學會了怎么安裝,在自己動手進行對它的安裝,這個過程是簡單而有趣的。這樣的開始讓我對它充滿了興趣,也對以后的學習充滿了信心。
其次就是安裝好了之后,老師就更深一步的教我們應用了。在這是老師首先交給我們的是一些簡單的命令應用,Linux具有很豐富的命令,絕大多數命令具有大量的參數。
在學習命令的過程中,只要你認真的看著老師操作還有認真聽著他講,你就會發現有些命令的操作還是很簡單的,不過在操作的過程中,我也有遇到有些困難,會出現你按照書上學習的例子,將命令輸入終端時會出現你不想要的結果,也就是錯誤的結果。這是問問旁邊的同學或是懂的同學就可以解決了。
在對于這部分的學習中,讓我知道了命令對于嵌入式的重要性。它是linux的重要內容,linux中所有的功能都是通過命令執行。在實際應用中,為了減少系統開銷,經常不使用圖形界面,此時,對系統的所有操作都需要以命令方式來執行。在嵌入式系統開發過程中,由于目標機的性能和配置比較低,因此,一般情況下目標機僅具有命令窗口而沒有圖形界面,對目標機的所有操作都通過命令來實現。
還有的那就是進一步學習與嵌入式系統開發相關的linux的服務,他們的啟動、設置等的操作和應用。而在學習之中,我們主要介紹的是嵌入式系統中開發工程使用的TFTP、Telent和NFS服務。第一個實現的事上機位與下機位之間文件的傳輸、無磁盤網絡的設備的啟動等功能;第二個實現的事遠程登錄功能;第三個實現的是網絡文件系統功能。
從以上的內容之中,并不難感受到我們的學習過程是由淺入深的,這對于我們的學習也有了較好的幫助。
當然,我們學習的不僅僅是這么幾個內容,其中還有相關的實驗內容。在我們基礎的學習的過程之中,我有了這么一點的感受,總的來說就是概念加專業名詞還有介紹加實驗。不過你絕對不能小看那些概念和介紹,它對我們有著很重要的指導作用哦!實驗那就更不用說了,它提高我們的動手能力,在實驗的過程中還能讓你更加理解書中的理念,這就是我學習嵌入式的感受。
?? 嵌入式心得體會 ??
職責描述:
1.負責基于linux或qnx的汽車智能駕駛座艙軟件的'中間件開發與調試;
2.配合團隊進行其他項目開發。
任職要求:
1.全日制統招本科及以上學歷,電子、計算機、軟件工程或相關專業;
2.3年以上相關工作經驗;
3.精通c/c++及其相關標準庫,熟悉mvc設計模式,具備多線程編程的實際經驗;
4.熟悉網絡通訊原理,了解主流rpc技術,具備socket編程或其他相關網絡編程經驗,了解流媒體相關技術;
5.掌握嵌入式圖形編程技術,有opengl/gles經驗者優先;
6.對開源項目有一定研究能力,并有實際集成經驗者優先。
7.專業基礎扎實,熱衷技術,對汽車行業感興趣。
?? 嵌入式心得體會 ??
關于嵌入式營銷的論文
[摘要]隨著營銷實踐的發展,營銷理念也在不斷地推進與創新。嵌入式營銷便是一種基于顧客價值鏈的產業營銷新思維,其體現了現代營銷的三個核心理念:顧客滿意、競爭導向和關系營銷。本文將從嵌入式營銷的核心理念、一般程序、基本方式和主要特征入手,探討嵌入式營銷的理論結構。
[關鍵詞]嵌入式營銷關系營銷價值鏈產業營銷
一、嵌入式營銷的核心理念
嵌入式營銷是一種基于顧客價值鏈的新型產業營銷方式,在對產業顧客價值鏈分析的基礎上,綜合考慮顧客需求和競爭對手的行動,尋找企業資源能力與顧客盈利模式之間獨特的價值匹配,并將其嵌入到顧客的價值鏈上,使營銷活動成為顧客創造價值的不可或缺的一部分,從而建立長期穩定的營銷關系。
嵌入式營銷體現了現代營銷中的顧客滿意、競爭導向和關系營銷三個核心理念。第一,嵌入式營銷關注顧客滿意,在保證顧客滿意的基礎上,提供價值鏈增值服務;第二,嵌入式營銷在為顧客提供附加價值的同時,需要考慮競爭者的反應與行動,只有采取與競爭者不同的營銷活動才能達到嵌入式營銷的目的;第三,嵌入式營銷是注重關系的營銷新思維,將自身的營銷活動嵌入到顧客的價值鏈中,有利于企業與顧客建立起長久且穩定的營銷關系。在嵌入式營銷所涉及的三種營銷理念中,關系營銷居于核心地位,嵌入式營銷的實質是要與顧客建立一種顧客穩固的營銷關系。
二、嵌入式營銷的主要特征
嵌入式營銷作為一種產業營銷新思維,有其區別于一般營銷方式的一些特征,下面闡述了嵌入式營銷的主要特征:
1.嵌入式營銷為顧客提供新屬性新價值,創規則而非守規則,從了解顧客到教育顧客,從迎合市場到顛覆市場。
2.嵌入式營銷超越了現有的市場邊界和競爭空間,為顧客提供價值的同時,把自己的營銷活動深入到顧客的價值鏈上,成為其創造價值的不可或缺的一部分。
3.嵌入式營銷是一種針對產業市場顧客的營銷方式,因為只有產業顧客才可以分析其價值鏈活動。其方法并不適用于對消費者的營銷,但是他的一些理念也可以為消費者營銷提供參考。
4.嵌入式營銷注重長期穩定的營銷關系的建立。
三、嵌入式營銷的一般程序
1.分析產業顧客的價值鏈活動,尋找與企業資源能力相匹配的獨特價值。
2.分析顧客滿意因素和競爭對手的反應與活動。
3.創造獨特價值并嵌入到顧客價值鏈中。
4.評價嵌入式營銷,保持或創新嵌入式營銷的營銷活動,以維持與顧客的營銷關系。
四、嵌入式營銷的基本方式
價值鏈是企業通過經營活動創造更高價值的系統,這些創造價值的活動可以分為兩類:基本價值活動和輔助價值活動,價值鏈的兩大部分各個環節之間相互影響、相互關聯,一個環節經營管理的好壞影響到其他環節的成本和效益。嵌入式營銷正是通過分析產業顧客的價值鏈,找到顧客價值鏈中與企業可以匹配的地方,將企業的營銷活動深入到顧客價值鏈中,以建立長期穩定的營銷關系。這其中以嵌入內部后勤、運營、市場營銷最為典型,下面將就其具體方式一一闡述。
1.嵌入式營銷——嵌入顧客內部后勤。所謂嵌入顧客內部后勤的嵌入式營銷是指分析產業顧客在其產品投入品的進貨、倉儲和分配等有關活動,將自己的營銷活動與之相結合的營銷方式。例如:安富利電子元件部獲得海爾的庫存所有權,成為其供應鏈的'合作伙伴正是借助了嵌入式營銷的力量。安富利電子元件不僅為海爾提供所需要的電子元件,更為重要的是其增值的供應鏈服務,為海爾提供定期的庫存分析,按需要進行自動補給,以確保庫存時刻保持在最佳水平。安富利正是抓住了這些本來是由海爾自己來解決的內部后勤問題將自己的營銷活動嵌入到海爾的價值鏈中,成為海爾創造價值的一部分,從而結成穩定的合作關系。
2.嵌入式營銷——嵌入顧客運營。在營銷過程中將營銷活動嵌入到產業顧客價值鏈中的運營環節,就是嵌入顧客運營的嵌入式營銷。例如著名的第三方檢驗機構——廣州金域的發展歷史,金域公司本是一家生產乙肝檢測試劑的廠家,為了避免與眾多競爭對手的價格戰,通過分析醫院的產業價值鏈發現只有少數醫院才有試劑最終的檢測儀器,大量的醫院在使用了試劑之后都要通過其他機構進行最終檢測。金域公司就買進一臺檢測儀器,在銷售其檢測試劑的同時保證為醫院免費提供檢測,這樣不僅吸引了大量的顧客,而且自己所提供的服務成為醫院價值鏈中運營活動的一部分,建立了穩定的供貨關系,最終確立了其在行業中的領先地位?,F在金域公司已經成為了一家專業的第三方檢驗機構。
3.嵌入式營銷——嵌入顧客營銷活動。嵌入顧客營銷活動的嵌入式營銷是指通過分析產業顧客的價值鏈,將企業的營銷活動和顧客的價值鏈中的市場營銷相結合,和顧客的產品收集、儲存、散發和購買等活動相聯系,比如產品庫存、搬運、銷售渠道選擇等等。在這方面的一個典型例子是各種專業的連鎖店,比如國美,通過分析家電企業的價值鏈,得出銷售渠道在家電企業中的重要位置,為了達到吸引產業顧客進入其店面進行銷售,建立了全國性的連鎖商店,成為家電企業分銷活動中不可或缺的一部分。
嵌入式營銷不僅只在這三種價值鏈活動中運用,在其他的主體活動,以及支持活動中都可以采用。
五、小結
嵌入式營銷作為一種產業營銷的新思維,體現了顧客滿意、競爭導向和關系營銷的理念,其超越現有競爭空間,為顧客提供價值鏈增值服務,已達成穩固營銷關系的觀念,必將被越來越多的企業所踐行。
參考文獻:
[1]邁克爾·波特:競爭戰略[M].華夏出版社,2001
[2]格里·約翰遜凱萬·斯科爾斯王軍等譯:戰略管理[M].人民郵電出版社,2004
[3]菲利普·科特勒梅清豪譯:營銷管理(第11版)[M].上海人民出版社,2003
?? 嵌入式心得體會 ??
1 實時系統
實時系統是指數據產生時,能以足夠快的速度來進行處理,處理的結果能在規定的時間內來控制生產過程與處理系統,讓它做出極快的響應。在實時系統中,如果指定的時間沒有完成確定的任務,整個系統會全面失敗,這被稱為硬實時系統,反之,如果在指定的時間內沒有完成確定的任務,不會出現致命的錯誤就被稱為軟實時系統。
2 分時系統
分時系統是把時間劃為長短基本相同的時間片,操作系統輪流分配給各個作業使用,如果某個作業在時間片結束完成,這個作業被掛起,等下一輪循環再繼續使用,分時操作系統具有以下幾個特點:多路性,用戶通過各自的'終端可以同時使用一個系統;及時性,對于提出的要求,系統能在較短的時間內得到響應與處理;獨立性,雖然同一時間內可以多個用戶使用同一個CPU,但是用戶之間操作獨立,彼此不干涉。
3 嵌入式系統選型
選擇自己需要的嵌入式系統,可以從以下幾方面進行對比選擇。
3.1 進入市場時間
產品的進入時間與選擇的操作系統有很大的關系,實際的產品與演示的產品不同。一些高效推出的操作系統由于研發時間不夠、技術累積不夠,導致成本高、核心競爭能力差。比如WinCE操作系統,它就是在windows系統上作一定程度的改變,去掉一些不需要的功能,很快推出產品,結果實用時出現很多問題。
3.2 可移植性
通常來說,嵌入式系統的移植性越好,可在在不同平臺、不同系統上都能移植,那是處于最理想的狀態,然而實際運用中并不能達到這種理想狀態,如果過于強調移植性,那么會付出性能優化的代價。
3.3 可利用資源
嵌入式系統是以快速、低成本、高效率的推平適合用戶需要的一個系統平臺,而在這個平臺上能使用多少功能,需要使用第三方的產品,因此這個平臺上能使用多少第三方的產品是選型的一個重要條件,有些嵌入式系統為了滿足高性能、高可靠性的要求,使用比較封閉的操作系統,多數只能使用自己獨立
3.4 系統定制能力
用戶在使用嵌入式操作系統的時候,要求能定制不同的硬件平臺,比如會要求能否對系統提出底層的更動要求?能否定制出現能滿足自己需要、更有自己特色的系統、能否開放原代碼等等。
3.5 成本
選擇嵌入式操作系統,需要考慮成本的問題,比如一個系統是完全免費的,還是需要支付許可使用費等等,在這個選擇中,并不是免費的就是最好的,這要考慮到硬件設計人員的投入、公司的管理、第三方軟件的開發及使用,等等方面的問題,最后對成本作一個綜合考量。
3.6 語言內核支持
語言內核支持指操作系統能使用幾種語言操作,比如西文的、中文的,如果是可以使用中文操作,那么它是否支持雙字節編碼,是只支持簡體中文系統還是同時支持繁體系統,同時還要考慮中文輸入法與處理系統,語言內核的支持與第三方軟件資源的利用有非常重要的聯系。
?? 嵌入式心得體會 ??
首先,嵌入式系統是以應用為中心,以計算機技術為基礎,且軟硬件可裁減,適應應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。嵌入式有如下幾個突出的有點1.系統內核小,2專用性強,3系統精簡4高實時性OS5嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行,6嵌入式系統需要開發工具和環境。
嵌入式系統是近幾年才風靡起來的,但是這個概念并非新近才出現。從20世紀七十年代單片機(最早的單片機是Intel公司的 8048,出現在1976年)的出現到今天各式各樣的嵌入式微處理器,微控制器的大規模應用,嵌入式系統已經有了近30年的發展歷史。經過30年的發展,嵌入式技術已經日趨成熟,在中國嵌入式機一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用于實現對其他設備的控制、監視或管理等功能。
其次,嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。
嵌入式系統是軟硬結合的學科,通常有兩類人會去專研嵌入式:一類是學電子工程、通信工程等偏硬件專業的,另一類是學軟件、計算機專業出身的人,主要從事嵌入式操作系統和應用軟件的開發。
我是軟件專業的學習嵌入式,越是智能設備越是復雜系統,軟件越起關鍵作用,而且這是目前的趨勢。嵌入式應用在很多方面,具體的可以分為工業控制,交通管理,信息家電,家庭智能管理系統,POS網絡及電子商務,環境工程與自然,機器人,機電產品方面應用等方面。其中目前在服務領域,如遠程點菜器等已經體現了嵌入式系統的優勢。例外還有很多地方用到了嵌入式系統,最近飛利浦和ARM共同推出32位RISC嵌入式控制器,適用于工業控制,采用最先進的0.18微米CMOS嵌入式閃存處理技術,操作電壓可以低至1.2伏,它還能降低25%到30%的制造成本,在工業領域中對最終用戶而言是一套極具成本效益的解決方案。
首先我聲明,我是基于嵌入式系統平臺級設計的,硬件這個方向我相對來講比較有發言權,如果是其它方面所要具備的基本技能還要和我們培訓中心其它專業級講師溝通。他們的方面上我只能說是知道些,但不是太多,初級的問題也可以問我。
對于硬件來講有幾個方向,就單純信號來分為數字和模擬,模擬比較難搞,一般需要很長的經驗積累,單單一個阻值或容值的精度不夠就可能使信號偏差很大。因此年輕人搞的較少,隨著技術的發展,出現了模擬電路數字化,比如手機的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語功底很好的硬件工程師,在電路板調試過程中能通過自已編寫的測試程序對硬件功能進行驗證。然后再交給基于操作系統級的驅動開發人員。
?? 嵌入式心得體會 ??
嵌入式系統通常為一個資源受限的系統。直接在嵌入式系統的硬件平臺上編寫軟件比較困難,有時甚至是不可能的。目前,一般采用的辦法是,先在通用計算機上編寫程序,然后,通過交叉編譯,生成目標平臺上可運行的二進制代碼格式,最后下載到目標平臺上的特定位置上運行,具體步驟如下。
第一步,建立嵌入式Linux交叉開發環境。目前,常用的交叉開發環境主要有開放和商業兩種類型。開放的交叉開發環境的典型代表是GNU工具鏈,目前已經能夠支持x86、ARM、MIPS、PowerPC等多種處理器。商業的交叉開發環境主要有Metrowerks CodeWarrior、ARM Software Development Toolkit、SDS Cross compiler、WindRiver Tornado、Microsoft Embedded Visual C++等。交叉開發環境是指編譯、鏈接和調試嵌入式應用軟件的環境。它與運行嵌入式應用軟件的環境有所不同,通常采用宿主機/目標機模式。
第二步,交叉編譯和鏈接。在完成嵌入式軟件的編碼之后,就是進行編譯和鏈接,以生成可執行代碼。由于開發過程大多是在Intel公司x86系列CPU的通用計算機上進行的,而目標環境的處理器芯片卻大多為ARM、MIPS、PowerPC、DragonBall等系列的微處理器,這就要求在建立好的交叉開發環境中進行交叉編譯和鏈接。
第三步,交叉調試。
① 硬件調試。如果不采用在線仿真器,可以讓CPU直接在其內部實現調試功能,并通過在開發板上引出的調試端口,發送調試命令和接收調試信息,完成調試過程。目前,ARM公司提供的開發板上使用的則是JTAG調試端口。
② 軟件調試。在嵌入式Linux系統中,Linux系統內核調試,可以先在Linux內核中設置一個調試樁(debug stub),用作調試過程中和宿主機之間的通信服務器。然后,可以在宿主機中通過調試器的串口與調試樁進行通信,并通過調試器控制目標機上Linux內核的運行。
第四步,系統測試。整個軟件系統編譯過程,嵌入式系統的硬件一般采用專門的測試儀器進行測試,而軟件則需要有相關的測試技術和測試工具的支持,并要采用特定的測試策略。測試技術指的是軟件測試的專門途徑,以及能夠更加有效地運用這些途徑的特定方法。
?? 嵌入式心得體會 ??
2017年嵌入式系統題庫
嵌入式系統的核心是由一個或幾個預先編程好以用來執行少數幾項任務的微處理器或者單片機組成。下面是小編收集的嵌入式系統題庫,希望大家認真閱讀!
1:用C語言實現大小端的測試
Int CheckCpu()
{
union
{
int a;
char b;
}c;
c.a=1;
if(c.b==1)
printf(“小端”);
else printf(“大端”);
}
2:volatile的作用有哪些?
Volatile第一變量相當于告訴編譯器這個變量的值會隨時發生變化,每次使用之前都要去內存里從新讀取它的值,并不要隨意針對它做優化,主要用在:
1:一個中斷子程序中會訪問到的非自動變量;
2:多線程應用中被幾個線程共享的變量;
3:并行設備的硬件寄存器。
3:C語言中static關鍵字的作用有哪些?
1:在函數體中,一個被聲明為靜態的變量在這個變量在調用過程中維持其值不變;
2:在模塊內(但在函數體外),一個被聲明為靜態的變量,可以被這個模塊內的所用函數使用,但不能被模塊外的函數使用,它是一個本地的全局變量;
3:在模塊內,一個被聲明為靜態變量的函數,智能被這個模塊內的函數調用;
4:static全局變量與局部變量的'區別:static全局變量只能被初始化一次,防止其他單元文件中被引用;
5:static局部變量與局部變量的區別:static局部變量只能被初始化一次,下一次依據上一次結果的值;
6:static函數與普通函數的區別:static在內存中只用一份,普通函數在每一次調用中維持一份拷貝。
4:請問下面三種變量的區別:
Int const *p : 指向常整型的指針;
Int *const p; 指向整型的常指針;
Int *const *p: 指向常整型的常指針;
5:在ARM系統中,在函數調用的時候,參數是通過哪種方式傳遞的。
當參數小于等于4的時候是通過r0~r3來進行傳遞的,當參數大于4的時候是通過壓棧的方式進行傳遞。
6:中斷與異常有何區別.
異常在處理的時候必須考慮與處理器的時鐘同步,實際上異常也稱為同步中斷,在處理器執行到因編譯錯誤而導致的錯誤指令時,或者在執行期間出現特殊錯誤,必須靠內核處理的時候,處理器就會產生一個異常;所謂中斷是指外部硬件產生的一個電信號從CPU的中斷引腳進入,打斷CPU的運行。所謂異常是指軟件運行過程中發生了一些必須作出處理的事件,CPU自動產生一個陷入來打斷CPU的運行。
7:用預處理指令#define表示一年中有多少秒
#define SECONDS_PER_YEAR (60*60*24*365)UL
注意后面必須加UL,表示計算的結構是常整型。
8:簡述SPI,UART,I2C三種傳輸方式。
SPI:高速同步串行口,首發獨立,可同步進行
SPI接口主要應用在EEPROM,Flash,實時時鐘,A/D轉化器,數字信號處理,是一種全雙工同步通訊總線,該接口一般使用四條線:串行時鐘線(sck),主出從入線,主入從出線,低電平有效地的從機選擇線。
I2C協議:是單片機與其他芯片進行通訊的協議:1:只要求兩條總線線路,一條是串行時鐘線,一條是串行數據線; 2:通過軟件設定地址 3:是一個多主機總線,如果兩個或更多主機同時初始化數據傳送可通過沖突檢測和仲裁防止數據破壞; 4:I2C總線傳輸的是數據的總高位
UART:主要是由一個modem(調制解調器),可以將模擬信號量轉化成數字信號量。
9:中斷不能返回一個值,中斷不能傳遞參數。
10:嵌入式系統總要求用戶對變量或者寄存器進行位操作,給定一個整型變量a:
define BIT3 (oxo1<<3)
static int a ;
void set_bit3(void)
{
a|=BIT3;
}
void clear_bit3(void)
{
a&=~BIT3;
}
作為一個嵌入式程序員,這種程序是小菜一碟,至所以給出這個程序,是想規范大家寫程序方法,這里主要是用到了一個宏定義:BIT3 這樣的話就可以增加程序的可讀性
同時移植性也增強。
11:嵌入式系統中經常要求程序去訪問某特定內存的特點,在某工程中,要求設定一個絕對地址0x6799的整型變量的值為0xaa66.
Int *ptr;
ptr=(int*)0x67a9;
*ptr=aa66
12:引用和指針有什么區別?
1:應用必須初始化,指針不必;
2:引用處畫化后不能改變,指針可以被改變;
3:不存在指向空值的引用,但存在指向空值的指針;
13:全局變量與局部變量在內存中是否有區別,是什么區別?
全局變量存儲在靜態數據庫,局部變量存儲在堆棧;
14:寫出float,bool,int類型與零的比較,假設變量為X:
Int : if(x==0)
Float: if(x>0.0000001&&x<0.0000001)
Bool: if(x==false)
15:Intertnet采用哪種網絡協議,該協議的主要層次結構?
TCP/IP協議
應用層/傳輸層/網絡層/數字鏈路層/物理層。
16:IP地址有兩部分組成:網絡號和主機號
17:程序的局部變量存儲在(棧)中,全局變量存儲于(靜態存儲區),動態申請數據存儲于(堆中);
18:編寫一個字符串復制函數:strcpy(const char *str,const char *str1)
void strcpy(const *char str,const chat *str1)
{
if(*str1==’id="article-content1">
嵌入式心得體會(分享十三篇)
發表時間:2018-05-06 嵌入式心得體會(分享十三篇)。
?? 嵌入式心得體會 ??
一、嵌入式的概述:
隨著信息化技術的發展和數字化產品的普及,以計算機技術、芯片技術和軟件技術為核心的嵌入式系統再度成為當前研究和應用的熱點,通信、計算機、消費電子技術(3C)合一的趨勢正在逐步形成,無所不在的網絡和無所不在的計算(everything connecting, everywhere computing)正在將人類帶入一個嶄新的信息社會。
二、實習目的
學習和了解了嵌入式在生活中的重要作用和發展過程,熟練掌握ARM硬件體系結構,熟悉linux下的嵌入式編程流程,積累自己的軟件編寫經驗,能夠參與并實現一個真實和完整的嵌入式項目,為今后的學習和將從事的技術工作打下堅實的基礎
三、實習任務
第一階段Linux操作和編程基礎
主要介紹Linux的基本命令和基礎編程知識,包括Linux的文件操作和目錄操作命令,VI編輯器,GCC編譯器,GDB調試器和Make項目管理工具等知識。
第二階段 嵌入式C語言編程基礎
主要介紹在嵌入式開發編程中C語言的重要概念和編程技巧中的重點難點,以復習串講和實例分析的形式,重點介紹包括函數與程序結構,指針、數組和鏈表,庫函數的使用等知識。
第三階段Linux上C強化編程訓練
主要包括整數算法訓練,遞歸和棧編程訓練,位操作訓練,指針訓練,字符串訓練和常用C庫函數編程接口實踐,強化學員對Linux下基本編程開發的理解和編碼調試的能力。
第四階段 Linux環境高級編程及項目開發編程實踐
主要包括系統編程(信號/系統調用/管道/FIFO/消息隊列/共享內存等),文件I/O編程(文件描述符/文件讀寫接口/原子操作/阻塞與非阻塞IO等,多任務和多線程編程(進程標識/ 用戶標識/fork與vfork/多線程概念/線程同步等),網絡編程(網絡基本概念/套接口編程/網絡字節次序/Client/Server結構/UDP編程);掌握Linux下Socket編程的開發流程,熟悉網絡編程的調用接口函數和相關數據結構,使學員初步具備在Linux上進行系統編程開發的能力。同時綜合之前所學內容和編程技術,以小組為單位進行一個團隊合作項目的開發,考核內容包括文件I/O編程,多線程編程,網絡編程和項目文檔編寫。
第五階段嵌入式處理器體系結構及編程實踐
主要介紹ARM體系結構及其基本編程知識,包括指令分類,尋址方式、指令集、存儲系統、異常中斷處理、匯編語言以及CC++和匯編語言的混合編程等知識。同時結合ARM嵌入式開發板硬件設計原理和基本硬件設計流程,分析各種外設的工作原理和驅動機制,并自己動手實踐完成一個ARM開發板上的編程大作業。
第六階段嵌入式Linux開發基礎及高級應用
主要介紹嵌入式Linux開發應用程序的基本流程和知識,包括嵌入式Linux基本概念和開發流程、Bootloader工作原理、內核裁減配置和交叉編譯、根文件系統制作、網絡編程以及圖形界面和數據庫開發等知識。同時獨立完成一個基于嵌入式Linux GUI的應用編程大作業。
第七階段嵌入式 Linux驅動理論及驅動程序開發實踐
主要介紹嵌入式Linux上驅動程序開發規范,包括設備驅動程序概念、字符設備驅動程序、塊設備與網絡設備、網卡驅動以及常用嵌入式設備驅動開發等知識。同時獨立實現兩種嵌入式設備驅動程序的編寫,包括驅動模塊的調試和加載以及完整的項目開發文檔的編寫。
第八階段嵌入式Linux項目團隊開發實踐鍛煉
主要包括設計并實現一個真實和完整的嵌入式項目的開發流程,涉及到數據采集、網絡通訊、圖形用戶界面顯示以及嵌入式數據庫存儲系統等多種嵌入式Linux編程技術。要求學員建立起團隊開發和協同工作的企業項目開發模式的概念和流程,強化學員對編寫項目概要設計文檔和詳細設計文檔的理解,為就業前的職業技能和素質訓練做好充分準備。
四、實習內容
1、 嵌入式的歷史與現狀
雖然嵌入式系統是近幾年才開始真正風靡起來的,但事實上嵌入式這個概念卻很早就已經存在了,從上個世紀70年代單片機的出現到今天各種嵌入式微處理器、微控制器的廣泛應用,嵌入式系統少說也有了近30年的歷史??v觀嵌入式系統的發展歷程,大致經歷了以下四個階段:
無操作系統階段
嵌入式系統最初的應用是基于單片機的,大多以可編程控制器的形式出現,具有監測、伺服、設備指示等功能,通常應用于各類工業控制和飛機、導彈等武器裝備中,一般沒有操作系統的支持,只能通過匯編語言對系統進行直接控制,運行結束后再清除內存。這些裝置雖然已經初步具備了嵌入式的應用特點,但僅僅只是使用8位的CPU芯片來執行一些單線程的程序,因此嚴格地說還談不上"系統"的概念。
這一階段嵌入式系統的主要特點是:系統結構和功能相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由于這種嵌入式系統使用簡便、價格低廉,因而曾經在工業控制領域中得到了非常廣泛的應用,但卻無法滿足現今對執行效率、存儲容量都有較高要求的信息家電等場合的需要。
?? 嵌入式心得體會 ??
嵌入式是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。由于嵌入式系統通常具有低功耗、體積小、集成度高等特點,因此隨著消費家電的智能化和廉價微處理器的.出現,嵌入式系統將在日常生活里形成更大的應用領域。嵌入式就業前景良好,嵌入式人才社會需求量大。
嵌入式就業前景分析-嵌入式軟件開發應用領域
嵌入式系統是當前最熱門、最具發展前途的IT應用領域之一。包括手機、電子字典、可視電話、數字相機、數字攝像機、U-Disk、機頂盒、高清電視、游戲機、智能玩具、交換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等都是典型的嵌入式系統。因此,通過嵌入式培訓成為專業的嵌入式技術人才,嵌入式就業前景也非常好,其職業發展空間較大。
嵌入式就業前景分析-嵌入式軟件開發人才需求
目前國內嵌入式人才極度匱乏,權威部門統計,我國目前嵌入式軟件人才缺口每年為40萬人左右。供不應求使得嵌入式人才身價上漲,而且,越有專業經驗,就業競爭力就越大。因此,IT專業人士通過培訓掌握嵌入式技術,就能成為炙手可熱的專業人才,其培訓回報有保障。
嵌入式就業前景分析-嵌入式軟件開發就業方向
由于大唐各約嵌入式技術支持工程師都高居前五位。
?? 嵌入式心得體會 ??
嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。按照行業細分,嵌入式產品主要分布在消費類電子、通信、醫療、安全等行業。嵌入式軟件產業發展迅猛,已成為軟件體系的重要組成部分。嵌入式系統產品正不斷滲透各個行業,作為包含在這些硬件產品中的特殊軟件形態,其產業增幅不斷加大,而且在整個軟件產業的比重日趨提高。從2003到2006年,全球嵌入式軟件市場規模均復合增長率達到30%。
據預測,在未來的幾年內,嵌入式系統的發展為幾乎所有的電子設備注入了新的活力,加上迅速發展的Internet和廉價的微處理器出現,嵌入式系統將在我們的日常生活里形成一個更大的應用領域。據調查,上海地區嵌入式系統開發涉及的行業眾多,但多數停留在8位單片機開發層面,僅有部分企業開始采用32位處理器和實時操作系統(RTOS,Real Time Operating System)。然而,國內能夠同時進行軟件設計和芯片設計的SoC系統設計的高端人才幾乎沒有,國際上領先的多核嵌入式系統設計,可重構嵌入式系統設計在國內的應用也還停留在少數科研機構的研究課題中。
人才需求
搜索“linux”,更可以獲得近2000條記錄。從這些職位上看,市場上需要的嵌入式人才必須具備C語言編程經驗、嵌入式操作系統(嵌入式Linux)、具有內核裁剪經驗、具有驅動程序開發經驗。這些都是在學校無法學到的知識。
嵌入式系統人才的匱乏已成為眾多企業的共識,而嵌入式系統幾乎無所不在的`應用領域使其成為一項極具發展潛力的產業,人才的匱乏已成為其發展的瓶頸,企業紛紛抱怨月薪過萬元卻招不到一個合適的嵌入式系統人才。產業的發展趨勢是,越來越多的智能設備的系統趨于復雜,軟件將發揮起關鍵作用,當前業界非常缺乏的就是軟硬件技術兼具的人才。另據權威部門統計,我國嵌入式軟件人才缺口每年為60萬人左右。
以嵌入式領域的3G為例,目前我國的3G核心人才不足萬人,基本上都受雇在幾個運營商和設備廠商。市場急需的嵌入式開發人才以及3G時代所需的增值業務開發人才非常搶手。業內人士認為,至少出現30-50萬的人才缺口,其中嵌入式15萬,移動增值可能35萬。隨著車載電子應用、手持娛樂終端在國內的普及,國內外企業紛紛加大了對嵌入式業務的投入,相關人才需求也逐漸加大。2012年3月,據英才網指數統計顯示,計算機/信息服務共提供82069個空缺職位,占當月所有空缺職位總數的30.37%,排名第一。從這些職位上看,市場上需要的嵌入式人才必須具備C語言編程經驗、嵌入式操作系統(嵌入式Linux)、內核裁剪經驗、驅動程序開發經驗。而這些都是企業用人的標準。盡管很多大學的電子、計算機專業都開設了程序設計、微機原理、單片機等課程,但高校輸送的人才與企業需要的人才卻始終沒有對應上。事實上,這個缺口就是由于缺少系統的學習和項目經驗。企業需要的人才是知識+技能+職業素養,而大多數畢業生缺乏的是實戰技能與綜合素質的培訓。嵌入式軟件開發人才的缺乏也帶來了這個行業可觀的薪酬待遇,嵌入式軟件的從業者薪酬比其他IT業同行大約高出50%。
應用前景
一些先進的PDA在顯示屏幕上已實現漢字寫入、短消息語音發布,日用范圍也將日益廣闊。對于企業專用解決方案,如物流管理、條碼掃描、移動信息采集等,這種小型手持嵌入式系統將發揮巨大的作用。自動控制領域,不僅可以用于ATM機,自動售貨機,工業控制等專用設備,和移動通訊設備結合、GPS、娛樂相結合,嵌入式系統同樣可以發揮巨大的作用。
嵌入式系統是研究的熱點。在研究的同時,我們也可以發現由于嵌入式系統并不是突然出現的,對于微處理器應用的研究和硬件系統的研究已經有了一個很長時間的發展歷史。所以無論是從硬件方面還是軟件方面我們都很容易獲得研發的資料。
硬件方面,不僅有各大公司的微處理器芯片,還有用于學習和研發的各種配套開發包。低層系統和硬件平臺經過若干年的研究,已經相對比較成熟,實現各種功能的芯片應有盡有。而且巨大的市場需求給我們提供了學習研發的資金和技術力量。
從軟件方面講,也有相當部分的成熟軟件系統。國外商品化的嵌入式實時操作系統,已進入我國市場。我國自主開發的嵌入式系統軟件產品如嵌入式軟件開發平臺DeltaSystem,它不僅包括DeltaCore嵌入式實時操作系統,而且還包括LamdaTools交叉開發工具套件、測試工具、應用組件等;此外,中科院也推出了Hopen嵌入式操作系統(雖然還不夠完善)。
?? 嵌入式心得體會 ??
首先,我們學習的課本是嵌入式系統應用教程。我學習的體會是這樣的:開始時,由于是剛剛入門,對老師書的好多東西是好奇的,好多名詞也是新鮮的,不過不太懂什么意思。但是慢慢的,了解的深入讓我有了更深的感觸和體會。
在嵌入式的學習過程中,讓我了解了什么是嵌入式系統。它就是以應用為中心,以計算機技術為基礎,軟硬件可定制,適用于不同應用場合,對功能、可靠性、成本、體積、功耗有嚴格要求的計算機系統。他一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統、用戶應用程序四個部分組成,用于實現對其他設備的控制、監視或管理功能。嵌入式系統已經應用于科學研究、工業控制、軍事技術、交通通信、醫療衛生、消費娛樂等領域,人們日常使用的手機、PDA、汽車、智能家電、GPS等均是嵌入式系統的典型代表。
一開始我們就學習嵌入式的系統的基礎部分,那很簡單,就是一些定義或是介紹之類的。在進入第二章時,就開始學習了嵌入式開發過程中的主要操作系統——linux,在接下來的課程中,我發現嵌入式的學習過程還是蠻有趣的。在對linux的學習中,我們對它有了一點點的了解,接著就是學習一虛擬機的方式安裝linux。對我來說有趣的就是安裝的過程了,首先我們跟著老師的腳步走,學會了怎么安裝,在自己動手進行對它的安裝,這個過程是簡單而有趣的。這樣的開始讓我對它充滿了興趣,也對以后的學習充滿了信心。
其次就是安裝好了之后,老師就更深一步的教我們應用了。在這是老師首先交給我們的是一些簡單的命令應用,Linux具有很豐富的命令,絕大多數命令具有大量的參數。
在學習命令的過程中,只要你認真的看著老師操作還有認真聽著他講,你就會發現有些命令的操作還是很簡單的,不過在操作的過程中,我也有遇到有些困難,會出現你按照書上學習的例子,將命令輸入終端時會出現你不想要的結果,也就是錯誤的結果。這是問問旁邊的同學或是懂的同學就可以解決了。
在對于這部分的學習中,讓我知道了命令對于嵌入式的重要性。它是linux的重要內容,linux中所有的功能都是通過命令執行。在實際應用中,為了減少系統開銷,經常不使用圖形界面,此時,對系統的所有操作都需要以命令方式來執行。在嵌入式系統開發過程中,由于目標機的性能和配置比較低,因此,一般情況下目標機僅具有命令窗口而沒有圖形界面,對目標機的所有操作都通過命令來實現。
還有的那就是進一步學習與嵌入式系統開發相關的linux的服務,他們的啟動、設置等的操作和應用。而在學習之中,我們主要介紹的是嵌入式系統中開發工程使用的TFTP、Telent和NFS服務。第一個實現的事上機位與下機位之間文件的傳輸、無磁盤網絡的設備的啟動等功能;第二個實現的事遠程登錄功能;第三個實現的是網絡文件系統功能。
從以上的內容之中,并不難感受到我們的學習過程是由淺入深的,這對于我們的學習也有了較好的幫助。
當然,我們學習的不僅僅是這么幾個內容,其中還有相關的實驗內容。在我們基礎的學習的過程之中,我有了這么一點的感受,總的來說就是概念加專業名詞還有介紹加實驗。不過你絕對不能小看那些概念和介紹,它對我們有著很重要的指導作用哦!實驗那就更不用說了,它提高我們的動手能力,在實驗的過程中還能讓你更加理解書中的理念,這就是我學習嵌入式的感受。
?? 嵌入式心得體會 ??
職責描述:
1.負責基于linux或qnx的汽車智能駕駛座艙軟件的'中間件開發與調試;
2.配合團隊進行其他項目開發。
任職要求:
1.全日制統招本科及以上學歷,電子、計算機、軟件工程或相關專業;
2.3年以上相關工作經驗;
3.精通c/c++及其相關標準庫,熟悉mvc設計模式,具備多線程編程的實際經驗;
4.熟悉網絡通訊原理,了解主流rpc技術,具備socket編程或其他相關網絡編程經驗,了解流媒體相關技術;
5.掌握嵌入式圖形編程技術,有opengl/gles經驗者優先;
6.對開源項目有一定研究能力,并有實際集成經驗者優先。
7.專業基礎扎實,熱衷技術,對汽車行業感興趣。
?? 嵌入式心得體會 ??
關于嵌入式營銷的論文
[摘要]隨著營銷實踐的發展,營銷理念也在不斷地推進與創新。嵌入式營銷便是一種基于顧客價值鏈的產業營銷新思維,其體現了現代營銷的三個核心理念:顧客滿意、競爭導向和關系營銷。本文將從嵌入式營銷的核心理念、一般程序、基本方式和主要特征入手,探討嵌入式營銷的理論結構。
[關鍵詞]嵌入式營銷關系營銷價值鏈產業營銷
一、嵌入式營銷的核心理念
嵌入式營銷是一種基于顧客價值鏈的新型產業營銷方式,在對產業顧客價值鏈分析的基礎上,綜合考慮顧客需求和競爭對手的行動,尋找企業資源能力與顧客盈利模式之間獨特的價值匹配,并將其嵌入到顧客的價值鏈上,使營銷活動成為顧客創造價值的不可或缺的一部分,從而建立長期穩定的營銷關系。
嵌入式營銷體現了現代營銷中的顧客滿意、競爭導向和關系營銷三個核心理念。第一,嵌入式營銷關注顧客滿意,在保證顧客滿意的基礎上,提供價值鏈增值服務;第二,嵌入式營銷在為顧客提供附加價值的同時,需要考慮競爭者的反應與行動,只有采取與競爭者不同的營銷活動才能達到嵌入式營銷的目的;第三,嵌入式營銷是注重關系的營銷新思維,將自身的營銷活動嵌入到顧客的價值鏈中,有利于企業與顧客建立起長久且穩定的營銷關系。在嵌入式營銷所涉及的三種營銷理念中,關系營銷居于核心地位,嵌入式營銷的實質是要與顧客建立一種顧客穩固的營銷關系。
二、嵌入式營銷的主要特征
嵌入式營銷作為一種產業營銷新思維,有其區別于一般營銷方式的一些特征,下面闡述了嵌入式營銷的主要特征:
1.嵌入式營銷為顧客提供新屬性新價值,創規則而非守規則,從了解顧客到教育顧客,從迎合市場到顛覆市場。
2.嵌入式營銷超越了現有的市場邊界和競爭空間,為顧客提供價值的同時,把自己的營銷活動深入到顧客的價值鏈上,成為其創造價值的不可或缺的一部分。
3.嵌入式營銷是一種針對產業市場顧客的營銷方式,因為只有產業顧客才可以分析其價值鏈活動。其方法并不適用于對消費者的營銷,但是他的一些理念也可以為消費者營銷提供參考。
4.嵌入式營銷注重長期穩定的營銷關系的建立。
三、嵌入式營銷的一般程序
1.分析產業顧客的價值鏈活動,尋找與企業資源能力相匹配的獨特價值。
2.分析顧客滿意因素和競爭對手的反應與活動。
3.創造獨特價值并嵌入到顧客價值鏈中。
4.評價嵌入式營銷,保持或創新嵌入式營銷的營銷活動,以維持與顧客的營銷關系。
四、嵌入式營銷的基本方式
價值鏈是企業通過經營活動創造更高價值的系統,這些創造價值的活動可以分為兩類:基本價值活動和輔助價值活動,價值鏈的兩大部分各個環節之間相互影響、相互關聯,一個環節經營管理的好壞影響到其他環節的成本和效益。嵌入式營銷正是通過分析產業顧客的價值鏈,找到顧客價值鏈中與企業可以匹配的地方,將企業的營銷活動深入到顧客價值鏈中,以建立長期穩定的營銷關系。這其中以嵌入內部后勤、運營、市場營銷最為典型,下面將就其具體方式一一闡述。
1.嵌入式營銷——嵌入顧客內部后勤。所謂嵌入顧客內部后勤的嵌入式營銷是指分析產業顧客在其產品投入品的進貨、倉儲和分配等有關活動,將自己的營銷活動與之相結合的營銷方式。例如:安富利電子元件部獲得海爾的庫存所有權,成為其供應鏈的'合作伙伴正是借助了嵌入式營銷的力量。安富利電子元件不僅為海爾提供所需要的電子元件,更為重要的是其增值的供應鏈服務,為海爾提供定期的庫存分析,按需要進行自動補給,以確保庫存時刻保持在最佳水平。安富利正是抓住了這些本來是由海爾自己來解決的內部后勤問題將自己的營銷活動嵌入到海爾的價值鏈中,成為海爾創造價值的一部分,從而結成穩定的合作關系。
2.嵌入式營銷——嵌入顧客運營。在營銷過程中將營銷活動嵌入到產業顧客價值鏈中的運營環節,就是嵌入顧客運營的嵌入式營銷。例如著名的第三方檢驗機構——廣州金域的發展歷史,金域公司本是一家生產乙肝檢測試劑的廠家,為了避免與眾多競爭對手的價格戰,通過分析醫院的產業價值鏈發現只有少數醫院才有試劑最終的檢測儀器,大量的醫院在使用了試劑之后都要通過其他機構進行最終檢測。金域公司就買進一臺檢測儀器,在銷售其檢測試劑的同時保證為醫院免費提供檢測,這樣不僅吸引了大量的顧客,而且自己所提供的服務成為醫院價值鏈中運營活動的一部分,建立了穩定的供貨關系,最終確立了其在行業中的領先地位?,F在金域公司已經成為了一家專業的第三方檢驗機構。
3.嵌入式營銷——嵌入顧客營銷活動。嵌入顧客營銷活動的嵌入式營銷是指通過分析產業顧客的價值鏈,將企業的營銷活動和顧客的價值鏈中的市場營銷相結合,和顧客的產品收集、儲存、散發和購買等活動相聯系,比如產品庫存、搬運、銷售渠道選擇等等。在這方面的一個典型例子是各種專業的連鎖店,比如國美,通過分析家電企業的價值鏈,得出銷售渠道在家電企業中的重要位置,為了達到吸引產業顧客進入其店面進行銷售,建立了全國性的連鎖商店,成為家電企業分銷活動中不可或缺的一部分。
嵌入式營銷不僅只在這三種價值鏈活動中運用,在其他的主體活動,以及支持活動中都可以采用。
五、小結
嵌入式營銷作為一種產業營銷的新思維,體現了顧客滿意、競爭導向和關系營銷的理念,其超越現有競爭空間,為顧客提供價值鏈增值服務,已達成穩固營銷關系的觀念,必將被越來越多的企業所踐行。
參考文獻:
[1]邁克爾·波特:競爭戰略[M].華夏出版社,2001
[2]格里·約翰遜凱萬·斯科爾斯王軍等譯:戰略管理[M].人民郵電出版社,2004
[3]菲利普·科特勒梅清豪譯:營銷管理(第11版)[M].上海人民出版社,2003
?? 嵌入式心得體會 ??
1 實時系統
實時系統是指數據產生時,能以足夠快的速度來進行處理,處理的結果能在規定的時間內來控制生產過程與處理系統,讓它做出極快的響應。在實時系統中,如果指定的時間沒有完成確定的任務,整個系統會全面失敗,這被稱為硬實時系統,反之,如果在指定的時間內沒有完成確定的任務,不會出現致命的錯誤就被稱為軟實時系統。
2 分時系統
分時系統是把時間劃為長短基本相同的時間片,操作系統輪流分配給各個作業使用,如果某個作業在時間片結束完成,這個作業被掛起,等下一輪循環再繼續使用,分時操作系統具有以下幾個特點:多路性,用戶通過各自的'終端可以同時使用一個系統;及時性,對于提出的要求,系統能在較短的時間內得到響應與處理;獨立性,雖然同一時間內可以多個用戶使用同一個CPU,但是用戶之間操作獨立,彼此不干涉。
3 嵌入式系統選型
選擇自己需要的嵌入式系統,可以從以下幾方面進行對比選擇。
3.1 進入市場時間
產品的進入時間與選擇的操作系統有很大的關系,實際的產品與演示的產品不同。一些高效推出的操作系統由于研發時間不夠、技術累積不夠,導致成本高、核心競爭能力差。比如WinCE操作系統,它就是在windows系統上作一定程度的改變,去掉一些不需要的功能,很快推出產品,結果實用時出現很多問題。
3.2 可移植性
通常來說,嵌入式系統的移植性越好,可在在不同平臺、不同系統上都能移植,那是處于最理想的狀態,然而實際運用中并不能達到這種理想狀態,如果過于強調移植性,那么會付出性能優化的代價。
3.3 可利用資源
嵌入式系統是以快速、低成本、高效率的推平適合用戶需要的一個系統平臺,而在這個平臺上能使用多少功能,需要使用第三方的產品,因此這個平臺上能使用多少第三方的產品是選型的一個重要條件,有些嵌入式系統為了滿足高性能、高可靠性的要求,使用比較封閉的操作系統,多數只能使用自己獨立
3.4 系統定制能力
用戶在使用嵌入式操作系統的時候,要求能定制不同的硬件平臺,比如會要求能否對系統提出底層的更動要求?能否定制出現能滿足自己需要、更有自己特色的系統、能否開放原代碼等等。
3.5 成本
選擇嵌入式操作系統,需要考慮成本的問題,比如一個系統是完全免費的,還是需要支付許可使用費等等,在這個選擇中,并不是免費的就是最好的,這要考慮到硬件設計人員的投入、公司的管理、第三方軟件的開發及使用,等等方面的問題,最后對成本作一個綜合考量。
3.6 語言內核支持
語言內核支持指操作系統能使用幾種語言操作,比如西文的、中文的,如果是可以使用中文操作,那么它是否支持雙字節編碼,是只支持簡體中文系統還是同時支持繁體系統,同時還要考慮中文輸入法與處理系統,語言內核的支持與第三方軟件資源的利用有非常重要的聯系。
?? 嵌入式心得體會 ??
首先,嵌入式系統是以應用為中心,以計算機技術為基礎,且軟硬件可裁減,適應應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。嵌入式有如下幾個突出的有點1.系統內核小,2專用性強,3系統精簡4高實時性OS5嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行,6嵌入式系統需要開發工具和環境。
嵌入式系統是近幾年才風靡起來的,但是這個概念并非新近才出現。從20世紀七十年代單片機(最早的單片機是Intel公司的 8048,出現在1976年)的出現到今天各式各樣的嵌入式微處理器,微控制器的大規模應用,嵌入式系統已經有了近30年的發展歷史。經過30年的發展,嵌入式技術已經日趨成熟,在中國嵌入式機一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用于實現對其他設備的控制、監視或管理等功能。
其次,嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。
嵌入式系統是軟硬結合的學科,通常有兩類人會去專研嵌入式:一類是學電子工程、通信工程等偏硬件專業的,另一類是學軟件、計算機專業出身的人,主要從事嵌入式操作系統和應用軟件的開發。
我是軟件專業的學習嵌入式,越是智能設備越是復雜系統,軟件越起關鍵作用,而且這是目前的趨勢。嵌入式應用在很多方面,具體的可以分為工業控制,交通管理,信息家電,家庭智能管理系統,POS網絡及電子商務,環境工程與自然,機器人,機電產品方面應用等方面。其中目前在服務領域,如遠程點菜器等已經體現了嵌入式系統的優勢。例外還有很多地方用到了嵌入式系統,最近飛利浦和ARM共同推出32位RISC嵌入式控制器,適用于工業控制,采用最先進的0.18微米CMOS嵌入式閃存處理技術,操作電壓可以低至1.2伏,它還能降低25%到30%的制造成本,在工業領域中對最終用戶而言是一套極具成本效益的解決方案。
首先我聲明,我是基于嵌入式系統平臺級設計的,硬件這個方向我相對來講比較有發言權,如果是其它方面所要具備的基本技能還要和我們培訓中心其它專業級講師溝通。他們的方面上我只能說是知道些,但不是太多,初級的問題也可以問我。
對于硬件來講有幾個方向,就單純信號來分為數字和模擬,模擬比較難搞,一般需要很長的經驗積累,單單一個阻值或容值的精度不夠就可能使信號偏差很大。因此年輕人搞的較少,隨著技術的發展,出現了模擬電路數字化,比如手機的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語功底很好的硬件工程師,在電路板調試過程中能通過自已編寫的測試程序對硬件功能進行驗證。然后再交給基于操作系統級的驅動開發人員。
?? 嵌入式心得體會 ??
嵌入式系統通常為一個資源受限的系統。直接在嵌入式系統的硬件平臺上編寫軟件比較困難,有時甚至是不可能的。目前,一般采用的辦法是,先在通用計算機上編寫程序,然后,通過交叉編譯,生成目標平臺上可運行的二進制代碼格式,最后下載到目標平臺上的特定位置上運行,具體步驟如下。
第一步,建立嵌入式Linux交叉開發環境。目前,常用的交叉開發環境主要有開放和商業兩種類型。開放的交叉開發環境的典型代表是GNU工具鏈,目前已經能夠支持x86、ARM、MIPS、PowerPC等多種處理器。商業的交叉開發環境主要有Metrowerks CodeWarrior、ARM Software Development Toolkit、SDS Cross compiler、WindRiver Tornado、Microsoft Embedded Visual C++等。交叉開發環境是指編譯、鏈接和調試嵌入式應用軟件的環境。它與運行嵌入式應用軟件的環境有所不同,通常采用宿主機/目標機模式。
第二步,交叉編譯和鏈接。在完成嵌入式軟件的編碼之后,就是進行編譯和鏈接,以生成可執行代碼。由于開發過程大多是在Intel公司x86系列CPU的通用計算機上進行的,而目標環境的處理器芯片卻大多為ARM、MIPS、PowerPC、DragonBall等系列的微處理器,這就要求在建立好的交叉開發環境中進行交叉編譯和鏈接。
第三步,交叉調試。
① 硬件調試。如果不采用在線仿真器,可以讓CPU直接在其內部實現調試功能,并通過在開發板上引出的調試端口,發送調試命令和接收調試信息,完成調試過程。目前,ARM公司提供的開發板上使用的則是JTAG調試端口。
② 軟件調試。在嵌入式Linux系統中,Linux系統內核調試,可以先在Linux內核中設置一個調試樁(debug stub),用作調試過程中和宿主機之間的通信服務器。然后,可以在宿主機中通過調試器的串口與調試樁進行通信,并通過調試器控制目標機上Linux內核的運行。
第四步,系統測試。整個軟件系統編譯過程,嵌入式系統的硬件一般采用專門的測試儀器進行測試,而軟件則需要有相關的測試技術和測試工具的支持,并要采用特定的測試策略。測試技術指的是軟件測試的專門途徑,以及能夠更加有效地運用這些途徑的特定方法。
?? 嵌入式心得體會 ??
2017年嵌入式系統題庫
嵌入式系統的核心是由一個或幾個預先編程好以用來執行少數幾項任務的微處理器或者單片機組成。下面是小編收集的嵌入式系統題庫,希望大家認真閱讀!
1:用C語言實現大小端的測試
Int CheckCpu()
{
union
{
int a;
char b;
}c;
c.a=1;
if(c.b==1)
printf(“小端”);
else printf(“大端”);
}
2:volatile的作用有哪些?
Volatile第一變量相當于告訴編譯器這個變量的值會隨時發生變化,每次使用之前都要去內存里從新讀取它的值,并不要隨意針對它做優化,主要用在:
1:一個中斷子程序中會訪問到的非自動變量;
2:多線程應用中被幾個線程共享的變量;
3:并行設備的硬件寄存器。
3:C語言中static關鍵字的作用有哪些?
1:在函數體中,一個被聲明為靜態的變量在這個變量在調用過程中維持其值不變;
2:在模塊內(但在函數體外),一個被聲明為靜態的變量,可以被這個模塊內的所用函數使用,但不能被模塊外的函數使用,它是一個本地的全局變量;
3:在模塊內,一個被聲明為靜態變量的函數,智能被這個模塊內的函數調用;
4:static全局變量與局部變量的'區別:static全局變量只能被初始化一次,防止其他單元文件中被引用;
5:static局部變量與局部變量的區別:static局部變量只能被初始化一次,下一次依據上一次結果的值;
6:static函數與普通函數的區別:static在內存中只用一份,普通函數在每一次調用中維持一份拷貝。
4:請問下面三種變量的區別:
Int const *p : 指向常整型的指針;
Int *const p; 指向整型的常指針;
Int *const *p: 指向常整型的常指針;
5:在ARM系統中,在函數調用的時候,參數是通過哪種方式傳遞的。
當參數小于等于4的時候是通過r0~r3來進行傳遞的,當參數大于4的時候是通過壓棧的方式進行傳遞。
6:中斷與異常有何區別.
異常在處理的時候必須考慮與處理器的時鐘同步,實際上異常也稱為同步中斷,在處理器執行到因編譯錯誤而導致的錯誤指令時,或者在執行期間出現特殊錯誤,必須靠內核處理的時候,處理器就會產生一個異常;所謂中斷是指外部硬件產生的一個電信號從CPU的中斷引腳進入,打斷CPU的運行。所謂異常是指軟件運行過程中發生了一些必須作出處理的事件,CPU自動產生一個陷入來打斷CPU的運行。
7:用預處理指令#define表示一年中有多少秒
#define SECONDS_PER_YEAR (60*60*24*365)UL
注意后面必須加UL,表示計算的結構是常整型。
8:簡述SPI,UART,I2C三種傳輸方式。
SPI:高速同步串行口,首發獨立,可同步進行
SPI接口主要應用在EEPROM,Flash,實時時鐘,A/D轉化器,數字信號處理,是一種全雙工同步通訊總線,該接口一般使用四條線:串行時鐘線(sck),主出從入線,主入從出線,低電平有效地的從機選擇線。
I2C協議:是單片機與其他芯片進行通訊的協議:1:只要求兩條總線線路,一條是串行時鐘線,一條是串行數據線; 2:通過軟件設定地址 3:是一個多主機總線,如果兩個或更多主機同時初始化數據傳送可通過沖突檢測和仲裁防止數據破壞; 4:I2C總線傳輸的是數據的總高位
UART:主要是由一個modem(調制解調器),可以將模擬信號量轉化成數字信號量。
9:中斷不能返回一個值,中斷不能傳遞參數。
10:嵌入式系統總要求用戶對變量或者寄存器進行位操作,給定一個整型變量a:
define BIT3 (oxo1<<3)
static int a ;
void set_bit3(void)
{
a|=BIT3;
}
void clear_bit3(void)
{
a&=~BIT3;
}
作為一個嵌入式程序員,這種程序是小菜一碟,至所以給出這個程序,是想規范大家寫程序方法,這里主要是用到了一個宏定義:BIT3 這樣的話就可以增加程序的可讀性
同時移植性也增強。
11:嵌入式系統中經常要求程序去訪問某特定內存的特點,在某工程中,要求設定一個絕對地址0x6799的整型變量的值為0xaa66.
Int *ptr;
ptr=(int*)0x67a9;
*ptr=aa66
12:引用和指針有什么區別?
1:應用必須初始化,指針不必;
2:引用處畫化后不能改變,指針可以被改變;
3:不存在指向空值的引用,但存在指向空值的指針;
13:全局變量與局部變量在內存中是否有區別,是什么區別?
全局變量存儲在靜態數據庫,局部變量存儲在堆棧;
14:寫出float,bool,int類型與零的比較,假設變量為X:
Int : if(x==0)
Float: if(x>0.0000001&&x<0.0000001)
Bool: if(x==false)
15:Intertnet采用哪種網絡協議,該協議的主要層次結構?
TCP/IP協議
應用層/傳輸層/網絡層/數字鏈路層/物理層。
16:IP地址有兩部分組成:網絡號和主機號
17:程序的局部變量存儲在(棧)中,全局變量存儲于(靜態存儲區),動態申請數據存儲于(堆中);
18:編寫一個字符串復制函數:strcpy(const char *str,const char *str1)
void strcpy(const *char str,const chat *str1)
{
if(*str1==’\0’) return;
char *sp1,*sp2;
sp1= str;
sp2=str1;
while(*sp2!=’\0’)
{
*sp1=sp2;
sp1++;
sp2++;
}
}
19:編寫一個函數實現字符串翻轉 void rechange(char *str)
void rechange(char *str)
{
Int len;
char t;
len=strlen(str);
for(int i=0;len/2;i++)
{
t=str[i];
str[i]=str[len-i-1];
str[len-i-1]=t;
}
}
20:編寫一個函數實現字符串比較 int strcmp(char *str1,char *str2),相等返回1,不相等返回0:
int strcmp(char *str1,char *str2)
{
if(*str1==‘\0’||*str2==’\0’) return;
while(*str1!=’\0’&&*str2!=’\0’&&*str1==*str2)
{
str1++;
str2++;
}
if(*str1==*str2)
return 1;
else return 0;
}
}
21:進程和線程的區別:
1:調度:線程作為調度和分配的基本單元,進程作為擁有資源的基本單位;
2:并發性:不僅進程可以并發執行,同一進程內的線程也可以并發執行。
3:擁有資源:進程是擁有資源的基本獨立單元,線程不擁有資源,但可以訪問進程內的資源;
4:在創建或撤銷線程時,由于系統都要為之分配和回收內存資源,導致系統的開銷明顯大于創建或撤銷線程時的開銷。
?? 嵌入式心得體會 ??
嵌入式處理器(Embedded Processor,EP)與通用處理器最大的區別就在于嵌入式處理器大多工作在為不同用戶群所設計的特定系統中,它常常將通用處理器中許多由板卡完成的功能集成到芯片內部,從而有利于實現嵌入式系統設計的微型化,同時又保證了較高的可靠性和處理效率。到目前為止,全球嵌入式處理器的種類已經超過1000多種,其中以ARM、MIPS、Power PC、Motorola 68K、X86等體系結構最為常見,一般將嵌入式處理器分成以下四類:
1)嵌入式微控制器 (Microcontroller Unit,MCU);
2)嵌入式微處理器 (Embedded Microprocessor Unit,EMPU);
3)嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP);
4)片上系統(System On Chip,SOC)。
一般在嵌入式系統設計中常用的嵌入式微處理器和體系結構主要有以下幾種:
1) ARM
ARM(Advanced RISC Machines)公司是全球著名的16/32位精簡指令集計算機RISC(Reduced Instruction Set Computer)處理器設計供應商,通過提供高性能與低功耗的RISC處理器芯片設計技術給各個生產廠商來生產滿足不同應用領域要求的芯片。事實上,由于ARM處理器一方面支持16位的Thumb指令集和32位的ARM指令集,另一方面使用了大量的寄存器和靈活的尋址方式來提高系統執行的效率,所以ARM處理器技術已經成為數字通信、工業控制、多媒體家電等嵌入式應用領域的RISC標準。ARM系列處理器種類很多,目前市場上應用最為廣泛的是ARM9和ARM10系列處理芯片。ARM9處理器由于擁有了五級流水線結構和自帶MMU功能,廣泛應用于手持終端和無線通訊等領域。ARM10處理器由于采用了更高的六級流水線結構和支持DSP指令以及支持64位的AMBA總線接口[5],其性能較ARM9有了很大的提高,廣泛應用于手持PDA以及車載電子等高端領域。
2) MIPS
MIPS(Microprocessor without Interlocked Pipeline Stages)簡稱無內部互鎖流水級的微處理器,是美國MIPS技術公司推出的一種基于RISC架構的高性能高檔次的處理器內核。MIPS采用了先進的設計理念和清晰的系統結構,強調軟硬件協同工作以提高處理器性能,同時簡化了硬件設計,采用軟件方法來避免流水線運行中的數據相關問題。雖與ARM處理器相比,MIPS體系結構的處理器功耗要高些,但它具備了從32位低端產品到64位高端產品的完整解決方案,而且在知識產權的授權費用上MIPS要低于ARM,因此,MIPS內核逐漸被越來越多的消費類電子產品和工業控制產品的設計所采用。
3) Power PC
PowerPC(Performance optimization with Enhanced RISC performance Computing)簡稱性能優化與增強的RISC性能計算,是由IBM、Motorola和Apple公司聯合開發的一款高性能32/64位RISC處理器,其主要特點是可伸縮性好,方便靈活和較高的性價比。常見的基于Power PC架構的處理器有IBM公司的Power PC64S(深藍內部的CPU)、Power PC750、Power PCG3以及Motorola公司的MC和MPC系列等。目前,基于Power PC體系結構的'處理器廣泛應用于桌面PC系統、移動PC系統、嵌入式系統以及金融電信等行業。
4) Motorola 68K
Motorola 68K采用復雜指令集計算機CISC(Complex Instruction Set Computer)架構[8],是出現比較早的嵌入式處理器,在全球的各種嵌入式處理器應用領域中取得了巨大成功。曾經Sun微計算機公司把這款處理器應用于早期的產品開發中。
5) X86
X86系列處理器起源于Inter架構的8080,然后發展出286、386、486直到現在的奔騰處理器乃至雙核處理器。從嵌入式市場分布來看,486DX也是與ARM、68K、MIPS、SuperH齊名的五大嵌入式處理器之一。目前市場上基于X86體系結構的PC104產品占有很大的市場份額。
?? 嵌入式心得體會 ??
一、嵌入式系統開發與應用概述
在今日,嵌入式ARM 技術已經成為了一門比較熱門的學科,無論是在電子類的什么領域,你都可以看到嵌入式ARM 的影子。如果你還停留在單片機級別的學習,那么實際上你已經落下時代腳步了,ARM 嵌入式技術正以幾何的倍數高速發展,它幾乎滲透到了幾乎你所想到的領域。本章節就是將你領入ARM 的學習大門,開始嵌入式開發之旅。以嵌入式計算機為技術核心的嵌入式系統是繼網絡技術之后,又一個IT領域新的技術發展方向。由于嵌入式系統具有體積小、性能強、功耗低、可靠性高以及面向行業具體應用等突出特征, 目前已經廣泛地應用于軍事國防、消費電子、信息家電、網絡通信、工業控制等各個領域。嵌入式的廣泛應用可以說是無所不在。
嵌入式微處理器技術的基礎是通用計算機技術。現在許多嵌入式處理器也是從早期的PC 機的應用發展演化過來的,如早期PC 諸如TRS-80、Apple II 和所用的Z80 和6502 處理器,至今仍為低 端的嵌入式應用。在應用中,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。嵌入式處理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM 等系列。
在早期實際的嵌入式應用中,芯片選擇時往往以某一種微處理器內核為核心,在芯片內部集成必要的ROM/EPROM/Flash/EEPROM、SRAM、接口總線及總線控制邏輯、定時/計數器、WatchDog、I/O、串行口、脈寬調制輸出、A/D、D/A 等各種必要的功能和外設。
二、實習設備
硬件:Embest EduKit-IV實驗平臺、ULINK2仿真器套件、PC機
軟件:mu;Vision IDE for ARM集成開發環境、Windows 98//NT/XP
三、實習目的
1.初步掌握液晶屏的使用及其電路設計方法;掌握S3C2410X處理器的LCD控制器的使用;掌握通過任務調用的方法把液晶顯示函數添加到uC/OS-II中;通過實驗掌握液晶顯示文本及圖形的方法與程序設計。
2.了解S3C2410X處理器UART相關控制寄存器的使用; 熟悉ARM處理器系統硬件電路中UART接口的設計方法:掌握ARM處理器串行通信的軟件編程方法。
3.掌握有關音頻處理的基礎知識;通過實驗了解IIS音頻接口的工作原理;通過實驗掌握對處理器S3C2410X中IIS模塊電路的控制方法;通過實驗掌握對常用IIS接口音頻芯片的控制方法。
4.了解mu;C/OS-II移植條件和內核基本結構;掌握將mu;C/OS-II內核移植到ARM9處理器上的方法和步驟。
四、實習要求
通過對mu;C/OS-II移植實驗、mu;C/OS-II LCD顯示實驗、串口通信實驗、IIS音頻實驗、液晶顯示實驗的學習,并將各部分內容合并,最終得出實習結果,實習要求在鍵盤上輸入學號,在液晶顯示屏上顯示相應的學生信息。學生信息包括顯示每個人的照片和姓名系別等,并用鍵控設置學生輸出的順序,輸入學號就顯示那個學生的信息,然后過一段時間就順序循環播放。
移植mu;C/OS-II內核到ARM處理器S3C2410,在IDE中觀察其運行狀況編寫S3C2410X處理器的串口通信程序;監視串行口UART1動作;將從UART1接收到的字符串回送顯示。將從UART1接收到的字符串回送顯示。
通過使用Embest EduKit-IV實驗板的彩色液晶屏(800*480)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,并編寫任務函數在uC/OS-II系統中實現位圖顯示。在uC/OS-II中建立五個任務Tast1和Tast2,其中Tast1順序熄滅四個LED,延遲一會在順序點亮四個LED。Tast2在LCD屏幕上循環顯示三幅圖片,并打印一些文字信息和背景音樂。過使用Embest EduKit-III實驗板的256 色彩色液晶屏(320x240)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,并編寫程序實現:畫出多個矩形框;顯示ASCII字符;顯示漢字字符;顯示彩色位圖。
五、實習步驟
1. 準備實驗環境
使用ULINK2仿真器連接Embest EduKit-IV實驗平臺的主板JTAG接口;使用Embest EduKit-IV實驗平臺附帶的交叉串口線,連接實驗平臺主板上的COM2和PC機的串口(一般PC只有一個串口,如果有多個請自行選擇,筆記本沒有串口設備的可購買USB轉串口適配器擴充);使用Embest EduKit-IV實驗平臺附帶的電源適配器,連接實驗平臺主板上的電源接口。
2. 串口接收設置
在PC機上運行windows自帶的超級終端串口通信程序,或者使用實驗平臺附帶光盤內設置好了的超級終端,設置超級終端:波特率115200、1位停止位、無校驗位、無硬件流控制,或者使用其它串口通信程序。(注:超級終端串口的選擇根據用戶的PC串口硬件不同,請自行選擇,如果PC機只有一個串口,一般是COM1)
3. 打開實驗例程
1)打開實驗程序
2)運行mu;Vision IDE for ARM軟件
3)默認打開的工程在源碼編輯窗口會顯示實驗例程的說明文件readme.txt,詳細閱讀并理解實驗內容。
4)工程提供了兩種運行方式:一是下載到SDRAM中調試運行,二是固化到Nor Flash中運行。用戶可以在工具欄Select Target下拉框中選擇在RAM中調試運行還是固化Flash中運行。下面實驗將介紹下載到SDRAM中調試運行,所以我們在Select Target下拉框中選擇UART_Test IN RAM。
5)接下來開始編譯鏈接工程,在菜單欄“Projiet”選擇“Build target”或者“Rebuild all target files”編譯整個工程。
6編譯完成后,在輸出窗口可以看到編譯提示信息,比如““.SDRAMUART_Test.axf” - 0 Error(s), 1 Warning(s).”,如果顯示“0 Error(s)”即表示編譯成功。
7)撥動實驗平臺電源開關,給實驗平臺上電,單擊菜單欄Debug->Start/Stop Debug Session項將編譯出來的映像文件下載到SDRAM中,或者單擊工具欄“”按鈕來下載。
8)下載完成后,單擊菜單欄Debug->Run項運行程序,或者單擊工具欄“”按鈕來全速運行程序。用戶也可以使用進行單步調試程序。
9)全速運行后,用戶可以在超級終端看到程序運行的信息。
10)用戶可以Stop程序運行,使用mu;Vision IDE for ARM的一些調試窗口跟蹤查看程序運行的`信息。 注:如果在第4)步用戶選擇在Flash中運行,則編譯鏈接成功后,單擊菜單欄Flash->Download項將程序固化到NorFlash中,從實驗平臺的主板拔出JTAG線,給實驗平臺重新上電,程序將自動運行。
部分程序圖:
串口通信實驗:
IIS音頻實驗:
六、實習體會
在嵌入式系統中,除了課本上的基礎知識外,還學會了軟件編程的基本思路,掌握了液晶屏的使用及其電路設計方法;掌握有關音頻處理的基礎知識;掌握液晶顯示文本及圖形的方法與程序設計。
通過這次設計,掌握了液晶顯示實驗、mu;C/OS-II移植、mu;C/OS-IILCD顯示的工作原理及串口通信實驗的工作過程,學會了使用仿真軟件Embest EduKit-IV實驗平臺及ULINK2仿真器套件,并學會通過應用軟件仿真來實現各種通信系統的設計,對以后的學習和工作都起到了一定的作用,加強了動手能力和學業技能。雖然花了很長時間編寫軟件程序設計,但這一切還是理論上的。希望學校能提供機會和條件,讓我們能夠去真正地將理論和實踐相結合。通過這次程序,感覺自己所掌握的知識是那么的有限,還有許多需要改進和不足的地方,同時也幫助了我怎樣學好這門課程,增加了我對這門學科的興趣??傮w來說,這次實習我受益匪淺。在摸索該如何設計電路使之實現所需功能的過程中特別有趣,培養了我的設計思維,增加了實際操作能力。在讓我體會到了設計電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。通過這次實習通信系統的設計,使我更加清楚以后的發展及學習的方向。
最后感謝老師這個學期的指導和幫助!
七、參考文獻
《ARM9嵌入式系統設計與開發應用》熊茂華、楊震倫編著 清華大學出版社
《ARM9嵌入式系統設計與開發教程》于明編著 電子工業出版社
《Linux嵌入式系統教程》馬忠梅 北京航空航天大學出版社
?? 嵌入式心得體會 ??
這學期才接觸嵌入式系統感覺還稱不上入門,我通過學習知道了嵌入式的發展前景很大,各個領域都用到了嵌入式,學好嵌入式不愁沒飯吃。
廣義上講,凡是帶有微處理器的專用軟硬件系統都是嵌入式系統。如各類單片機和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 的代碼等等,麻雀雖
小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。
以上就是我在本學期學習嵌入式后的心得及感想。
文章來源:http://www.lipstick2017.com/youxiuzuowen/125770.html
’) return;
char *sp1,*sp2;
sp1= str;
sp2=str1;
while(*sp2!=’id="article-content1">
嵌入式心得體會(分享十三篇)
發表時間:2018-05-06 嵌入式心得體會(分享十三篇)。
?? 嵌入式心得體會 ??
一、嵌入式的概述:
隨著信息化技術的發展和數字化產品的普及,以計算機技術、芯片技術和軟件技術為核心的嵌入式系統再度成為當前研究和應用的熱點,通信、計算機、消費電子技術(3C)合一的趨勢正在逐步形成,無所不在的網絡和無所不在的計算(everything connecting, everywhere computing)正在將人類帶入一個嶄新的信息社會。
二、實習目的
學習和了解了嵌入式在生活中的重要作用和發展過程,熟練掌握ARM硬件體系結構,熟悉linux下的嵌入式編程流程,積累自己的軟件編寫經驗,能夠參與并實現一個真實和完整的嵌入式項目,為今后的學習和將從事的技術工作打下堅實的基礎
三、實習任務
第一階段Linux操作和編程基礎
主要介紹Linux的基本命令和基礎編程知識,包括Linux的文件操作和目錄操作命令,VI編輯器,GCC編譯器,GDB調試器和Make項目管理工具等知識。
第二階段 嵌入式C語言編程基礎
主要介紹在嵌入式開發編程中C語言的重要概念和編程技巧中的重點難點,以復習串講和實例分析的形式,重點介紹包括函數與程序結構,指針、數組和鏈表,庫函數的使用等知識。
第三階段Linux上C強化編程訓練
主要包括整數算法訓練,遞歸和棧編程訓練,位操作訓練,指針訓練,字符串訓練和常用C庫函數編程接口實踐,強化學員對Linux下基本編程開發的理解和編碼調試的能力。
第四階段 Linux環境高級編程及項目開發編程實踐
主要包括系統編程(信號/系統調用/管道/FIFO/消息隊列/共享內存等),文件I/O編程(文件描述符/文件讀寫接口/原子操作/阻塞與非阻塞IO等,多任務和多線程編程(進程標識/ 用戶標識/fork與vfork/多線程概念/線程同步等),網絡編程(網絡基本概念/套接口編程/網絡字節次序/Client/Server結構/UDP編程);掌握Linux下Socket編程的開發流程,熟悉網絡編程的調用接口函數和相關數據結構,使學員初步具備在Linux上進行系統編程開發的能力。同時綜合之前所學內容和編程技術,以小組為單位進行一個團隊合作項目的開發,考核內容包括文件I/O編程,多線程編程,網絡編程和項目文檔編寫。
第五階段嵌入式處理器體系結構及編程實踐
主要介紹ARM體系結構及其基本編程知識,包括指令分類,尋址方式、指令集、存儲系統、異常中斷處理、匯編語言以及CC++和匯編語言的混合編程等知識。同時結合ARM嵌入式開發板硬件設計原理和基本硬件設計流程,分析各種外設的工作原理和驅動機制,并自己動手實踐完成一個ARM開發板上的編程大作業。
第六階段嵌入式Linux開發基礎及高級應用
主要介紹嵌入式Linux開發應用程序的基本流程和知識,包括嵌入式Linux基本概念和開發流程、Bootloader工作原理、內核裁減配置和交叉編譯、根文件系統制作、網絡編程以及圖形界面和數據庫開發等知識。同時獨立完成一個基于嵌入式Linux GUI的應用編程大作業。
第七階段嵌入式 Linux驅動理論及驅動程序開發實踐
主要介紹嵌入式Linux上驅動程序開發規范,包括設備驅動程序概念、字符設備驅動程序、塊設備與網絡設備、網卡驅動以及常用嵌入式設備驅動開發等知識。同時獨立實現兩種嵌入式設備驅動程序的編寫,包括驅動模塊的調試和加載以及完整的項目開發文檔的編寫。
第八階段嵌入式Linux項目團隊開發實踐鍛煉
主要包括設計并實現一個真實和完整的嵌入式項目的開發流程,涉及到數據采集、網絡通訊、圖形用戶界面顯示以及嵌入式數據庫存儲系統等多種嵌入式Linux編程技術。要求學員建立起團隊開發和協同工作的企業項目開發模式的概念和流程,強化學員對編寫項目概要設計文檔和詳細設計文檔的理解,為就業前的職業技能和素質訓練做好充分準備。
四、實習內容
1、 嵌入式的歷史與現狀
雖然嵌入式系統是近幾年才開始真正風靡起來的,但事實上嵌入式這個概念卻很早就已經存在了,從上個世紀70年代單片機的出現到今天各種嵌入式微處理器、微控制器的廣泛應用,嵌入式系統少說也有了近30年的歷史??v觀嵌入式系統的發展歷程,大致經歷了以下四個階段:
無操作系統階段
嵌入式系統最初的應用是基于單片機的,大多以可編程控制器的形式出現,具有監測、伺服、設備指示等功能,通常應用于各類工業控制和飛機、導彈等武器裝備中,一般沒有操作系統的支持,只能通過匯編語言對系統進行直接控制,運行結束后再清除內存。這些裝置雖然已經初步具備了嵌入式的應用特點,但僅僅只是使用8位的CPU芯片來執行一些單線程的程序,因此嚴格地說還談不上"系統"的概念。
這一階段嵌入式系統的主要特點是:系統結構和功能相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由于這種嵌入式系統使用簡便、價格低廉,因而曾經在工業控制領域中得到了非常廣泛的應用,但卻無法滿足現今對執行效率、存儲容量都有較高要求的信息家電等場合的需要。
?? 嵌入式心得體會 ??
嵌入式是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。由于嵌入式系統通常具有低功耗、體積小、集成度高等特點,因此隨著消費家電的智能化和廉價微處理器的.出現,嵌入式系統將在日常生活里形成更大的應用領域。嵌入式就業前景良好,嵌入式人才社會需求量大。
嵌入式就業前景分析-嵌入式軟件開發應用領域
嵌入式系統是當前最熱門、最具發展前途的IT應用領域之一。包括手機、電子字典、可視電話、數字相機、數字攝像機、U-Disk、機頂盒、高清電視、游戲機、智能玩具、交換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等都是典型的嵌入式系統。因此,通過嵌入式培訓成為專業的嵌入式技術人才,嵌入式就業前景也非常好,其職業發展空間較大。
嵌入式就業前景分析-嵌入式軟件開發人才需求
目前國內嵌入式人才極度匱乏,權威部門統計,我國目前嵌入式軟件人才缺口每年為40萬人左右。供不應求使得嵌入式人才身價上漲,而且,越有專業經驗,就業競爭力就越大。因此,IT專業人士通過培訓掌握嵌入式技術,就能成為炙手可熱的專業人才,其培訓回報有保障。
嵌入式就業前景分析-嵌入式軟件開發就業方向
由于大唐各約嵌入式技術支持工程師都高居前五位。
?? 嵌入式心得體會 ??
嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。按照行業細分,嵌入式產品主要分布在消費類電子、通信、醫療、安全等行業。嵌入式軟件產業發展迅猛,已成為軟件體系的重要組成部分。嵌入式系統產品正不斷滲透各個行業,作為包含在這些硬件產品中的特殊軟件形態,其產業增幅不斷加大,而且在整個軟件產業的比重日趨提高。從2003到2006年,全球嵌入式軟件市場規模均復合增長率達到30%。
據預測,在未來的幾年內,嵌入式系統的發展為幾乎所有的電子設備注入了新的活力,加上迅速發展的Internet和廉價的微處理器出現,嵌入式系統將在我們的日常生活里形成一個更大的應用領域。據調查,上海地區嵌入式系統開發涉及的行業眾多,但多數停留在8位單片機開發層面,僅有部分企業開始采用32位處理器和實時操作系統(RTOS,Real Time Operating System)。然而,國內能夠同時進行軟件設計和芯片設計的SoC系統設計的高端人才幾乎沒有,國際上領先的多核嵌入式系統設計,可重構嵌入式系統設計在國內的應用也還停留在少數科研機構的研究課題中。
人才需求
搜索“linux”,更可以獲得近2000條記錄。從這些職位上看,市場上需要的嵌入式人才必須具備C語言編程經驗、嵌入式操作系統(嵌入式Linux)、具有內核裁剪經驗、具有驅動程序開發經驗。這些都是在學校無法學到的知識。
嵌入式系統人才的匱乏已成為眾多企業的共識,而嵌入式系統幾乎無所不在的`應用領域使其成為一項極具發展潛力的產業,人才的匱乏已成為其發展的瓶頸,企業紛紛抱怨月薪過萬元卻招不到一個合適的嵌入式系統人才。產業的發展趨勢是,越來越多的智能設備的系統趨于復雜,軟件將發揮起關鍵作用,當前業界非常缺乏的就是軟硬件技術兼具的人才。另據權威部門統計,我國嵌入式軟件人才缺口每年為60萬人左右。
以嵌入式領域的3G為例,目前我國的3G核心人才不足萬人,基本上都受雇在幾個運營商和設備廠商。市場急需的嵌入式開發人才以及3G時代所需的增值業務開發人才非常搶手。業內人士認為,至少出現30-50萬的人才缺口,其中嵌入式15萬,移動增值可能35萬。隨著車載電子應用、手持娛樂終端在國內的普及,國內外企業紛紛加大了對嵌入式業務的投入,相關人才需求也逐漸加大。2012年3月,據英才網指數統計顯示,計算機/信息服務共提供82069個空缺職位,占當月所有空缺職位總數的30.37%,排名第一。從這些職位上看,市場上需要的嵌入式人才必須具備C語言編程經驗、嵌入式操作系統(嵌入式Linux)、內核裁剪經驗、驅動程序開發經驗。而這些都是企業用人的標準。盡管很多大學的電子、計算機專業都開設了程序設計、微機原理、單片機等課程,但高校輸送的人才與企業需要的人才卻始終沒有對應上。事實上,這個缺口就是由于缺少系統的學習和項目經驗。企業需要的人才是知識+技能+職業素養,而大多數畢業生缺乏的是實戰技能與綜合素質的培訓。嵌入式軟件開發人才的缺乏也帶來了這個行業可觀的薪酬待遇,嵌入式軟件的從業者薪酬比其他IT業同行大約高出50%。
應用前景
一些先進的PDA在顯示屏幕上已實現漢字寫入、短消息語音發布,日用范圍也將日益廣闊。對于企業專用解決方案,如物流管理、條碼掃描、移動信息采集等,這種小型手持嵌入式系統將發揮巨大的作用。自動控制領域,不僅可以用于ATM機,自動售貨機,工業控制等專用設備,和移動通訊設備結合、GPS、娛樂相結合,嵌入式系統同樣可以發揮巨大的作用。
嵌入式系統是研究的熱點。在研究的同時,我們也可以發現由于嵌入式系統并不是突然出現的,對于微處理器應用的研究和硬件系統的研究已經有了一個很長時間的發展歷史。所以無論是從硬件方面還是軟件方面我們都很容易獲得研發的資料。
硬件方面,不僅有各大公司的微處理器芯片,還有用于學習和研發的各種配套開發包。低層系統和硬件平臺經過若干年的研究,已經相對比較成熟,實現各種功能的芯片應有盡有。而且巨大的市場需求給我們提供了學習研發的資金和技術力量。
從軟件方面講,也有相當部分的成熟軟件系統。國外商品化的嵌入式實時操作系統,已進入我國市場。我國自主開發的嵌入式系統軟件產品如嵌入式軟件開發平臺DeltaSystem,它不僅包括DeltaCore嵌入式實時操作系統,而且還包括LamdaTools交叉開發工具套件、測試工具、應用組件等;此外,中科院也推出了Hopen嵌入式操作系統(雖然還不夠完善)。
?? 嵌入式心得體會 ??
首先,我們學習的課本是嵌入式系統應用教程。我學習的體會是這樣的:開始時,由于是剛剛入門,對老師書的好多東西是好奇的,好多名詞也是新鮮的,不過不太懂什么意思。但是慢慢的,了解的深入讓我有了更深的感觸和體會。
在嵌入式的學習過程中,讓我了解了什么是嵌入式系統。它就是以應用為中心,以計算機技術為基礎,軟硬件可定制,適用于不同應用場合,對功能、可靠性、成本、體積、功耗有嚴格要求的計算機系統。他一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統、用戶應用程序四個部分組成,用于實現對其他設備的控制、監視或管理功能。嵌入式系統已經應用于科學研究、工業控制、軍事技術、交通通信、醫療衛生、消費娛樂等領域,人們日常使用的手機、PDA、汽車、智能家電、GPS等均是嵌入式系統的典型代表。
一開始我們就學習嵌入式的系統的基礎部分,那很簡單,就是一些定義或是介紹之類的。在進入第二章時,就開始學習了嵌入式開發過程中的主要操作系統——linux,在接下來的課程中,我發現嵌入式的學習過程還是蠻有趣的。在對linux的學習中,我們對它有了一點點的了解,接著就是學習一虛擬機的方式安裝linux。對我來說有趣的就是安裝的過程了,首先我們跟著老師的腳步走,學會了怎么安裝,在自己動手進行對它的安裝,這個過程是簡單而有趣的。這樣的開始讓我對它充滿了興趣,也對以后的學習充滿了信心。
其次就是安裝好了之后,老師就更深一步的教我們應用了。在這是老師首先交給我們的是一些簡單的命令應用,Linux具有很豐富的命令,絕大多數命令具有大量的參數。
在學習命令的過程中,只要你認真的看著老師操作還有認真聽著他講,你就會發現有些命令的操作還是很簡單的,不過在操作的過程中,我也有遇到有些困難,會出現你按照書上學習的例子,將命令輸入終端時會出現你不想要的結果,也就是錯誤的結果。這是問問旁邊的同學或是懂的同學就可以解決了。
在對于這部分的學習中,讓我知道了命令對于嵌入式的重要性。它是linux的重要內容,linux中所有的功能都是通過命令執行。在實際應用中,為了減少系統開銷,經常不使用圖形界面,此時,對系統的所有操作都需要以命令方式來執行。在嵌入式系統開發過程中,由于目標機的性能和配置比較低,因此,一般情況下目標機僅具有命令窗口而沒有圖形界面,對目標機的所有操作都通過命令來實現。
還有的那就是進一步學習與嵌入式系統開發相關的linux的服務,他們的啟動、設置等的操作和應用。而在學習之中,我們主要介紹的是嵌入式系統中開發工程使用的TFTP、Telent和NFS服務。第一個實現的事上機位與下機位之間文件的傳輸、無磁盤網絡的設備的啟動等功能;第二個實現的事遠程登錄功能;第三個實現的是網絡文件系統功能。
從以上的內容之中,并不難感受到我們的學習過程是由淺入深的,這對于我們的學習也有了較好的幫助。
當然,我們學習的不僅僅是這么幾個內容,其中還有相關的實驗內容。在我們基礎的學習的過程之中,我有了這么一點的感受,總的來說就是概念加專業名詞還有介紹加實驗。不過你絕對不能小看那些概念和介紹,它對我們有著很重要的指導作用哦!實驗那就更不用說了,它提高我們的動手能力,在實驗的過程中還能讓你更加理解書中的理念,這就是我學習嵌入式的感受。
?? 嵌入式心得體會 ??
職責描述:
1.負責基于linux或qnx的汽車智能駕駛座艙軟件的'中間件開發與調試;
2.配合團隊進行其他項目開發。
任職要求:
1.全日制統招本科及以上學歷,電子、計算機、軟件工程或相關專業;
2.3年以上相關工作經驗;
3.精通c/c++及其相關標準庫,熟悉mvc設計模式,具備多線程編程的實際經驗;
4.熟悉網絡通訊原理,了解主流rpc技術,具備socket編程或其他相關網絡編程經驗,了解流媒體相關技術;
5.掌握嵌入式圖形編程技術,有opengl/gles經驗者優先;
6.對開源項目有一定研究能力,并有實際集成經驗者優先。
7.專業基礎扎實,熱衷技術,對汽車行業感興趣。
?? 嵌入式心得體會 ??
關于嵌入式營銷的論文
[摘要]隨著營銷實踐的發展,營銷理念也在不斷地推進與創新。嵌入式營銷便是一種基于顧客價值鏈的產業營銷新思維,其體現了現代營銷的三個核心理念:顧客滿意、競爭導向和關系營銷。本文將從嵌入式營銷的核心理念、一般程序、基本方式和主要特征入手,探討嵌入式營銷的理論結構。
[關鍵詞]嵌入式營銷關系營銷價值鏈產業營銷
一、嵌入式營銷的核心理念
嵌入式營銷是一種基于顧客價值鏈的新型產業營銷方式,在對產業顧客價值鏈分析的基礎上,綜合考慮顧客需求和競爭對手的行動,尋找企業資源能力與顧客盈利模式之間獨特的價值匹配,并將其嵌入到顧客的價值鏈上,使營銷活動成為顧客創造價值的不可或缺的一部分,從而建立長期穩定的營銷關系。
嵌入式營銷體現了現代營銷中的顧客滿意、競爭導向和關系營銷三個核心理念。第一,嵌入式營銷關注顧客滿意,在保證顧客滿意的基礎上,提供價值鏈增值服務;第二,嵌入式營銷在為顧客提供附加價值的同時,需要考慮競爭者的反應與行動,只有采取與競爭者不同的營銷活動才能達到嵌入式營銷的目的;第三,嵌入式營銷是注重關系的營銷新思維,將自身的營銷活動嵌入到顧客的價值鏈中,有利于企業與顧客建立起長久且穩定的營銷關系。在嵌入式營銷所涉及的三種營銷理念中,關系營銷居于核心地位,嵌入式營銷的實質是要與顧客建立一種顧客穩固的營銷關系。
二、嵌入式營銷的主要特征
嵌入式營銷作為一種產業營銷新思維,有其區別于一般營銷方式的一些特征,下面闡述了嵌入式營銷的主要特征:
1.嵌入式營銷為顧客提供新屬性新價值,創規則而非守規則,從了解顧客到教育顧客,從迎合市場到顛覆市場。
2.嵌入式營銷超越了現有的市場邊界和競爭空間,為顧客提供價值的同時,把自己的營銷活動深入到顧客的價值鏈上,成為其創造價值的不可或缺的一部分。
3.嵌入式營銷是一種針對產業市場顧客的營銷方式,因為只有產業顧客才可以分析其價值鏈活動。其方法并不適用于對消費者的營銷,但是他的一些理念也可以為消費者營銷提供參考。
4.嵌入式營銷注重長期穩定的營銷關系的建立。
三、嵌入式營銷的一般程序
1.分析產業顧客的價值鏈活動,尋找與企業資源能力相匹配的獨特價值。
2.分析顧客滿意因素和競爭對手的反應與活動。
3.創造獨特價值并嵌入到顧客價值鏈中。
4.評價嵌入式營銷,保持或創新嵌入式營銷的營銷活動,以維持與顧客的營銷關系。
四、嵌入式營銷的基本方式
價值鏈是企業通過經營活動創造更高價值的系統,這些創造價值的活動可以分為兩類:基本價值活動和輔助價值活動,價值鏈的兩大部分各個環節之間相互影響、相互關聯,一個環節經營管理的好壞影響到其他環節的成本和效益。嵌入式營銷正是通過分析產業顧客的價值鏈,找到顧客價值鏈中與企業可以匹配的地方,將企業的營銷活動深入到顧客價值鏈中,以建立長期穩定的營銷關系。這其中以嵌入內部后勤、運營、市場營銷最為典型,下面將就其具體方式一一闡述。
1.嵌入式營銷——嵌入顧客內部后勤。所謂嵌入顧客內部后勤的嵌入式營銷是指分析產業顧客在其產品投入品的進貨、倉儲和分配等有關活動,將自己的營銷活動與之相結合的營銷方式。例如:安富利電子元件部獲得海爾的庫存所有權,成為其供應鏈的'合作伙伴正是借助了嵌入式營銷的力量。安富利電子元件不僅為海爾提供所需要的電子元件,更為重要的是其增值的供應鏈服務,為海爾提供定期的庫存分析,按需要進行自動補給,以確保庫存時刻保持在最佳水平。安富利正是抓住了這些本來是由海爾自己來解決的內部后勤問題將自己的營銷活動嵌入到海爾的價值鏈中,成為海爾創造價值的一部分,從而結成穩定的合作關系。
2.嵌入式營銷——嵌入顧客運營。在營銷過程中將營銷活動嵌入到產業顧客價值鏈中的運營環節,就是嵌入顧客運營的嵌入式營銷。例如著名的第三方檢驗機構——廣州金域的發展歷史,金域公司本是一家生產乙肝檢測試劑的廠家,為了避免與眾多競爭對手的價格戰,通過分析醫院的產業價值鏈發現只有少數醫院才有試劑最終的檢測儀器,大量的醫院在使用了試劑之后都要通過其他機構進行最終檢測。金域公司就買進一臺檢測儀器,在銷售其檢測試劑的同時保證為醫院免費提供檢測,這樣不僅吸引了大量的顧客,而且自己所提供的服務成為醫院價值鏈中運營活動的一部分,建立了穩定的供貨關系,最終確立了其在行業中的領先地位?,F在金域公司已經成為了一家專業的第三方檢驗機構。
3.嵌入式營銷——嵌入顧客營銷活動。嵌入顧客營銷活動的嵌入式營銷是指通過分析產業顧客的價值鏈,將企業的營銷活動和顧客的價值鏈中的市場營銷相結合,和顧客的產品收集、儲存、散發和購買等活動相聯系,比如產品庫存、搬運、銷售渠道選擇等等。在這方面的一個典型例子是各種專業的連鎖店,比如國美,通過分析家電企業的價值鏈,得出銷售渠道在家電企業中的重要位置,為了達到吸引產業顧客進入其店面進行銷售,建立了全國性的連鎖商店,成為家電企業分銷活動中不可或缺的一部分。
嵌入式營銷不僅只在這三種價值鏈活動中運用,在其他的主體活動,以及支持活動中都可以采用。
五、小結
嵌入式營銷作為一種產業營銷的新思維,體現了顧客滿意、競爭導向和關系營銷的理念,其超越現有競爭空間,為顧客提供價值鏈增值服務,已達成穩固營銷關系的觀念,必將被越來越多的企業所踐行。
參考文獻:
[1]邁克爾·波特:競爭戰略[M].華夏出版社,2001
[2]格里·約翰遜凱萬·斯科爾斯王軍等譯:戰略管理[M].人民郵電出版社,2004
[3]菲利普·科特勒梅清豪譯:營銷管理(第11版)[M].上海人民出版社,2003
?? 嵌入式心得體會 ??
1 實時系統
實時系統是指數據產生時,能以足夠快的速度來進行處理,處理的結果能在規定的時間內來控制生產過程與處理系統,讓它做出極快的響應。在實時系統中,如果指定的時間沒有完成確定的任務,整個系統會全面失敗,這被稱為硬實時系統,反之,如果在指定的時間內沒有完成確定的任務,不會出現致命的錯誤就被稱為軟實時系統。
2 分時系統
分時系統是把時間劃為長短基本相同的時間片,操作系統輪流分配給各個作業使用,如果某個作業在時間片結束完成,這個作業被掛起,等下一輪循環再繼續使用,分時操作系統具有以下幾個特點:多路性,用戶通過各自的'終端可以同時使用一個系統;及時性,對于提出的要求,系統能在較短的時間內得到響應與處理;獨立性,雖然同一時間內可以多個用戶使用同一個CPU,但是用戶之間操作獨立,彼此不干涉。
3 嵌入式系統選型
選擇自己需要的嵌入式系統,可以從以下幾方面進行對比選擇。
3.1 進入市場時間
產品的進入時間與選擇的操作系統有很大的關系,實際的產品與演示的產品不同。一些高效推出的操作系統由于研發時間不夠、技術累積不夠,導致成本高、核心競爭能力差。比如WinCE操作系統,它就是在windows系統上作一定程度的改變,去掉一些不需要的功能,很快推出產品,結果實用時出現很多問題。
3.2 可移植性
通常來說,嵌入式系統的移植性越好,可在在不同平臺、不同系統上都能移植,那是處于最理想的狀態,然而實際運用中并不能達到這種理想狀態,如果過于強調移植性,那么會付出性能優化的代價。
3.3 可利用資源
嵌入式系統是以快速、低成本、高效率的推平適合用戶需要的一個系統平臺,而在這個平臺上能使用多少功能,需要使用第三方的產品,因此這個平臺上能使用多少第三方的產品是選型的一個重要條件,有些嵌入式系統為了滿足高性能、高可靠性的要求,使用比較封閉的操作系統,多數只能使用自己獨立
3.4 系統定制能力
用戶在使用嵌入式操作系統的時候,要求能定制不同的硬件平臺,比如會要求能否對系統提出底層的更動要求?能否定制出現能滿足自己需要、更有自己特色的系統、能否開放原代碼等等。
3.5 成本
選擇嵌入式操作系統,需要考慮成本的問題,比如一個系統是完全免費的,還是需要支付許可使用費等等,在這個選擇中,并不是免費的就是最好的,這要考慮到硬件設計人員的投入、公司的管理、第三方軟件的開發及使用,等等方面的問題,最后對成本作一個綜合考量。
3.6 語言內核支持
語言內核支持指操作系統能使用幾種語言操作,比如西文的、中文的,如果是可以使用中文操作,那么它是否支持雙字節編碼,是只支持簡體中文系統還是同時支持繁體系統,同時還要考慮中文輸入法與處理系統,語言內核的支持與第三方軟件資源的利用有非常重要的聯系。
?? 嵌入式心得體會 ??
首先,嵌入式系統是以應用為中心,以計算機技術為基礎,且軟硬件可裁減,適應應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。嵌入式有如下幾個突出的有點1.系統內核小,2專用性強,3系統精簡4高實時性OS5嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行,6嵌入式系統需要開發工具和環境。
嵌入式系統是近幾年才風靡起來的,但是這個概念并非新近才出現。從20世紀七十年代單片機(最早的單片機是Intel公司的 8048,出現在1976年)的出現到今天各式各樣的嵌入式微處理器,微控制器的大規模應用,嵌入式系統已經有了近30年的發展歷史。經過30年的發展,嵌入式技術已經日趨成熟,在中國嵌入式機一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用于實現對其他設備的控制、監視或管理等功能。
其次,嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。
嵌入式系統是軟硬結合的學科,通常有兩類人會去專研嵌入式:一類是學電子工程、通信工程等偏硬件專業的,另一類是學軟件、計算機專業出身的人,主要從事嵌入式操作系統和應用軟件的開發。
我是軟件專業的學習嵌入式,越是智能設備越是復雜系統,軟件越起關鍵作用,而且這是目前的趨勢。嵌入式應用在很多方面,具體的可以分為工業控制,交通管理,信息家電,家庭智能管理系統,POS網絡及電子商務,環境工程與自然,機器人,機電產品方面應用等方面。其中目前在服務領域,如遠程點菜器等已經體現了嵌入式系統的優勢。例外還有很多地方用到了嵌入式系統,最近飛利浦和ARM共同推出32位RISC嵌入式控制器,適用于工業控制,采用最先進的0.18微米CMOS嵌入式閃存處理技術,操作電壓可以低至1.2伏,它還能降低25%到30%的制造成本,在工業領域中對最終用戶而言是一套極具成本效益的解決方案。
首先我聲明,我是基于嵌入式系統平臺級設計的,硬件這個方向我相對來講比較有發言權,如果是其它方面所要具備的基本技能還要和我們培訓中心其它專業級講師溝通。他們的方面上我只能說是知道些,但不是太多,初級的問題也可以問我。
對于硬件來講有幾個方向,就單純信號來分為數字和模擬,模擬比較難搞,一般需要很長的經驗積累,單單一個阻值或容值的精度不夠就可能使信號偏差很大。因此年輕人搞的較少,隨著技術的發展,出現了模擬電路數字化,比如手機的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語功底很好的硬件工程師,在電路板調試過程中能通過自已編寫的測試程序對硬件功能進行驗證。然后再交給基于操作系統級的驅動開發人員。
?? 嵌入式心得體會 ??
嵌入式系統通常為一個資源受限的系統。直接在嵌入式系統的硬件平臺上編寫軟件比較困難,有時甚至是不可能的。目前,一般采用的辦法是,先在通用計算機上編寫程序,然后,通過交叉編譯,生成目標平臺上可運行的二進制代碼格式,最后下載到目標平臺上的特定位置上運行,具體步驟如下。
第一步,建立嵌入式Linux交叉開發環境。目前,常用的交叉開發環境主要有開放和商業兩種類型。開放的交叉開發環境的典型代表是GNU工具鏈,目前已經能夠支持x86、ARM、MIPS、PowerPC等多種處理器。商業的交叉開發環境主要有Metrowerks CodeWarrior、ARM Software Development Toolkit、SDS Cross compiler、WindRiver Tornado、Microsoft Embedded Visual C++等。交叉開發環境是指編譯、鏈接和調試嵌入式應用軟件的環境。它與運行嵌入式應用軟件的環境有所不同,通常采用宿主機/目標機模式。
第二步,交叉編譯和鏈接。在完成嵌入式軟件的編碼之后,就是進行編譯和鏈接,以生成可執行代碼。由于開發過程大多是在Intel公司x86系列CPU的通用計算機上進行的,而目標環境的處理器芯片卻大多為ARM、MIPS、PowerPC、DragonBall等系列的微處理器,這就要求在建立好的交叉開發環境中進行交叉編譯和鏈接。
第三步,交叉調試。
① 硬件調試。如果不采用在線仿真器,可以讓CPU直接在其內部實現調試功能,并通過在開發板上引出的調試端口,發送調試命令和接收調試信息,完成調試過程。目前,ARM公司提供的開發板上使用的則是JTAG調試端口。
② 軟件調試。在嵌入式Linux系統中,Linux系統內核調試,可以先在Linux內核中設置一個調試樁(debug stub),用作調試過程中和宿主機之間的通信服務器。然后,可以在宿主機中通過調試器的串口與調試樁進行通信,并通過調試器控制目標機上Linux內核的運行。
第四步,系統測試。整個軟件系統編譯過程,嵌入式系統的硬件一般采用專門的測試儀器進行測試,而軟件則需要有相關的測試技術和測試工具的支持,并要采用特定的測試策略。測試技術指的是軟件測試的專門途徑,以及能夠更加有效地運用這些途徑的特定方法。
?? 嵌入式心得體會 ??
2017年嵌入式系統題庫
嵌入式系統的核心是由一個或幾個預先編程好以用來執行少數幾項任務的微處理器或者單片機組成。下面是小編收集的嵌入式系統題庫,希望大家認真閱讀!
1:用C語言實現大小端的測試
Int CheckCpu()
{
union
{
int a;
char b;
}c;
c.a=1;
if(c.b==1)
printf(“小端”);
else printf(“大端”);
}
2:volatile的作用有哪些?
Volatile第一變量相當于告訴編譯器這個變量的值會隨時發生變化,每次使用之前都要去內存里從新讀取它的值,并不要隨意針對它做優化,主要用在:
1:一個中斷子程序中會訪問到的非自動變量;
2:多線程應用中被幾個線程共享的變量;
3:并行設備的硬件寄存器。
3:C語言中static關鍵字的作用有哪些?
1:在函數體中,一個被聲明為靜態的變量在這個變量在調用過程中維持其值不變;
2:在模塊內(但在函數體外),一個被聲明為靜態的變量,可以被這個模塊內的所用函數使用,但不能被模塊外的函數使用,它是一個本地的全局變量;
3:在模塊內,一個被聲明為靜態變量的函數,智能被這個模塊內的函數調用;
4:static全局變量與局部變量的'區別:static全局變量只能被初始化一次,防止其他單元文件中被引用;
5:static局部變量與局部變量的區別:static局部變量只能被初始化一次,下一次依據上一次結果的值;
6:static函數與普通函數的區別:static在內存中只用一份,普通函數在每一次調用中維持一份拷貝。
4:請問下面三種變量的區別:
Int const *p : 指向常整型的指針;
Int *const p; 指向整型的常指針;
Int *const *p: 指向常整型的常指針;
5:在ARM系統中,在函數調用的時候,參數是通過哪種方式傳遞的。
當參數小于等于4的時候是通過r0~r3來進行傳遞的,當參數大于4的時候是通過壓棧的方式進行傳遞。
6:中斷與異常有何區別.
異常在處理的時候必須考慮與處理器的時鐘同步,實際上異常也稱為同步中斷,在處理器執行到因編譯錯誤而導致的錯誤指令時,或者在執行期間出現特殊錯誤,必須靠內核處理的時候,處理器就會產生一個異常;所謂中斷是指外部硬件產生的一個電信號從CPU的中斷引腳進入,打斷CPU的運行。所謂異常是指軟件運行過程中發生了一些必須作出處理的事件,CPU自動產生一個陷入來打斷CPU的運行。
7:用預處理指令#define表示一年中有多少秒
#define SECONDS_PER_YEAR (60*60*24*365)UL
注意后面必須加UL,表示計算的結構是常整型。
8:簡述SPI,UART,I2C三種傳輸方式。
SPI:高速同步串行口,首發獨立,可同步進行
SPI接口主要應用在EEPROM,Flash,實時時鐘,A/D轉化器,數字信號處理,是一種全雙工同步通訊總線,該接口一般使用四條線:串行時鐘線(sck),主出從入線,主入從出線,低電平有效地的從機選擇線。
I2C協議:是單片機與其他芯片進行通訊的協議:1:只要求兩條總線線路,一條是串行時鐘線,一條是串行數據線; 2:通過軟件設定地址 3:是一個多主機總線,如果兩個或更多主機同時初始化數據傳送可通過沖突檢測和仲裁防止數據破壞; 4:I2C總線傳輸的是數據的總高位
UART:主要是由一個modem(調制解調器),可以將模擬信號量轉化成數字信號量。
9:中斷不能返回一個值,中斷不能傳遞參數。
10:嵌入式系統總要求用戶對變量或者寄存器進行位操作,給定一個整型變量a:
define BIT3 (oxo1<<3)
static int a ;
void set_bit3(void)
{
a|=BIT3;
}
void clear_bit3(void)
{
a&=~BIT3;
}
作為一個嵌入式程序員,這種程序是小菜一碟,至所以給出這個程序,是想規范大家寫程序方法,這里主要是用到了一個宏定義:BIT3 這樣的話就可以增加程序的可讀性
同時移植性也增強。
11:嵌入式系統中經常要求程序去訪問某特定內存的特點,在某工程中,要求設定一個絕對地址0x6799的整型變量的值為0xaa66.
Int *ptr;
ptr=(int*)0x67a9;
*ptr=aa66
12:引用和指針有什么區別?
1:應用必須初始化,指針不必;
2:引用處畫化后不能改變,指針可以被改變;
3:不存在指向空值的引用,但存在指向空值的指針;
13:全局變量與局部變量在內存中是否有區別,是什么區別?
全局變量存儲在靜態數據庫,局部變量存儲在堆棧;
14:寫出float,bool,int類型與零的比較,假設變量為X:
Int : if(x==0)
Float: if(x>0.0000001&&x<0.0000001)
Bool: if(x==false)
15:Intertnet采用哪種網絡協議,該協議的主要層次結構?
TCP/IP協議
應用層/傳輸層/網絡層/數字鏈路層/物理層。
16:IP地址有兩部分組成:網絡號和主機號
17:程序的局部變量存儲在(棧)中,全局變量存儲于(靜態存儲區),動態申請數據存儲于(堆中);
18:編寫一個字符串復制函數:strcpy(const char *str,const char *str1)
void strcpy(const *char str,const chat *str1)
{
if(*str1==’\0’) return;
char *sp1,*sp2;
sp1= str;
sp2=str1;
while(*sp2!=’\0’)
{
*sp1=sp2;
sp1++;
sp2++;
}
}
19:編寫一個函數實現字符串翻轉 void rechange(char *str)
void rechange(char *str)
{
Int len;
char t;
len=strlen(str);
for(int i=0;len/2;i++)
{
t=str[i];
str[i]=str[len-i-1];
str[len-i-1]=t;
}
}
20:編寫一個函數實現字符串比較 int strcmp(char *str1,char *str2),相等返回1,不相等返回0:
int strcmp(char *str1,char *str2)
{
if(*str1==‘\0’||*str2==’\0’) return;
while(*str1!=’\0’&&*str2!=’\0’&&*str1==*str2)
{
str1++;
str2++;
}
if(*str1==*str2)
return 1;
else return 0;
}
}
21:進程和線程的區別:
1:調度:線程作為調度和分配的基本單元,進程作為擁有資源的基本單位;
2:并發性:不僅進程可以并發執行,同一進程內的線程也可以并發執行。
3:擁有資源:進程是擁有資源的基本獨立單元,線程不擁有資源,但可以訪問進程內的資源;
4:在創建或撤銷線程時,由于系統都要為之分配和回收內存資源,導致系統的開銷明顯大于創建或撤銷線程時的開銷。
?? 嵌入式心得體會 ??
嵌入式處理器(Embedded Processor,EP)與通用處理器最大的區別就在于嵌入式處理器大多工作在為不同用戶群所設計的特定系統中,它常常將通用處理器中許多由板卡完成的功能集成到芯片內部,從而有利于實現嵌入式系統設計的微型化,同時又保證了較高的可靠性和處理效率。到目前為止,全球嵌入式處理器的種類已經超過1000多種,其中以ARM、MIPS、Power PC、Motorola 68K、X86等體系結構最為常見,一般將嵌入式處理器分成以下四類:
1)嵌入式微控制器 (Microcontroller Unit,MCU);
2)嵌入式微處理器 (Embedded Microprocessor Unit,EMPU);
3)嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP);
4)片上系統(System On Chip,SOC)。
一般在嵌入式系統設計中常用的嵌入式微處理器和體系結構主要有以下幾種:
1) ARM
ARM(Advanced RISC Machines)公司是全球著名的16/32位精簡指令集計算機RISC(Reduced Instruction Set Computer)處理器設計供應商,通過提供高性能與低功耗的RISC處理器芯片設計技術給各個生產廠商來生產滿足不同應用領域要求的芯片。事實上,由于ARM處理器一方面支持16位的Thumb指令集和32位的ARM指令集,另一方面使用了大量的寄存器和靈活的尋址方式來提高系統執行的效率,所以ARM處理器技術已經成為數字通信、工業控制、多媒體家電等嵌入式應用領域的RISC標準。ARM系列處理器種類很多,目前市場上應用最為廣泛的是ARM9和ARM10系列處理芯片。ARM9處理器由于擁有了五級流水線結構和自帶MMU功能,廣泛應用于手持終端和無線通訊等領域。ARM10處理器由于采用了更高的六級流水線結構和支持DSP指令以及支持64位的AMBA總線接口[5],其性能較ARM9有了很大的提高,廣泛應用于手持PDA以及車載電子等高端領域。
2) MIPS
MIPS(Microprocessor without Interlocked Pipeline Stages)簡稱無內部互鎖流水級的微處理器,是美國MIPS技術公司推出的一種基于RISC架構的高性能高檔次的處理器內核。MIPS采用了先進的設計理念和清晰的系統結構,強調軟硬件協同工作以提高處理器性能,同時簡化了硬件設計,采用軟件方法來避免流水線運行中的數據相關問題。雖與ARM處理器相比,MIPS體系結構的處理器功耗要高些,但它具備了從32位低端產品到64位高端產品的完整解決方案,而且在知識產權的授權費用上MIPS要低于ARM,因此,MIPS內核逐漸被越來越多的消費類電子產品和工業控制產品的設計所采用。
3) Power PC
PowerPC(Performance optimization with Enhanced RISC performance Computing)簡稱性能優化與增強的RISC性能計算,是由IBM、Motorola和Apple公司聯合開發的一款高性能32/64位RISC處理器,其主要特點是可伸縮性好,方便靈活和較高的性價比。常見的基于Power PC架構的處理器有IBM公司的Power PC64S(深藍內部的CPU)、Power PC750、Power PCG3以及Motorola公司的MC和MPC系列等。目前,基于Power PC體系結構的'處理器廣泛應用于桌面PC系統、移動PC系統、嵌入式系統以及金融電信等行業。
4) Motorola 68K
Motorola 68K采用復雜指令集計算機CISC(Complex Instruction Set Computer)架構[8],是出現比較早的嵌入式處理器,在全球的各種嵌入式處理器應用領域中取得了巨大成功。曾經Sun微計算機公司把這款處理器應用于早期的產品開發中。
5) X86
X86系列處理器起源于Inter架構的8080,然后發展出286、386、486直到現在的奔騰處理器乃至雙核處理器。從嵌入式市場分布來看,486DX也是與ARM、68K、MIPS、SuperH齊名的五大嵌入式處理器之一。目前市場上基于X86體系結構的PC104產品占有很大的市場份額。
?? 嵌入式心得體會 ??
一、嵌入式系統開發與應用概述
在今日,嵌入式ARM 技術已經成為了一門比較熱門的學科,無論是在電子類的什么領域,你都可以看到嵌入式ARM 的影子。如果你還停留在單片機級別的學習,那么實際上你已經落下時代腳步了,ARM 嵌入式技術正以幾何的倍數高速發展,它幾乎滲透到了幾乎你所想到的領域。本章節就是將你領入ARM 的學習大門,開始嵌入式開發之旅。以嵌入式計算機為技術核心的嵌入式系統是繼網絡技術之后,又一個IT領域新的技術發展方向。由于嵌入式系統具有體積小、性能強、功耗低、可靠性高以及面向行業具體應用等突出特征, 目前已經廣泛地應用于軍事國防、消費電子、信息家電、網絡通信、工業控制等各個領域。嵌入式的廣泛應用可以說是無所不在。
嵌入式微處理器技術的基礎是通用計算機技術?,F在許多嵌入式處理器也是從早期的PC 機的應用發展演化過來的,如早期PC 諸如TRS-80、Apple II 和所用的Z80 和6502 處理器,至今仍為低 端的嵌入式應用。在應用中,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。嵌入式處理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM 等系列。
在早期實際的嵌入式應用中,芯片選擇時往往以某一種微處理器內核為核心,在芯片內部集成必要的ROM/EPROM/Flash/EEPROM、SRAM、接口總線及總線控制邏輯、定時/計數器、WatchDog、I/O、串行口、脈寬調制輸出、A/D、D/A 等各種必要的功能和外設。
二、實習設備
硬件:Embest EduKit-IV實驗平臺、ULINK2仿真器套件、PC機
軟件:mu;Vision IDE for ARM集成開發環境、Windows 98//NT/XP
三、實習目的
1.初步掌握液晶屏的使用及其電路設計方法;掌握S3C2410X處理器的LCD控制器的使用;掌握通過任務調用的方法把液晶顯示函數添加到uC/OS-II中;通過實驗掌握液晶顯示文本及圖形的方法與程序設計。
2.了解S3C2410X處理器UART相關控制寄存器的使用; 熟悉ARM處理器系統硬件電路中UART接口的設計方法:掌握ARM處理器串行通信的軟件編程方法。
3.掌握有關音頻處理的基礎知識;通過實驗了解IIS音頻接口的工作原理;通過實驗掌握對處理器S3C2410X中IIS模塊電路的控制方法;通過實驗掌握對常用IIS接口音頻芯片的控制方法。
4.了解mu;C/OS-II移植條件和內核基本結構;掌握將mu;C/OS-II內核移植到ARM9處理器上的方法和步驟。
四、實習要求
通過對mu;C/OS-II移植實驗、mu;C/OS-II LCD顯示實驗、串口通信實驗、IIS音頻實驗、液晶顯示實驗的學習,并將各部分內容合并,最終得出實習結果,實習要求在鍵盤上輸入學號,在液晶顯示屏上顯示相應的學生信息。學生信息包括顯示每個人的照片和姓名系別等,并用鍵控設置學生輸出的順序,輸入學號就顯示那個學生的信息,然后過一段時間就順序循環播放。
移植mu;C/OS-II內核到ARM處理器S3C2410,在IDE中觀察其運行狀況編寫S3C2410X處理器的串口通信程序;監視串行口UART1動作;將從UART1接收到的字符串回送顯示。將從UART1接收到的字符串回送顯示。
通過使用Embest EduKit-IV實驗板的彩色液晶屏(800*480)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,并編寫任務函數在uC/OS-II系統中實現位圖顯示。在uC/OS-II中建立五個任務Tast1和Tast2,其中Tast1順序熄滅四個LED,延遲一會在順序點亮四個LED。Tast2在LCD屏幕上循環顯示三幅圖片,并打印一些文字信息和背景音樂。過使用Embest EduKit-III實驗板的256 色彩色液晶屏(320x240)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,并編寫程序實現:畫出多個矩形框;顯示ASCII字符;顯示漢字字符;顯示彩色位圖。
五、實習步驟
1. 準備實驗環境
使用ULINK2仿真器連接Embest EduKit-IV實驗平臺的主板JTAG接口;使用Embest EduKit-IV實驗平臺附帶的交叉串口線,連接實驗平臺主板上的COM2和PC機的串口(一般PC只有一個串口,如果有多個請自行選擇,筆記本沒有串口設備的可購買USB轉串口適配器擴充);使用Embest EduKit-IV實驗平臺附帶的電源適配器,連接實驗平臺主板上的電源接口。
2. 串口接收設置
在PC機上運行windows自帶的超級終端串口通信程序,或者使用實驗平臺附帶光盤內設置好了的超級終端,設置超級終端:波特率115200、1位停止位、無校驗位、無硬件流控制,或者使用其它串口通信程序。(注:超級終端串口的選擇根據用戶的PC串口硬件不同,請自行選擇,如果PC機只有一個串口,一般是COM1)
3. 打開實驗例程
1)打開實驗程序
2)運行mu;Vision IDE for ARM軟件
3)默認打開的工程在源碼編輯窗口會顯示實驗例程的說明文件readme.txt,詳細閱讀并理解實驗內容。
4)工程提供了兩種運行方式:一是下載到SDRAM中調試運行,二是固化到Nor Flash中運行。用戶可以在工具欄Select Target下拉框中選擇在RAM中調試運行還是固化Flash中運行。下面實驗將介紹下載到SDRAM中調試運行,所以我們在Select Target下拉框中選擇UART_Test IN RAM。
5)接下來開始編譯鏈接工程,在菜單欄“Projiet”選擇“Build target”或者“Rebuild all target files”編譯整個工程。
6編譯完成后,在輸出窗口可以看到編譯提示信息,比如““.SDRAMUART_Test.axf” - 0 Error(s), 1 Warning(s).”,如果顯示“0 Error(s)”即表示編譯成功。
7)撥動實驗平臺電源開關,給實驗平臺上電,單擊菜單欄Debug->Start/Stop Debug Session項將編譯出來的映像文件下載到SDRAM中,或者單擊工具欄“”按鈕來下載。
8)下載完成后,單擊菜單欄Debug->Run項運行程序,或者單擊工具欄“”按鈕來全速運行程序。用戶也可以使用進行單步調試程序。
9)全速運行后,用戶可以在超級終端看到程序運行的信息。
10)用戶可以Stop程序運行,使用mu;Vision IDE for ARM的一些調試窗口跟蹤查看程序運行的`信息。 注:如果在第4)步用戶選擇在Flash中運行,則編譯鏈接成功后,單擊菜單欄Flash->Download項將程序固化到NorFlash中,從實驗平臺的主板拔出JTAG線,給實驗平臺重新上電,程序將自動運行。
部分程序圖:
串口通信實驗:
IIS音頻實驗:
六、實習體會
在嵌入式系統中,除了課本上的基礎知識外,還學會了軟件編程的基本思路,掌握了液晶屏的使用及其電路設計方法;掌握有關音頻處理的基礎知識;掌握液晶顯示文本及圖形的方法與程序設計。
通過這次設計,掌握了液晶顯示實驗、mu;C/OS-II移植、mu;C/OS-IILCD顯示的工作原理及串口通信實驗的工作過程,學會了使用仿真軟件Embest EduKit-IV實驗平臺及ULINK2仿真器套件,并學會通過應用軟件仿真來實現各種通信系統的設計,對以后的學習和工作都起到了一定的作用,加強了動手能力和學業技能。雖然花了很長時間編寫軟件程序設計,但這一切還是理論上的。希望學校能提供機會和條件,讓我們能夠去真正地將理論和實踐相結合。通過這次程序,感覺自己所掌握的知識是那么的有限,還有許多需要改進和不足的地方,同時也幫助了我怎樣學好這門課程,增加了我對這門學科的興趣。總體來說,這次實習我受益匪淺。在摸索該如何設計電路使之實現所需功能的過程中特別有趣,培養了我的設計思維,增加了實際操作能力。在讓我體會到了設計電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。通過這次實習通信系統的設計,使我更加清楚以后的發展及學習的方向。
最后感謝老師這個學期的指導和幫助!
七、參考文獻
《ARM9嵌入式系統設計與開發應用》熊茂華、楊震倫編著 清華大學出版社
《ARM9嵌入式系統設計與開發教程》于明編著 電子工業出版社
《Linux嵌入式系統教程》馬忠梅 北京航空航天大學出版社
?? 嵌入式心得體會 ??
這學期才接觸嵌入式系統感覺還稱不上入門,我通過學習知道了嵌入式的發展前景很大,各個領域都用到了嵌入式,學好嵌入式不愁沒飯吃。
廣義上講,凡是帶有微處理器的專用軟硬件系統都是嵌入式系統。如各類單片機和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 的代碼等等,麻雀雖
小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。
以上就是我在本學期學習嵌入式后的心得及感想。
文章來源:http://www.lipstick2017.com/youxiuzuowen/125770.html
’)
{
*sp1=sp2;
sp1++;
sp2++;
}
}
19:編寫一個函數實現字符串翻轉 void rechange(char *str)
void rechange(char *str)
{
Int len;
char t;
len=strlen(str);
for(int i=0;len/2;i++)
{
t=str[i];
str[i]=str[len-i-1];
str[len-i-1]=t;
}
}
20:編寫一個函數實現字符串比較 int strcmp(char *str1,char *str2),相等返回1,不相等返回0:
int strcmp(char *str1,char *str2)
{
if(*str1==‘id="article-content1">
嵌入式心得體會(分享十三篇)
發表時間:2018-05-06 嵌入式心得體會(分享十三篇)。
?? 嵌入式心得體會 ??
一、嵌入式的概述:
隨著信息化技術的發展和數字化產品的普及,以計算機技術、芯片技術和軟件技術為核心的嵌入式系統再度成為當前研究和應用的熱點,通信、計算機、消費電子技術(3C)合一的趨勢正在逐步形成,無所不在的網絡和無所不在的計算(everything connecting, everywhere computing)正在將人類帶入一個嶄新的信息社會。
二、實習目的
學習和了解了嵌入式在生活中的重要作用和發展過程,熟練掌握ARM硬件體系結構,熟悉linux下的嵌入式編程流程,積累自己的軟件編寫經驗,能夠參與并實現一個真實和完整的嵌入式項目,為今后的學習和將從事的技術工作打下堅實的基礎
三、實習任務
第一階段Linux操作和編程基礎
主要介紹Linux的基本命令和基礎編程知識,包括Linux的文件操作和目錄操作命令,VI編輯器,GCC編譯器,GDB調試器和Make項目管理工具等知識。
第二階段 嵌入式C語言編程基礎
主要介紹在嵌入式開發編程中C語言的重要概念和編程技巧中的重點難點,以復習串講和實例分析的形式,重點介紹包括函數與程序結構,指針、數組和鏈表,庫函數的使用等知識。
第三階段Linux上C強化編程訓練
主要包括整數算法訓練,遞歸和棧編程訓練,位操作訓練,指針訓練,字符串訓練和常用C庫函數編程接口實踐,強化學員對Linux下基本編程開發的理解和編碼調試的能力。
第四階段 Linux環境高級編程及項目開發編程實踐
主要包括系統編程(信號/系統調用/管道/FIFO/消息隊列/共享內存等),文件I/O編程(文件描述符/文件讀寫接口/原子操作/阻塞與非阻塞IO等,多任務和多線程編程(進程標識/ 用戶標識/fork與vfork/多線程概念/線程同步等),網絡編程(網絡基本概念/套接口編程/網絡字節次序/Client/Server結構/UDP編程);掌握Linux下Socket編程的開發流程,熟悉網絡編程的調用接口函數和相關數據結構,使學員初步具備在Linux上進行系統編程開發的能力。同時綜合之前所學內容和編程技術,以小組為單位進行一個團隊合作項目的開發,考核內容包括文件I/O編程,多線程編程,網絡編程和項目文檔編寫。
第五階段嵌入式處理器體系結構及編程實踐
主要介紹ARM體系結構及其基本編程知識,包括指令分類,尋址方式、指令集、存儲系統、異常中斷處理、匯編語言以及CC++和匯編語言的混合編程等知識。同時結合ARM嵌入式開發板硬件設計原理和基本硬件設計流程,分析各種外設的工作原理和驅動機制,并自己動手實踐完成一個ARM開發板上的編程大作業。
第六階段嵌入式Linux開發基礎及高級應用
主要介紹嵌入式Linux開發應用程序的基本流程和知識,包括嵌入式Linux基本概念和開發流程、Bootloader工作原理、內核裁減配置和交叉編譯、根文件系統制作、網絡編程以及圖形界面和數據庫開發等知識。同時獨立完成一個基于嵌入式Linux GUI的應用編程大作業。
第七階段嵌入式 Linux驅動理論及驅動程序開發實踐
主要介紹嵌入式Linux上驅動程序開發規范,包括設備驅動程序概念、字符設備驅動程序、塊設備與網絡設備、網卡驅動以及常用嵌入式設備驅動開發等知識。同時獨立實現兩種嵌入式設備驅動程序的編寫,包括驅動模塊的調試和加載以及完整的項目開發文檔的編寫。
第八階段嵌入式Linux項目團隊開發實踐鍛煉
主要包括設計并實現一個真實和完整的嵌入式項目的開發流程,涉及到數據采集、網絡通訊、圖形用戶界面顯示以及嵌入式數據庫存儲系統等多種嵌入式Linux編程技術。要求學員建立起團隊開發和協同工作的企業項目開發模式的概念和流程,強化學員對編寫項目概要設計文檔和詳細設計文檔的理解,為就業前的職業技能和素質訓練做好充分準備。
四、實習內容
1、 嵌入式的歷史與現狀
雖然嵌入式系統是近幾年才開始真正風靡起來的,但事實上嵌入式這個概念卻很早就已經存在了,從上個世紀70年代單片機的出現到今天各種嵌入式微處理器、微控制器的廣泛應用,嵌入式系統少說也有了近30年的歷史??v觀嵌入式系統的發展歷程,大致經歷了以下四個階段:
無操作系統階段
嵌入式系統最初的應用是基于單片機的,大多以可編程控制器的形式出現,具有監測、伺服、設備指示等功能,通常應用于各類工業控制和飛機、導彈等武器裝備中,一般沒有操作系統的支持,只能通過匯編語言對系統進行直接控制,運行結束后再清除內存。這些裝置雖然已經初步具備了嵌入式的應用特點,但僅僅只是使用8位的CPU芯片來執行一些單線程的程序,因此嚴格地說還談不上"系統"的概念。
這一階段嵌入式系統的主要特點是:系統結構和功能相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由于這種嵌入式系統使用簡便、價格低廉,因而曾經在工業控制領域中得到了非常廣泛的應用,但卻無法滿足現今對執行效率、存儲容量都有較高要求的信息家電等場合的需要。
?? 嵌入式心得體會 ??
嵌入式是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。由于嵌入式系統通常具有低功耗、體積小、集成度高等特點,因此隨著消費家電的智能化和廉價微處理器的.出現,嵌入式系統將在日常生活里形成更大的應用領域。嵌入式就業前景良好,嵌入式人才社會需求量大。
嵌入式就業前景分析-嵌入式軟件開發應用領域
嵌入式系統是當前最熱門、最具發展前途的IT應用領域之一。包括手機、電子字典、可視電話、數字相機、數字攝像機、U-Disk、機頂盒、高清電視、游戲機、智能玩具、交換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等都是典型的嵌入式系統。因此,通過嵌入式培訓成為專業的嵌入式技術人才,嵌入式就業前景也非常好,其職業發展空間較大。
嵌入式就業前景分析-嵌入式軟件開發人才需求
目前國內嵌入式人才極度匱乏,權威部門統計,我國目前嵌入式軟件人才缺口每年為40萬人左右。供不應求使得嵌入式人才身價上漲,而且,越有專業經驗,就業競爭力就越大。因此,IT專業人士通過培訓掌握嵌入式技術,就能成為炙手可熱的專業人才,其培訓回報有保障。
嵌入式就業前景分析-嵌入式軟件開發就業方向
由于大唐各約嵌入式技術支持工程師都高居前五位。
?? 嵌入式心得體會 ??
嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。按照行業細分,嵌入式產品主要分布在消費類電子、通信、醫療、安全等行業。嵌入式軟件產業發展迅猛,已成為軟件體系的重要組成部分。嵌入式系統產品正不斷滲透各個行業,作為包含在這些硬件產品中的特殊軟件形態,其產業增幅不斷加大,而且在整個軟件產業的比重日趨提高。從2003到2006年,全球嵌入式軟件市場規模均復合增長率達到30%。
據預測,在未來的幾年內,嵌入式系統的發展為幾乎所有的電子設備注入了新的活力,加上迅速發展的Internet和廉價的微處理器出現,嵌入式系統將在我們的日常生活里形成一個更大的應用領域。據調查,上海地區嵌入式系統開發涉及的行業眾多,但多數停留在8位單片機開發層面,僅有部分企業開始采用32位處理器和實時操作系統(RTOS,Real Time Operating System)。然而,國內能夠同時進行軟件設計和芯片設計的SoC系統設計的高端人才幾乎沒有,國際上領先的多核嵌入式系統設計,可重構嵌入式系統設計在國內的應用也還停留在少數科研機構的研究課題中。
人才需求
搜索“linux”,更可以獲得近2000條記錄。從這些職位上看,市場上需要的嵌入式人才必須具備C語言編程經驗、嵌入式操作系統(嵌入式Linux)、具有內核裁剪經驗、具有驅動程序開發經驗。這些都是在學校無法學到的知識。
嵌入式系統人才的匱乏已成為眾多企業的共識,而嵌入式系統幾乎無所不在的`應用領域使其成為一項極具發展潛力的產業,人才的匱乏已成為其發展的瓶頸,企業紛紛抱怨月薪過萬元卻招不到一個合適的嵌入式系統人才。產業的發展趨勢是,越來越多的智能設備的系統趨于復雜,軟件將發揮起關鍵作用,當前業界非常缺乏的就是軟硬件技術兼具的人才。另據權威部門統計,我國嵌入式軟件人才缺口每年為60萬人左右。
以嵌入式領域的3G為例,目前我國的3G核心人才不足萬人,基本上都受雇在幾個運營商和設備廠商。市場急需的嵌入式開發人才以及3G時代所需的增值業務開發人才非常搶手。業內人士認為,至少出現30-50萬的人才缺口,其中嵌入式15萬,移動增值可能35萬。隨著車載電子應用、手持娛樂終端在國內的普及,國內外企業紛紛加大了對嵌入式業務的投入,相關人才需求也逐漸加大。2012年3月,據英才網指數統計顯示,計算機/信息服務共提供82069個空缺職位,占當月所有空缺職位總數的30.37%,排名第一。從這些職位上看,市場上需要的嵌入式人才必須具備C語言編程經驗、嵌入式操作系統(嵌入式Linux)、內核裁剪經驗、驅動程序開發經驗。而這些都是企業用人的標準。盡管很多大學的電子、計算機專業都開設了程序設計、微機原理、單片機等課程,但高校輸送的人才與企業需要的人才卻始終沒有對應上。事實上,這個缺口就是由于缺少系統的學習和項目經驗。企業需要的人才是知識+技能+職業素養,而大多數畢業生缺乏的是實戰技能與綜合素質的培訓。嵌入式軟件開發人才的缺乏也帶來了這個行業可觀的薪酬待遇,嵌入式軟件的從業者薪酬比其他IT業同行大約高出50%。
應用前景
一些先進的PDA在顯示屏幕上已實現漢字寫入、短消息語音發布,日用范圍也將日益廣闊。對于企業專用解決方案,如物流管理、條碼掃描、移動信息采集等,這種小型手持嵌入式系統將發揮巨大的作用。自動控制領域,不僅可以用于ATM機,自動售貨機,工業控制等專用設備,和移動通訊設備結合、GPS、娛樂相結合,嵌入式系統同樣可以發揮巨大的作用。
嵌入式系統是研究的熱點。在研究的同時,我們也可以發現由于嵌入式系統并不是突然出現的,對于微處理器應用的研究和硬件系統的研究已經有了一個很長時間的發展歷史。所以無論是從硬件方面還是軟件方面我們都很容易獲得研發的資料。
硬件方面,不僅有各大公司的微處理器芯片,還有用于學習和研發的各種配套開發包。低層系統和硬件平臺經過若干年的研究,已經相對比較成熟,實現各種功能的芯片應有盡有。而且巨大的市場需求給我們提供了學習研發的資金和技術力量。
從軟件方面講,也有相當部分的成熟軟件系統。國外商品化的嵌入式實時操作系統,已進入我國市場。我國自主開發的嵌入式系統軟件產品如嵌入式軟件開發平臺DeltaSystem,它不僅包括DeltaCore嵌入式實時操作系統,而且還包括LamdaTools交叉開發工具套件、測試工具、應用組件等;此外,中科院也推出了Hopen嵌入式操作系統(雖然還不夠完善)。
?? 嵌入式心得體會 ??
首先,我們學習的課本是嵌入式系統應用教程。我學習的體會是這樣的:開始時,由于是剛剛入門,對老師書的好多東西是好奇的,好多名詞也是新鮮的,不過不太懂什么意思。但是慢慢的,了解的深入讓我有了更深的感觸和體會。
在嵌入式的學習過程中,讓我了解了什么是嵌入式系統。它就是以應用為中心,以計算機技術為基礎,軟硬件可定制,適用于不同應用場合,對功能、可靠性、成本、體積、功耗有嚴格要求的計算機系統。他一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統、用戶應用程序四個部分組成,用于實現對其他設備的控制、監視或管理功能。嵌入式系統已經應用于科學研究、工業控制、軍事技術、交通通信、醫療衛生、消費娛樂等領域,人們日常使用的手機、PDA、汽車、智能家電、GPS等均是嵌入式系統的典型代表。
一開始我們就學習嵌入式的系統的基礎部分,那很簡單,就是一些定義或是介紹之類的。在進入第二章時,就開始學習了嵌入式開發過程中的主要操作系統——linux,在接下來的課程中,我發現嵌入式的學習過程還是蠻有趣的。在對linux的學習中,我們對它有了一點點的了解,接著就是學習一虛擬機的方式安裝linux。對我來說有趣的就是安裝的過程了,首先我們跟著老師的腳步走,學會了怎么安裝,在自己動手進行對它的安裝,這個過程是簡單而有趣的。這樣的開始讓我對它充滿了興趣,也對以后的學習充滿了信心。
其次就是安裝好了之后,老師就更深一步的教我們應用了。在這是老師首先交給我們的是一些簡單的命令應用,Linux具有很豐富的命令,絕大多數命令具有大量的參數。
在學習命令的過程中,只要你認真的看著老師操作還有認真聽著他講,你就會發現有些命令的操作還是很簡單的,不過在操作的過程中,我也有遇到有些困難,會出現你按照書上學習的例子,將命令輸入終端時會出現你不想要的結果,也就是錯誤的結果。這是問問旁邊的同學或是懂的同學就可以解決了。
在對于這部分的學習中,讓我知道了命令對于嵌入式的重要性。它是linux的重要內容,linux中所有的功能都是通過命令執行。在實際應用中,為了減少系統開銷,經常不使用圖形界面,此時,對系統的所有操作都需要以命令方式來執行。在嵌入式系統開發過程中,由于目標機的性能和配置比較低,因此,一般情況下目標機僅具有命令窗口而沒有圖形界面,對目標機的所有操作都通過命令來實現。
還有的那就是進一步學習與嵌入式系統開發相關的linux的服務,他們的啟動、設置等的操作和應用。而在學習之中,我們主要介紹的是嵌入式系統中開發工程使用的TFTP、Telent和NFS服務。第一個實現的事上機位與下機位之間文件的傳輸、無磁盤網絡的設備的啟動等功能;第二個實現的事遠程登錄功能;第三個實現的是網絡文件系統功能。
從以上的內容之中,并不難感受到我們的學習過程是由淺入深的,這對于我們的學習也有了較好的幫助。
當然,我們學習的不僅僅是這么幾個內容,其中還有相關的實驗內容。在我們基礎的學習的過程之中,我有了這么一點的感受,總的來說就是概念加專業名詞還有介紹加實驗。不過你絕對不能小看那些概念和介紹,它對我們有著很重要的指導作用哦!實驗那就更不用說了,它提高我們的動手能力,在實驗的過程中還能讓你更加理解書中的理念,這就是我學習嵌入式的感受。
?? 嵌入式心得體會 ??
職責描述:
1.負責基于linux或qnx的汽車智能駕駛座艙軟件的'中間件開發與調試;
2.配合團隊進行其他項目開發。
任職要求:
1.全日制統招本科及以上學歷,電子、計算機、軟件工程或相關專業;
2.3年以上相關工作經驗;
3.精通c/c++及其相關標準庫,熟悉mvc設計模式,具備多線程編程的實際經驗;
4.熟悉網絡通訊原理,了解主流rpc技術,具備socket編程或其他相關網絡編程經驗,了解流媒體相關技術;
5.掌握嵌入式圖形編程技術,有opengl/gles經驗者優先;
6.對開源項目有一定研究能力,并有實際集成經驗者優先。
7.專業基礎扎實,熱衷技術,對汽車行業感興趣。
?? 嵌入式心得體會 ??
關于嵌入式營銷的論文
[摘要]隨著營銷實踐的發展,營銷理念也在不斷地推進與創新。嵌入式營銷便是一種基于顧客價值鏈的產業營銷新思維,其體現了現代營銷的三個核心理念:顧客滿意、競爭導向和關系營銷。本文將從嵌入式營銷的核心理念、一般程序、基本方式和主要特征入手,探討嵌入式營銷的理論結構。
[關鍵詞]嵌入式營銷關系營銷價值鏈產業營銷
一、嵌入式營銷的核心理念
嵌入式營銷是一種基于顧客價值鏈的新型產業營銷方式,在對產業顧客價值鏈分析的基礎上,綜合考慮顧客需求和競爭對手的行動,尋找企業資源能力與顧客盈利模式之間獨特的價值匹配,并將其嵌入到顧客的價值鏈上,使營銷活動成為顧客創造價值的不可或缺的一部分,從而建立長期穩定的營銷關系。
嵌入式營銷體現了現代營銷中的顧客滿意、競爭導向和關系營銷三個核心理念。第一,嵌入式營銷關注顧客滿意,在保證顧客滿意的基礎上,提供價值鏈增值服務;第二,嵌入式營銷在為顧客提供附加價值的同時,需要考慮競爭者的反應與行動,只有采取與競爭者不同的營銷活動才能達到嵌入式營銷的目的;第三,嵌入式營銷是注重關系的營銷新思維,將自身的營銷活動嵌入到顧客的價值鏈中,有利于企業與顧客建立起長久且穩定的營銷關系。在嵌入式營銷所涉及的三種營銷理念中,關系營銷居于核心地位,嵌入式營銷的實質是要與顧客建立一種顧客穩固的營銷關系。
二、嵌入式營銷的主要特征
嵌入式營銷作為一種產業營銷新思維,有其區別于一般營銷方式的一些特征,下面闡述了嵌入式營銷的主要特征:
1.嵌入式營銷為顧客提供新屬性新價值,創規則而非守規則,從了解顧客到教育顧客,從迎合市場到顛覆市場。
2.嵌入式營銷超越了現有的市場邊界和競爭空間,為顧客提供價值的同時,把自己的營銷活動深入到顧客的價值鏈上,成為其創造價值的不可或缺的一部分。
3.嵌入式營銷是一種針對產業市場顧客的營銷方式,因為只有產業顧客才可以分析其價值鏈活動。其方法并不適用于對消費者的營銷,但是他的一些理念也可以為消費者營銷提供參考。
4.嵌入式營銷注重長期穩定的營銷關系的建立。
三、嵌入式營銷的一般程序
1.分析產業顧客的價值鏈活動,尋找與企業資源能力相匹配的獨特價值。
2.分析顧客滿意因素和競爭對手的反應與活動。
3.創造獨特價值并嵌入到顧客價值鏈中。
4.評價嵌入式營銷,保持或創新嵌入式營銷的營銷活動,以維持與顧客的營銷關系。
四、嵌入式營銷的基本方式
價值鏈是企業通過經營活動創造更高價值的系統,這些創造價值的活動可以分為兩類:基本價值活動和輔助價值活動,價值鏈的兩大部分各個環節之間相互影響、相互關聯,一個環節經營管理的好壞影響到其他環節的成本和效益。嵌入式營銷正是通過分析產業顧客的價值鏈,找到顧客價值鏈中與企業可以匹配的地方,將企業的營銷活動深入到顧客價值鏈中,以建立長期穩定的營銷關系。這其中以嵌入內部后勤、運營、市場營銷最為典型,下面將就其具體方式一一闡述。
1.嵌入式營銷——嵌入顧客內部后勤。所謂嵌入顧客內部后勤的嵌入式營銷是指分析產業顧客在其產品投入品的進貨、倉儲和分配等有關活動,將自己的營銷活動與之相結合的營銷方式。例如:安富利電子元件部獲得海爾的庫存所有權,成為其供應鏈的'合作伙伴正是借助了嵌入式營銷的力量。安富利電子元件不僅為海爾提供所需要的電子元件,更為重要的是其增值的供應鏈服務,為海爾提供定期的庫存分析,按需要進行自動補給,以確保庫存時刻保持在最佳水平。安富利正是抓住了這些本來是由海爾自己來解決的內部后勤問題將自己的營銷活動嵌入到海爾的價值鏈中,成為海爾創造價值的一部分,從而結成穩定的合作關系。
2.嵌入式營銷——嵌入顧客運營。在營銷過程中將營銷活動嵌入到產業顧客價值鏈中的運營環節,就是嵌入顧客運營的嵌入式營銷。例如著名的第三方檢驗機構——廣州金域的發展歷史,金域公司本是一家生產乙肝檢測試劑的廠家,為了避免與眾多競爭對手的價格戰,通過分析醫院的產業價值鏈發現只有少數醫院才有試劑最終的檢測儀器,大量的醫院在使用了試劑之后都要通過其他機構進行最終檢測。金域公司就買進一臺檢測儀器,在銷售其檢測試劑的同時保證為醫院免費提供檢測,這樣不僅吸引了大量的顧客,而且自己所提供的服務成為醫院價值鏈中運營活動的一部分,建立了穩定的供貨關系,最終確立了其在行業中的領先地位。現在金域公司已經成為了一家專業的第三方檢驗機構。
3.嵌入式營銷——嵌入顧客營銷活動。嵌入顧客營銷活動的嵌入式營銷是指通過分析產業顧客的價值鏈,將企業的營銷活動和顧客的價值鏈中的市場營銷相結合,和顧客的產品收集、儲存、散發和購買等活動相聯系,比如產品庫存、搬運、銷售渠道選擇等等。在這方面的一個典型例子是各種專業的連鎖店,比如國美,通過分析家電企業的價值鏈,得出銷售渠道在家電企業中的重要位置,為了達到吸引產業顧客進入其店面進行銷售,建立了全國性的連鎖商店,成為家電企業分銷活動中不可或缺的一部分。
嵌入式營銷不僅只在這三種價值鏈活動中運用,在其他的主體活動,以及支持活動中都可以采用。
五、小結
嵌入式營銷作為一種產業營銷的新思維,體現了顧客滿意、競爭導向和關系營銷的理念,其超越現有競爭空間,為顧客提供價值鏈增值服務,已達成穩固營銷關系的觀念,必將被越來越多的企業所踐行。
參考文獻:
[1]邁克爾·波特:競爭戰略[M].華夏出版社,2001
[2]格里·約翰遜凱萬·斯科爾斯王軍等譯:戰略管理[M].人民郵電出版社,2004
[3]菲利普·科特勒梅清豪譯:營銷管理(第11版)[M].上海人民出版社,2003
?? 嵌入式心得體會 ??
1 實時系統
實時系統是指數據產生時,能以足夠快的速度來進行處理,處理的結果能在規定的時間內來控制生產過程與處理系統,讓它做出極快的響應。在實時系統中,如果指定的時間沒有完成確定的任務,整個系統會全面失敗,這被稱為硬實時系統,反之,如果在指定的時間內沒有完成確定的任務,不會出現致命的錯誤就被稱為軟實時系統。
2 分時系統
分時系統是把時間劃為長短基本相同的時間片,操作系統輪流分配給各個作業使用,如果某個作業在時間片結束完成,這個作業被掛起,等下一輪循環再繼續使用,分時操作系統具有以下幾個特點:多路性,用戶通過各自的'終端可以同時使用一個系統;及時性,對于提出的要求,系統能在較短的時間內得到響應與處理;獨立性,雖然同一時間內可以多個用戶使用同一個CPU,但是用戶之間操作獨立,彼此不干涉。
3 嵌入式系統選型
選擇自己需要的嵌入式系統,可以從以下幾方面進行對比選擇。
3.1 進入市場時間
產品的進入時間與選擇的操作系統有很大的關系,實際的產品與演示的產品不同。一些高效推出的操作系統由于研發時間不夠、技術累積不夠,導致成本高、核心競爭能力差。比如WinCE操作系統,它就是在windows系統上作一定程度的改變,去掉一些不需要的功能,很快推出產品,結果實用時出現很多問題。
3.2 可移植性
通常來說,嵌入式系統的移植性越好,可在在不同平臺、不同系統上都能移植,那是處于最理想的狀態,然而實際運用中并不能達到這種理想狀態,如果過于強調移植性,那么會付出性能優化的代價。
3.3 可利用資源
嵌入式系統是以快速、低成本、高效率的推平適合用戶需要的一個系統平臺,而在這個平臺上能使用多少功能,需要使用第三方的產品,因此這個平臺上能使用多少第三方的產品是選型的一個重要條件,有些嵌入式系統為了滿足高性能、高可靠性的要求,使用比較封閉的操作系統,多數只能使用自己獨立
3.4 系統定制能力
用戶在使用嵌入式操作系統的時候,要求能定制不同的硬件平臺,比如會要求能否對系統提出底層的更動要求?能否定制出現能滿足自己需要、更有自己特色的系統、能否開放原代碼等等。
3.5 成本
選擇嵌入式操作系統,需要考慮成本的問題,比如一個系統是完全免費的,還是需要支付許可使用費等等,在這個選擇中,并不是免費的就是最好的,這要考慮到硬件設計人員的投入、公司的管理、第三方軟件的開發及使用,等等方面的問題,最后對成本作一個綜合考量。
3.6 語言內核支持
語言內核支持指操作系統能使用幾種語言操作,比如西文的、中文的,如果是可以使用中文操作,那么它是否支持雙字節編碼,是只支持簡體中文系統還是同時支持繁體系統,同時還要考慮中文輸入法與處理系統,語言內核的支持與第三方軟件資源的利用有非常重要的聯系。
?? 嵌入式心得體會 ??
首先,嵌入式系統是以應用為中心,以計算機技術為基礎,且軟硬件可裁減,適應應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。嵌入式有如下幾個突出的有點1.系統內核小,2專用性強,3系統精簡4高實時性OS5嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行,6嵌入式系統需要開發工具和環境。
嵌入式系統是近幾年才風靡起來的,但是這個概念并非新近才出現。從20世紀七十年代單片機(最早的單片機是Intel公司的 8048,出現在1976年)的出現到今天各式各樣的嵌入式微處理器,微控制器的大規模應用,嵌入式系統已經有了近30年的發展歷史。經過30年的發展,嵌入式技術已經日趨成熟,在中國嵌入式機一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用于實現對其他設備的控制、監視或管理等功能。
其次,嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。
嵌入式系統是軟硬結合的學科,通常有兩類人會去專研嵌入式:一類是學電子工程、通信工程等偏硬件專業的,另一類是學軟件、計算機專業出身的人,主要從事嵌入式操作系統和應用軟件的開發。
我是軟件專業的學習嵌入式,越是智能設備越是復雜系統,軟件越起關鍵作用,而且這是目前的趨勢。嵌入式應用在很多方面,具體的可以分為工業控制,交通管理,信息家電,家庭智能管理系統,POS網絡及電子商務,環境工程與自然,機器人,機電產品方面應用等方面。其中目前在服務領域,如遠程點菜器等已經體現了嵌入式系統的優勢。例外還有很多地方用到了嵌入式系統,最近飛利浦和ARM共同推出32位RISC嵌入式控制器,適用于工業控制,采用最先進的0.18微米CMOS嵌入式閃存處理技術,操作電壓可以低至1.2伏,它還能降低25%到30%的制造成本,在工業領域中對最終用戶而言是一套極具成本效益的解決方案。
首先我聲明,我是基于嵌入式系統平臺級設計的,硬件這個方向我相對來講比較有發言權,如果是其它方面所要具備的基本技能還要和我們培訓中心其它專業級講師溝通。他們的方面上我只能說是知道些,但不是太多,初級的問題也可以問我。
對于硬件來講有幾個方向,就單純信號來分為數字和模擬,模擬比較難搞,一般需要很長的經驗積累,單單一個阻值或容值的精度不夠就可能使信號偏差很大。因此年輕人搞的較少,隨著技術的發展,出現了模擬電路數字化,比如手機的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語功底很好的硬件工程師,在電路板調試過程中能通過自已編寫的測試程序對硬件功能進行驗證。然后再交給基于操作系統級的驅動開發人員。
?? 嵌入式心得體會 ??
嵌入式系統通常為一個資源受限的系統。直接在嵌入式系統的硬件平臺上編寫軟件比較困難,有時甚至是不可能的。目前,一般采用的辦法是,先在通用計算機上編寫程序,然后,通過交叉編譯,生成目標平臺上可運行的二進制代碼格式,最后下載到目標平臺上的特定位置上運行,具體步驟如下。
第一步,建立嵌入式Linux交叉開發環境。目前,常用的交叉開發環境主要有開放和商業兩種類型。開放的交叉開發環境的典型代表是GNU工具鏈,目前已經能夠支持x86、ARM、MIPS、PowerPC等多種處理器。商業的交叉開發環境主要有Metrowerks CodeWarrior、ARM Software Development Toolkit、SDS Cross compiler、WindRiver Tornado、Microsoft Embedded Visual C++等。交叉開發環境是指編譯、鏈接和調試嵌入式應用軟件的環境。它與運行嵌入式應用軟件的環境有所不同,通常采用宿主機/目標機模式。
第二步,交叉編譯和鏈接。在完成嵌入式軟件的編碼之后,就是進行編譯和鏈接,以生成可執行代碼。由于開發過程大多是在Intel公司x86系列CPU的通用計算機上進行的,而目標環境的處理器芯片卻大多為ARM、MIPS、PowerPC、DragonBall等系列的微處理器,這就要求在建立好的交叉開發環境中進行交叉編譯和鏈接。
第三步,交叉調試。
① 硬件調試。如果不采用在線仿真器,可以讓CPU直接在其內部實現調試功能,并通過在開發板上引出的調試端口,發送調試命令和接收調試信息,完成調試過程。目前,ARM公司提供的開發板上使用的則是JTAG調試端口。
② 軟件調試。在嵌入式Linux系統中,Linux系統內核調試,可以先在Linux內核中設置一個調試樁(debug stub),用作調試過程中和宿主機之間的通信服務器。然后,可以在宿主機中通過調試器的串口與調試樁進行通信,并通過調試器控制目標機上Linux內核的運行。
第四步,系統測試。整個軟件系統編譯過程,嵌入式系統的硬件一般采用專門的測試儀器進行測試,而軟件則需要有相關的測試技術和測試工具的支持,并要采用特定的測試策略。測試技術指的是軟件測試的專門途徑,以及能夠更加有效地運用這些途徑的特定方法。
?? 嵌入式心得體會 ??
2017年嵌入式系統題庫
嵌入式系統的核心是由一個或幾個預先編程好以用來執行少數幾項任務的微處理器或者單片機組成。下面是小編收集的嵌入式系統題庫,希望大家認真閱讀!
1:用C語言實現大小端的測試
Int CheckCpu()
{
union
{
int a;
char b;
}c;
c.a=1;
if(c.b==1)
printf(“小端”);
else printf(“大端”);
}
2:volatile的作用有哪些?
Volatile第一變量相當于告訴編譯器這個變量的值會隨時發生變化,每次使用之前都要去內存里從新讀取它的值,并不要隨意針對它做優化,主要用在:
1:一個中斷子程序中會訪問到的非自動變量;
2:多線程應用中被幾個線程共享的變量;
3:并行設備的硬件寄存器。
3:C語言中static關鍵字的作用有哪些?
1:在函數體中,一個被聲明為靜態的變量在這個變量在調用過程中維持其值不變;
2:在模塊內(但在函數體外),一個被聲明為靜態的變量,可以被這個模塊內的所用函數使用,但不能被模塊外的函數使用,它是一個本地的全局變量;
3:在模塊內,一個被聲明為靜態變量的函數,智能被這個模塊內的函數調用;
4:static全局變量與局部變量的'區別:static全局變量只能被初始化一次,防止其他單元文件中被引用;
5:static局部變量與局部變量的區別:static局部變量只能被初始化一次,下一次依據上一次結果的值;
6:static函數與普通函數的區別:static在內存中只用一份,普通函數在每一次調用中維持一份拷貝。
4:請問下面三種變量的區別:
Int const *p : 指向常整型的指針;
Int *const p; 指向整型的常指針;
Int *const *p: 指向常整型的常指針;
5:在ARM系統中,在函數調用的時候,參數是通過哪種方式傳遞的。
當參數小于等于4的時候是通過r0~r3來進行傳遞的,當參數大于4的時候是通過壓棧的方式進行傳遞。
6:中斷與異常有何區別.
異常在處理的時候必須考慮與處理器的時鐘同步,實際上異常也稱為同步中斷,在處理器執行到因編譯錯誤而導致的錯誤指令時,或者在執行期間出現特殊錯誤,必須靠內核處理的時候,處理器就會產生一個異常;所謂中斷是指外部硬件產生的一個電信號從CPU的中斷引腳進入,打斷CPU的運行。所謂異常是指軟件運行過程中發生了一些必須作出處理的事件,CPU自動產生一個陷入來打斷CPU的運行。
7:用預處理指令#define表示一年中有多少秒
#define SECONDS_PER_YEAR (60*60*24*365)UL
注意后面必須加UL,表示計算的結構是常整型。
8:簡述SPI,UART,I2C三種傳輸方式。
SPI:高速同步串行口,首發獨立,可同步進行
SPI接口主要應用在EEPROM,Flash,實時時鐘,A/D轉化器,數字信號處理,是一種全雙工同步通訊總線,該接口一般使用四條線:串行時鐘線(sck),主出從入線,主入從出線,低電平有效地的從機選擇線。
I2C協議:是單片機與其他芯片進行通訊的協議:1:只要求兩條總線線路,一條是串行時鐘線,一條是串行數據線; 2:通過軟件設定地址 3:是一個多主機總線,如果兩個或更多主機同時初始化數據傳送可通過沖突檢測和仲裁防止數據破壞; 4:I2C總線傳輸的是數據的總高位
UART:主要是由一個modem(調制解調器),可以將模擬信號量轉化成數字信號量。
9:中斷不能返回一個值,中斷不能傳遞參數。
10:嵌入式系統總要求用戶對變量或者寄存器進行位操作,給定一個整型變量a:
define BIT3 (oxo1<<3)
static int a ;
void set_bit3(void)
{
a|=BIT3;
}
void clear_bit3(void)
{
a&=~BIT3;
}
作為一個嵌入式程序員,這種程序是小菜一碟,至所以給出這個程序,是想規范大家寫程序方法,這里主要是用到了一個宏定義:BIT3 這樣的話就可以增加程序的可讀性
同時移植性也增強。
11:嵌入式系統中經常要求程序去訪問某特定內存的特點,在某工程中,要求設定一個絕對地址0x6799的整型變量的值為0xaa66.
Int *ptr;
ptr=(int*)0x67a9;
*ptr=aa66
12:引用和指針有什么區別?
1:應用必須初始化,指針不必;
2:引用處畫化后不能改變,指針可以被改變;
3:不存在指向空值的引用,但存在指向空值的指針;
13:全局變量與局部變量在內存中是否有區別,是什么區別?
全局變量存儲在靜態數據庫,局部變量存儲在堆棧;
14:寫出float,bool,int類型與零的比較,假設變量為X:
Int : if(x==0)
Float: if(x>0.0000001&&x<0.0000001)
Bool: if(x==false)
15:Intertnet采用哪種網絡協議,該協議的主要層次結構?
TCP/IP協議
應用層/傳輸層/網絡層/數字鏈路層/物理層。
16:IP地址有兩部分組成:網絡號和主機號
17:程序的局部變量存儲在(棧)中,全局變量存儲于(靜態存儲區),動態申請數據存儲于(堆中);
18:編寫一個字符串復制函數:strcpy(const char *str,const char *str1)
void strcpy(const *char str,const chat *str1)
{
if(*str1==’\0’) return;
char *sp1,*sp2;
sp1= str;
sp2=str1;
while(*sp2!=’\0’)
{
*sp1=sp2;
sp1++;
sp2++;
}
}
19:編寫一個函數實現字符串翻轉 void rechange(char *str)
void rechange(char *str)
{
Int len;
char t;
len=strlen(str);
for(int i=0;len/2;i++)
{
t=str[i];
str[i]=str[len-i-1];
str[len-i-1]=t;
}
}
20:編寫一個函數實現字符串比較 int strcmp(char *str1,char *str2),相等返回1,不相等返回0:
int strcmp(char *str1,char *str2)
{
if(*str1==‘\0’||*str2==’\0’) return;
while(*str1!=’\0’&&*str2!=’\0’&&*str1==*str2)
{
str1++;
str2++;
}
if(*str1==*str2)
return 1;
else return 0;
}
}
21:進程和線程的區別:
1:調度:線程作為調度和分配的基本單元,進程作為擁有資源的基本單位;
2:并發性:不僅進程可以并發執行,同一進程內的線程也可以并發執行。
3:擁有資源:進程是擁有資源的基本獨立單元,線程不擁有資源,但可以訪問進程內的資源;
4:在創建或撤銷線程時,由于系統都要為之分配和回收內存資源,導致系統的開銷明顯大于創建或撤銷線程時的開銷。
?? 嵌入式心得體會 ??
嵌入式處理器(Embedded Processor,EP)與通用處理器最大的區別就在于嵌入式處理器大多工作在為不同用戶群所設計的特定系統中,它常常將通用處理器中許多由板卡完成的功能集成到芯片內部,從而有利于實現嵌入式系統設計的微型化,同時又保證了較高的可靠性和處理效率。到目前為止,全球嵌入式處理器的種類已經超過1000多種,其中以ARM、MIPS、Power PC、Motorola 68K、X86等體系結構最為常見,一般將嵌入式處理器分成以下四類:
1)嵌入式微控制器 (Microcontroller Unit,MCU);
2)嵌入式微處理器 (Embedded Microprocessor Unit,EMPU);
3)嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP);
4)片上系統(System On Chip,SOC)。
一般在嵌入式系統設計中常用的嵌入式微處理器和體系結構主要有以下幾種:
1) ARM
ARM(Advanced RISC Machines)公司是全球著名的16/32位精簡指令集計算機RISC(Reduced Instruction Set Computer)處理器設計供應商,通過提供高性能與低功耗的RISC處理器芯片設計技術給各個生產廠商來生產滿足不同應用領域要求的芯片。事實上,由于ARM處理器一方面支持16位的Thumb指令集和32位的ARM指令集,另一方面使用了大量的寄存器和靈活的尋址方式來提高系統執行的效率,所以ARM處理器技術已經成為數字通信、工業控制、多媒體家電等嵌入式應用領域的RISC標準。ARM系列處理器種類很多,目前市場上應用最為廣泛的是ARM9和ARM10系列處理芯片。ARM9處理器由于擁有了五級流水線結構和自帶MMU功能,廣泛應用于手持終端和無線通訊等領域。ARM10處理器由于采用了更高的六級流水線結構和支持DSP指令以及支持64位的AMBA總線接口[5],其性能較ARM9有了很大的提高,廣泛應用于手持PDA以及車載電子等高端領域。
2) MIPS
MIPS(Microprocessor without Interlocked Pipeline Stages)簡稱無內部互鎖流水級的微處理器,是美國MIPS技術公司推出的一種基于RISC架構的高性能高檔次的處理器內核。MIPS采用了先進的設計理念和清晰的系統結構,強調軟硬件協同工作以提高處理器性能,同時簡化了硬件設計,采用軟件方法來避免流水線運行中的數據相關問題。雖與ARM處理器相比,MIPS體系結構的處理器功耗要高些,但它具備了從32位低端產品到64位高端產品的完整解決方案,而且在知識產權的授權費用上MIPS要低于ARM,因此,MIPS內核逐漸被越來越多的消費類電子產品和工業控制產品的設計所采用。
3) Power PC
PowerPC(Performance optimization with Enhanced RISC performance Computing)簡稱性能優化與增強的RISC性能計算,是由IBM、Motorola和Apple公司聯合開發的一款高性能32/64位RISC處理器,其主要特點是可伸縮性好,方便靈活和較高的性價比。常見的基于Power PC架構的處理器有IBM公司的Power PC64S(深藍內部的CPU)、Power PC750、Power PCG3以及Motorola公司的MC和MPC系列等。目前,基于Power PC體系結構的'處理器廣泛應用于桌面PC系統、移動PC系統、嵌入式系統以及金融電信等行業。
4) Motorola 68K
Motorola 68K采用復雜指令集計算機CISC(Complex Instruction Set Computer)架構[8],是出現比較早的嵌入式處理器,在全球的各種嵌入式處理器應用領域中取得了巨大成功。曾經Sun微計算機公司把這款處理器應用于早期的產品開發中。
5) X86
X86系列處理器起源于Inter架構的8080,然后發展出286、386、486直到現在的奔騰處理器乃至雙核處理器。從嵌入式市場分布來看,486DX也是與ARM、68K、MIPS、SuperH齊名的五大嵌入式處理器之一。目前市場上基于X86體系結構的PC104產品占有很大的市場份額。
?? 嵌入式心得體會 ??
一、嵌入式系統開發與應用概述
在今日,嵌入式ARM 技術已經成為了一門比較熱門的學科,無論是在電子類的什么領域,你都可以看到嵌入式ARM 的影子。如果你還停留在單片機級別的學習,那么實際上你已經落下時代腳步了,ARM 嵌入式技術正以幾何的倍數高速發展,它幾乎滲透到了幾乎你所想到的領域。本章節就是將你領入ARM 的學習大門,開始嵌入式開發之旅。以嵌入式計算機為技術核心的嵌入式系統是繼網絡技術之后,又一個IT領域新的技術發展方向。由于嵌入式系統具有體積小、性能強、功耗低、可靠性高以及面向行業具體應用等突出特征, 目前已經廣泛地應用于軍事國防、消費電子、信息家電、網絡通信、工業控制等各個領域。嵌入式的廣泛應用可以說是無所不在。
嵌入式微處理器技術的基礎是通用計算機技術。現在許多嵌入式處理器也是從早期的PC 機的應用發展演化過來的,如早期PC 諸如TRS-80、Apple II 和所用的Z80 和6502 處理器,至今仍為低 端的嵌入式應用。在應用中,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。嵌入式處理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM 等系列。
在早期實際的嵌入式應用中,芯片選擇時往往以某一種微處理器內核為核心,在芯片內部集成必要的ROM/EPROM/Flash/EEPROM、SRAM、接口總線及總線控制邏輯、定時/計數器、WatchDog、I/O、串行口、脈寬調制輸出、A/D、D/A 等各種必要的功能和外設。
二、實習設備
硬件:Embest EduKit-IV實驗平臺、ULINK2仿真器套件、PC機
軟件:mu;Vision IDE for ARM集成開發環境、Windows 98//NT/XP
三、實習目的
1.初步掌握液晶屏的使用及其電路設計方法;掌握S3C2410X處理器的LCD控制器的使用;掌握通過任務調用的方法把液晶顯示函數添加到uC/OS-II中;通過實驗掌握液晶顯示文本及圖形的方法與程序設計。
2.了解S3C2410X處理器UART相關控制寄存器的使用; 熟悉ARM處理器系統硬件電路中UART接口的設計方法:掌握ARM處理器串行通信的軟件編程方法。
3.掌握有關音頻處理的基礎知識;通過實驗了解IIS音頻接口的工作原理;通過實驗掌握對處理器S3C2410X中IIS模塊電路的控制方法;通過實驗掌握對常用IIS接口音頻芯片的控制方法。
4.了解mu;C/OS-II移植條件和內核基本結構;掌握將mu;C/OS-II內核移植到ARM9處理器上的方法和步驟。
四、實習要求
通過對mu;C/OS-II移植實驗、mu;C/OS-II LCD顯示實驗、串口通信實驗、IIS音頻實驗、液晶顯示實驗的學習,并將各部分內容合并,最終得出實習結果,實習要求在鍵盤上輸入學號,在液晶顯示屏上顯示相應的學生信息。學生信息包括顯示每個人的照片和姓名系別等,并用鍵控設置學生輸出的順序,輸入學號就顯示那個學生的信息,然后過一段時間就順序循環播放。
移植mu;C/OS-II內核到ARM處理器S3C2410,在IDE中觀察其運行狀況編寫S3C2410X處理器的串口通信程序;監視串行口UART1動作;將從UART1接收到的字符串回送顯示。將從UART1接收到的字符串回送顯示。
通過使用Embest EduKit-IV實驗板的彩色液晶屏(800*480)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,并編寫任務函數在uC/OS-II系統中實現位圖顯示。在uC/OS-II中建立五個任務Tast1和Tast2,其中Tast1順序熄滅四個LED,延遲一會在順序點亮四個LED。Tast2在LCD屏幕上循環顯示三幅圖片,并打印一些文字信息和背景音樂。過使用Embest EduKit-III實驗板的256 色彩色液晶屏(320x240)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,并編寫程序實現:畫出多個矩形框;顯示ASCII字符;顯示漢字字符;顯示彩色位圖。
五、實習步驟
1. 準備實驗環境
使用ULINK2仿真器連接Embest EduKit-IV實驗平臺的主板JTAG接口;使用Embest EduKit-IV實驗平臺附帶的交叉串口線,連接實驗平臺主板上的COM2和PC機的串口(一般PC只有一個串口,如果有多個請自行選擇,筆記本沒有串口設備的可購買USB轉串口適配器擴充);使用Embest EduKit-IV實驗平臺附帶的電源適配器,連接實驗平臺主板上的電源接口。
2. 串口接收設置
在PC機上運行windows自帶的超級終端串口通信程序,或者使用實驗平臺附帶光盤內設置好了的超級終端,設置超級終端:波特率115200、1位停止位、無校驗位、無硬件流控制,或者使用其它串口通信程序。(注:超級終端串口的選擇根據用戶的PC串口硬件不同,請自行選擇,如果PC機只有一個串口,一般是COM1)
3. 打開實驗例程
1)打開實驗程序
2)運行mu;Vision IDE for ARM軟件
3)默認打開的工程在源碼編輯窗口會顯示實驗例程的說明文件readme.txt,詳細閱讀并理解實驗內容。
4)工程提供了兩種運行方式:一是下載到SDRAM中調試運行,二是固化到Nor Flash中運行。用戶可以在工具欄Select Target下拉框中選擇在RAM中調試運行還是固化Flash中運行。下面實驗將介紹下載到SDRAM中調試運行,所以我們在Select Target下拉框中選擇UART_Test IN RAM。
5)接下來開始編譯鏈接工程,在菜單欄“Projiet”選擇“Build target”或者“Rebuild all target files”編譯整個工程。
6編譯完成后,在輸出窗口可以看到編譯提示信息,比如““.SDRAMUART_Test.axf” - 0 Error(s), 1 Warning(s).”,如果顯示“0 Error(s)”即表示編譯成功。
7)撥動實驗平臺電源開關,給實驗平臺上電,單擊菜單欄Debug->Start/Stop Debug Session項將編譯出來的映像文件下載到SDRAM中,或者單擊工具欄“”按鈕來下載。
8)下載完成后,單擊菜單欄Debug->Run項運行程序,或者單擊工具欄“”按鈕來全速運行程序。用戶也可以使用進行單步調試程序。
9)全速運行后,用戶可以在超級終端看到程序運行的信息。
10)用戶可以Stop程序運行,使用mu;Vision IDE for ARM的一些調試窗口跟蹤查看程序運行的`信息。 注:如果在第4)步用戶選擇在Flash中運行,則編譯鏈接成功后,單擊菜單欄Flash->Download項將程序固化到NorFlash中,從實驗平臺的主板拔出JTAG線,給實驗平臺重新上電,程序將自動運行。
部分程序圖:
串口通信實驗:
IIS音頻實驗:
六、實習體會
在嵌入式系統中,除了課本上的基礎知識外,還學會了軟件編程的基本思路,掌握了液晶屏的使用及其電路設計方法;掌握有關音頻處理的基礎知識;掌握液晶顯示文本及圖形的方法與程序設計。
通過這次設計,掌握了液晶顯示實驗、mu;C/OS-II移植、mu;C/OS-IILCD顯示的工作原理及串口通信實驗的工作過程,學會了使用仿真軟件Embest EduKit-IV實驗平臺及ULINK2仿真器套件,并學會通過應用軟件仿真來實現各種通信系統的設計,對以后的學習和工作都起到了一定的作用,加強了動手能力和學業技能。雖然花了很長時間編寫軟件程序設計,但這一切還是理論上的。希望學校能提供機會和條件,讓我們能夠去真正地將理論和實踐相結合。通過這次程序,感覺自己所掌握的知識是那么的有限,還有許多需要改進和不足的地方,同時也幫助了我怎樣學好這門課程,增加了我對這門學科的興趣??傮w來說,這次實習我受益匪淺。在摸索該如何設計電路使之實現所需功能的過程中特別有趣,培養了我的設計思維,增加了實際操作能力。在讓我體會到了設計電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。通過這次實習通信系統的設計,使我更加清楚以后的發展及學習的方向。
最后感謝老師這個學期的指導和幫助!
七、參考文獻
《ARM9嵌入式系統設計與開發應用》熊茂華、楊震倫編著 清華大學出版社
《ARM9嵌入式系統設計與開發教程》于明編著 電子工業出版社
《Linux嵌入式系統教程》馬忠梅 北京航空航天大學出版社
?? 嵌入式心得體會 ??
這學期才接觸嵌入式系統感覺還稱不上入門,我通過學習知道了嵌入式的發展前景很大,各個領域都用到了嵌入式,學好嵌入式不愁沒飯吃。
廣義上講,凡是帶有微處理器的專用軟硬件系統都是嵌入式系統。如各類單片機和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 的代碼等等,麻雀雖
小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。
以上就是我在本學期學習嵌入式后的心得及感想。
文章來源:http://www.lipstick2017.com/youxiuzuowen/125770.html
’||*str2==’id="article-content1">
嵌入式心得體會(分享十三篇)
發表時間:2018-05-06 嵌入式心得體會(分享十三篇)。
?? 嵌入式心得體會 ??
一、嵌入式的概述:
隨著信息化技術的發展和數字化產品的普及,以計算機技術、芯片技術和軟件技術為核心的嵌入式系統再度成為當前研究和應用的熱點,通信、計算機、消費電子技術(3C)合一的趨勢正在逐步形成,無所不在的網絡和無所不在的計算(everything connecting, everywhere computing)正在將人類帶入一個嶄新的信息社會。
二、實習目的
學習和了解了嵌入式在生活中的重要作用和發展過程,熟練掌握ARM硬件體系結構,熟悉linux下的嵌入式編程流程,積累自己的軟件編寫經驗,能夠參與并實現一個真實和完整的嵌入式項目,為今后的學習和將從事的技術工作打下堅實的基礎
三、實習任務
第一階段Linux操作和編程基礎
主要介紹Linux的基本命令和基礎編程知識,包括Linux的文件操作和目錄操作命令,VI編輯器,GCC編譯器,GDB調試器和Make項目管理工具等知識。
第二階段 嵌入式C語言編程基礎
主要介紹在嵌入式開發編程中C語言的重要概念和編程技巧中的重點難點,以復習串講和實例分析的形式,重點介紹包括函數與程序結構,指針、數組和鏈表,庫函數的使用等知識。
第三階段Linux上C強化編程訓練
主要包括整數算法訓練,遞歸和棧編程訓練,位操作訓練,指針訓練,字符串訓練和常用C庫函數編程接口實踐,強化學員對Linux下基本編程開發的理解和編碼調試的能力。
第四階段 Linux環境高級編程及項目開發編程實踐
主要包括系統編程(信號/系統調用/管道/FIFO/消息隊列/共享內存等),文件I/O編程(文件描述符/文件讀寫接口/原子操作/阻塞與非阻塞IO等,多任務和多線程編程(進程標識/ 用戶標識/fork與vfork/多線程概念/線程同步等),網絡編程(網絡基本概念/套接口編程/網絡字節次序/Client/Server結構/UDP編程);掌握Linux下Socket編程的開發流程,熟悉網絡編程的調用接口函數和相關數據結構,使學員初步具備在Linux上進行系統編程開發的能力。同時綜合之前所學內容和編程技術,以小組為單位進行一個團隊合作項目的開發,考核內容包括文件I/O編程,多線程編程,網絡編程和項目文檔編寫。
第五階段嵌入式處理器體系結構及編程實踐
主要介紹ARM體系結構及其基本編程知識,包括指令分類,尋址方式、指令集、存儲系統、異常中斷處理、匯編語言以及CC++和匯編語言的混合編程等知識。同時結合ARM嵌入式開發板硬件設計原理和基本硬件設計流程,分析各種外設的工作原理和驅動機制,并自己動手實踐完成一個ARM開發板上的編程大作業。
第六階段嵌入式Linux開發基礎及高級應用
主要介紹嵌入式Linux開發應用程序的基本流程和知識,包括嵌入式Linux基本概念和開發流程、Bootloader工作原理、內核裁減配置和交叉編譯、根文件系統制作、網絡編程以及圖形界面和數據庫開發等知識。同時獨立完成一個基于嵌入式Linux GUI的應用編程大作業。
第七階段嵌入式 Linux驅動理論及驅動程序開發實踐
主要介紹嵌入式Linux上驅動程序開發規范,包括設備驅動程序概念、字符設備驅動程序、塊設備與網絡設備、網卡驅動以及常用嵌入式設備驅動開發等知識。同時獨立實現兩種嵌入式設備驅動程序的編寫,包括驅動模塊的調試和加載以及完整的項目開發文檔的編寫。
第八階段嵌入式Linux項目團隊開發實踐鍛煉
主要包括設計并實現一個真實和完整的嵌入式項目的開發流程,涉及到數據采集、網絡通訊、圖形用戶界面顯示以及嵌入式數據庫存儲系統等多種嵌入式Linux編程技術。要求學員建立起團隊開發和協同工作的企業項目開發模式的概念和流程,強化學員對編寫項目概要設計文檔和詳細設計文檔的理解,為就業前的職業技能和素質訓練做好充分準備。
四、實習內容
1、 嵌入式的歷史與現狀
雖然嵌入式系統是近幾年才開始真正風靡起來的,但事實上嵌入式這個概念卻很早就已經存在了,從上個世紀70年代單片機的出現到今天各種嵌入式微處理器、微控制器的廣泛應用,嵌入式系統少說也有了近30年的歷史??v觀嵌入式系統的發展歷程,大致經歷了以下四個階段:
無操作系統階段
嵌入式系統最初的應用是基于單片機的,大多以可編程控制器的形式出現,具有監測、伺服、設備指示等功能,通常應用于各類工業控制和飛機、導彈等武器裝備中,一般沒有操作系統的支持,只能通過匯編語言對系統進行直接控制,運行結束后再清除內存。這些裝置雖然已經初步具備了嵌入式的應用特點,但僅僅只是使用8位的CPU芯片來執行一些單線程的程序,因此嚴格地說還談不上"系統"的概念。
這一階段嵌入式系統的主要特點是:系統結構和功能相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由于這種嵌入式系統使用簡便、價格低廉,因而曾經在工業控制領域中得到了非常廣泛的應用,但卻無法滿足現今對執行效率、存儲容量都有較高要求的信息家電等場合的需要。
?? 嵌入式心得體會 ??
嵌入式是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。由于嵌入式系統通常具有低功耗、體積小、集成度高等特點,因此隨著消費家電的智能化和廉價微處理器的.出現,嵌入式系統將在日常生活里形成更大的應用領域。嵌入式就業前景良好,嵌入式人才社會需求量大。
嵌入式就業前景分析-嵌入式軟件開發應用領域
嵌入式系統是當前最熱門、最具發展前途的IT應用領域之一。包括手機、電子字典、可視電話、數字相機、數字攝像機、U-Disk、機頂盒、高清電視、游戲機、智能玩具、交換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等都是典型的嵌入式系統。因此,通過嵌入式培訓成為專業的嵌入式技術人才,嵌入式就業前景也非常好,其職業發展空間較大。
嵌入式就業前景分析-嵌入式軟件開發人才需求
目前國內嵌入式人才極度匱乏,權威部門統計,我國目前嵌入式軟件人才缺口每年為40萬人左右。供不應求使得嵌入式人才身價上漲,而且,越有專業經驗,就業競爭力就越大。因此,IT專業人士通過培訓掌握嵌入式技術,就能成為炙手可熱的專業人才,其培訓回報有保障。
嵌入式就業前景分析-嵌入式軟件開發就業方向
由于大唐各約嵌入式技術支持工程師都高居前五位。
?? 嵌入式心得體會 ??
嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。按照行業細分,嵌入式產品主要分布在消費類電子、通信、醫療、安全等行業。嵌入式軟件產業發展迅猛,已成為軟件體系的重要組成部分。嵌入式系統產品正不斷滲透各個行業,作為包含在這些硬件產品中的特殊軟件形態,其產業增幅不斷加大,而且在整個軟件產業的比重日趨提高。從2003到2006年,全球嵌入式軟件市場規模均復合增長率達到30%。
據預測,在未來的幾年內,嵌入式系統的發展為幾乎所有的電子設備注入了新的活力,加上迅速發展的Internet和廉價的微處理器出現,嵌入式系統將在我們的日常生活里形成一個更大的應用領域。據調查,上海地區嵌入式系統開發涉及的行業眾多,但多數停留在8位單片機開發層面,僅有部分企業開始采用32位處理器和實時操作系統(RTOS,Real Time Operating System)。然而,國內能夠同時進行軟件設計和芯片設計的SoC系統設計的高端人才幾乎沒有,國際上領先的多核嵌入式系統設計,可重構嵌入式系統設計在國內的應用也還停留在少數科研機構的研究課題中。
人才需求
搜索“linux”,更可以獲得近2000條記錄。從這些職位上看,市場上需要的嵌入式人才必須具備C語言編程經驗、嵌入式操作系統(嵌入式Linux)、具有內核裁剪經驗、具有驅動程序開發經驗。這些都是在學校無法學到的知識。
嵌入式系統人才的匱乏已成為眾多企業的共識,而嵌入式系統幾乎無所不在的`應用領域使其成為一項極具發展潛力的產業,人才的匱乏已成為其發展的瓶頸,企業紛紛抱怨月薪過萬元卻招不到一個合適的嵌入式系統人才。產業的發展趨勢是,越來越多的智能設備的系統趨于復雜,軟件將發揮起關鍵作用,當前業界非常缺乏的就是軟硬件技術兼具的人才。另據權威部門統計,我國嵌入式軟件人才缺口每年為60萬人左右。
以嵌入式領域的3G為例,目前我國的3G核心人才不足萬人,基本上都受雇在幾個運營商和設備廠商。市場急需的嵌入式開發人才以及3G時代所需的增值業務開發人才非常搶手。業內人士認為,至少出現30-50萬的人才缺口,其中嵌入式15萬,移動增值可能35萬。隨著車載電子應用、手持娛樂終端在國內的普及,國內外企業紛紛加大了對嵌入式業務的投入,相關人才需求也逐漸加大。2012年3月,據英才網指數統計顯示,計算機/信息服務共提供82069個空缺職位,占當月所有空缺職位總數的30.37%,排名第一。從這些職位上看,市場上需要的嵌入式人才必須具備C語言編程經驗、嵌入式操作系統(嵌入式Linux)、內核裁剪經驗、驅動程序開發經驗。而這些都是企業用人的標準。盡管很多大學的電子、計算機專業都開設了程序設計、微機原理、單片機等課程,但高校輸送的人才與企業需要的人才卻始終沒有對應上。事實上,這個缺口就是由于缺少系統的學習和項目經驗。企業需要的人才是知識+技能+職業素養,而大多數畢業生缺乏的是實戰技能與綜合素質的培訓。嵌入式軟件開發人才的缺乏也帶來了這個行業可觀的薪酬待遇,嵌入式軟件的從業者薪酬比其他IT業同行大約高出50%。
應用前景
一些先進的PDA在顯示屏幕上已實現漢字寫入、短消息語音發布,日用范圍也將日益廣闊。對于企業專用解決方案,如物流管理、條碼掃描、移動信息采集等,這種小型手持嵌入式系統將發揮巨大的作用。自動控制領域,不僅可以用于ATM機,自動售貨機,工業控制等專用設備,和移動通訊設備結合、GPS、娛樂相結合,嵌入式系統同樣可以發揮巨大的作用。
嵌入式系統是研究的熱點。在研究的同時,我們也可以發現由于嵌入式系統并不是突然出現的,對于微處理器應用的研究和硬件系統的研究已經有了一個很長時間的發展歷史。所以無論是從硬件方面還是軟件方面我們都很容易獲得研發的資料。
硬件方面,不僅有各大公司的微處理器芯片,還有用于學習和研發的各種配套開發包。低層系統和硬件平臺經過若干年的研究,已經相對比較成熟,實現各種功能的芯片應有盡有。而且巨大的市場需求給我們提供了學習研發的資金和技術力量。
從軟件方面講,也有相當部分的成熟軟件系統。國外商品化的嵌入式實時操作系統,已進入我國市場。我國自主開發的嵌入式系統軟件產品如嵌入式軟件開發平臺DeltaSystem,它不僅包括DeltaCore嵌入式實時操作系統,而且還包括LamdaTools交叉開發工具套件、測試工具、應用組件等;此外,中科院也推出了Hopen嵌入式操作系統(雖然還不夠完善)。
?? 嵌入式心得體會 ??
首先,我們學習的課本是嵌入式系統應用教程。我學習的體會是這樣的:開始時,由于是剛剛入門,對老師書的好多東西是好奇的,好多名詞也是新鮮的,不過不太懂什么意思。但是慢慢的,了解的深入讓我有了更深的感觸和體會。
在嵌入式的學習過程中,讓我了解了什么是嵌入式系統。它就是以應用為中心,以計算機技術為基礎,軟硬件可定制,適用于不同應用場合,對功能、可靠性、成本、體積、功耗有嚴格要求的計算機系統。他一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統、用戶應用程序四個部分組成,用于實現對其他設備的控制、監視或管理功能。嵌入式系統已經應用于科學研究、工業控制、軍事技術、交通通信、醫療衛生、消費娛樂等領域,人們日常使用的手機、PDA、汽車、智能家電、GPS等均是嵌入式系統的典型代表。
一開始我們就學習嵌入式的系統的基礎部分,那很簡單,就是一些定義或是介紹之類的。在進入第二章時,就開始學習了嵌入式開發過程中的主要操作系統——linux,在接下來的課程中,我發現嵌入式的學習過程還是蠻有趣的。在對linux的學習中,我們對它有了一點點的了解,接著就是學習一虛擬機的方式安裝linux。對我來說有趣的就是安裝的過程了,首先我們跟著老師的腳步走,學會了怎么安裝,在自己動手進行對它的安裝,這個過程是簡單而有趣的。這樣的開始讓我對它充滿了興趣,也對以后的學習充滿了信心。
其次就是安裝好了之后,老師就更深一步的教我們應用了。在這是老師首先交給我們的是一些簡單的命令應用,Linux具有很豐富的命令,絕大多數命令具有大量的參數。
在學習命令的過程中,只要你認真的看著老師操作還有認真聽著他講,你就會發現有些命令的操作還是很簡單的,不過在操作的過程中,我也有遇到有些困難,會出現你按照書上學習的例子,將命令輸入終端時會出現你不想要的結果,也就是錯誤的結果。這是問問旁邊的同學或是懂的同學就可以解決了。
在對于這部分的學習中,讓我知道了命令對于嵌入式的重要性。它是linux的重要內容,linux中所有的功能都是通過命令執行。在實際應用中,為了減少系統開銷,經常不使用圖形界面,此時,對系統的所有操作都需要以命令方式來執行。在嵌入式系統開發過程中,由于目標機的性能和配置比較低,因此,一般情況下目標機僅具有命令窗口而沒有圖形界面,對目標機的所有操作都通過命令來實現。
還有的那就是進一步學習與嵌入式系統開發相關的linux的服務,他們的啟動、設置等的操作和應用。而在學習之中,我們主要介紹的是嵌入式系統中開發工程使用的TFTP、Telent和NFS服務。第一個實現的事上機位與下機位之間文件的傳輸、無磁盤網絡的設備的啟動等功能;第二個實現的事遠程登錄功能;第三個實現的是網絡文件系統功能。
從以上的內容之中,并不難感受到我們的學習過程是由淺入深的,這對于我們的學習也有了較好的幫助。
當然,我們學習的不僅僅是這么幾個內容,其中還有相關的實驗內容。在我們基礎的學習的過程之中,我有了這么一點的感受,總的來說就是概念加專業名詞還有介紹加實驗。不過你絕對不能小看那些概念和介紹,它對我們有著很重要的指導作用哦!實驗那就更不用說了,它提高我們的動手能力,在實驗的過程中還能讓你更加理解書中的理念,這就是我學習嵌入式的感受。
?? 嵌入式心得體會 ??
職責描述:
1.負責基于linux或qnx的汽車智能駕駛座艙軟件的'中間件開發與調試;
2.配合團隊進行其他項目開發。
任職要求:
1.全日制統招本科及以上學歷,電子、計算機、軟件工程或相關專業;
2.3年以上相關工作經驗;
3.精通c/c++及其相關標準庫,熟悉mvc設計模式,具備多線程編程的實際經驗;
4.熟悉網絡通訊原理,了解主流rpc技術,具備socket編程或其他相關網絡編程經驗,了解流媒體相關技術;
5.掌握嵌入式圖形編程技術,有opengl/gles經驗者優先;
6.對開源項目有一定研究能力,并有實際集成經驗者優先。
7.專業基礎扎實,熱衷技術,對汽車行業感興趣。
?? 嵌入式心得體會 ??
關于嵌入式營銷的論文
[摘要]隨著營銷實踐的發展,營銷理念也在不斷地推進與創新。嵌入式營銷便是一種基于顧客價值鏈的產業營銷新思維,其體現了現代營銷的三個核心理念:顧客滿意、競爭導向和關系營銷。本文將從嵌入式營銷的核心理念、一般程序、基本方式和主要特征入手,探討嵌入式營銷的理論結構。
[關鍵詞]嵌入式營銷關系營銷價值鏈產業營銷
一、嵌入式營銷的核心理念
嵌入式營銷是一種基于顧客價值鏈的新型產業營銷方式,在對產業顧客價值鏈分析的基礎上,綜合考慮顧客需求和競爭對手的行動,尋找企業資源能力與顧客盈利模式之間獨特的價值匹配,并將其嵌入到顧客的價值鏈上,使營銷活動成為顧客創造價值的不可或缺的一部分,從而建立長期穩定的營銷關系。
嵌入式營銷體現了現代營銷中的顧客滿意、競爭導向和關系營銷三個核心理念。第一,嵌入式營銷關注顧客滿意,在保證顧客滿意的基礎上,提供價值鏈增值服務;第二,嵌入式營銷在為顧客提供附加價值的同時,需要考慮競爭者的反應與行動,只有采取與競爭者不同的營銷活動才能達到嵌入式營銷的目的;第三,嵌入式營銷是注重關系的營銷新思維,將自身的營銷活動嵌入到顧客的價值鏈中,有利于企業與顧客建立起長久且穩定的營銷關系。在嵌入式營銷所涉及的三種營銷理念中,關系營銷居于核心地位,嵌入式營銷的實質是要與顧客建立一種顧客穩固的營銷關系。
二、嵌入式營銷的主要特征
嵌入式營銷作為一種產業營銷新思維,有其區別于一般營銷方式的一些特征,下面闡述了嵌入式營銷的主要特征:
1.嵌入式營銷為顧客提供新屬性新價值,創規則而非守規則,從了解顧客到教育顧客,從迎合市場到顛覆市場。
2.嵌入式營銷超越了現有的市場邊界和競爭空間,為顧客提供價值的同時,把自己的營銷活動深入到顧客的價值鏈上,成為其創造價值的不可或缺的一部分。
3.嵌入式營銷是一種針對產業市場顧客的營銷方式,因為只有產業顧客才可以分析其價值鏈活動。其方法并不適用于對消費者的營銷,但是他的一些理念也可以為消費者營銷提供參考。
4.嵌入式營銷注重長期穩定的營銷關系的建立。
三、嵌入式營銷的一般程序
1.分析產業顧客的價值鏈活動,尋找與企業資源能力相匹配的獨特價值。
2.分析顧客滿意因素和競爭對手的反應與活動。
3.創造獨特價值并嵌入到顧客價值鏈中。
4.評價嵌入式營銷,保持或創新嵌入式營銷的營銷活動,以維持與顧客的營銷關系。
四、嵌入式營銷的基本方式
價值鏈是企業通過經營活動創造更高價值的系統,這些創造價值的活動可以分為兩類:基本價值活動和輔助價值活動,價值鏈的兩大部分各個環節之間相互影響、相互關聯,一個環節經營管理的好壞影響到其他環節的成本和效益。嵌入式營銷正是通過分析產業顧客的價值鏈,找到顧客價值鏈中與企業可以匹配的地方,將企業的營銷活動深入到顧客價值鏈中,以建立長期穩定的營銷關系。這其中以嵌入內部后勤、運營、市場營銷最為典型,下面將就其具體方式一一闡述。
1.嵌入式營銷——嵌入顧客內部后勤。所謂嵌入顧客內部后勤的嵌入式營銷是指分析產業顧客在其產品投入品的進貨、倉儲和分配等有關活動,將自己的營銷活動與之相結合的營銷方式。例如:安富利電子元件部獲得海爾的庫存所有權,成為其供應鏈的'合作伙伴正是借助了嵌入式營銷的力量。安富利電子元件不僅為海爾提供所需要的電子元件,更為重要的是其增值的供應鏈服務,為海爾提供定期的庫存分析,按需要進行自動補給,以確保庫存時刻保持在最佳水平。安富利正是抓住了這些本來是由海爾自己來解決的內部后勤問題將自己的營銷活動嵌入到海爾的價值鏈中,成為海爾創造價值的一部分,從而結成穩定的合作關系。
2.嵌入式營銷——嵌入顧客運營。在營銷過程中將營銷活動嵌入到產業顧客價值鏈中的運營環節,就是嵌入顧客運營的嵌入式營銷。例如著名的第三方檢驗機構——廣州金域的發展歷史,金域公司本是一家生產乙肝檢測試劑的廠家,為了避免與眾多競爭對手的價格戰,通過分析醫院的產業價值鏈發現只有少數醫院才有試劑最終的檢測儀器,大量的醫院在使用了試劑之后都要通過其他機構進行最終檢測。金域公司就買進一臺檢測儀器,在銷售其檢測試劑的同時保證為醫院免費提供檢測,這樣不僅吸引了大量的顧客,而且自己所提供的服務成為醫院價值鏈中運營活動的一部分,建立了穩定的供貨關系,最終確立了其在行業中的領先地位?,F在金域公司已經成為了一家專業的第三方檢驗機構。
3.嵌入式營銷——嵌入顧客營銷活動。嵌入顧客營銷活動的嵌入式營銷是指通過分析產業顧客的價值鏈,將企業的營銷活動和顧客的價值鏈中的市場營銷相結合,和顧客的產品收集、儲存、散發和購買等活動相聯系,比如產品庫存、搬運、銷售渠道選擇等等。在這方面的一個典型例子是各種專業的連鎖店,比如國美,通過分析家電企業的價值鏈,得出銷售渠道在家電企業中的重要位置,為了達到吸引產業顧客進入其店面進行銷售,建立了全國性的連鎖商店,成為家電企業分銷活動中不可或缺的一部分。
嵌入式營銷不僅只在這三種價值鏈活動中運用,在其他的主體活動,以及支持活動中都可以采用。
五、小結
嵌入式營銷作為一種產業營銷的新思維,體現了顧客滿意、競爭導向和關系營銷的理念,其超越現有競爭空間,為顧客提供價值鏈增值服務,已達成穩固營銷關系的觀念,必將被越來越多的企業所踐行。
參考文獻:
[1]邁克爾·波特:競爭戰略[M].華夏出版社,2001
[2]格里·約翰遜凱萬·斯科爾斯王軍等譯:戰略管理[M].人民郵電出版社,2004
[3]菲利普·科特勒梅清豪譯:營銷管理(第11版)[M].上海人民出版社,2003
?? 嵌入式心得體會 ??
1 實時系統
實時系統是指數據產生時,能以足夠快的速度來進行處理,處理的結果能在規定的時間內來控制生產過程與處理系統,讓它做出極快的響應。在實時系統中,如果指定的時間沒有完成確定的任務,整個系統會全面失敗,這被稱為硬實時系統,反之,如果在指定的時間內沒有完成確定的任務,不會出現致命的錯誤就被稱為軟實時系統。
2 分時系統
分時系統是把時間劃為長短基本相同的時間片,操作系統輪流分配給各個作業使用,如果某個作業在時間片結束完成,這個作業被掛起,等下一輪循環再繼續使用,分時操作系統具有以下幾個特點:多路性,用戶通過各自的'終端可以同時使用一個系統;及時性,對于提出的要求,系統能在較短的時間內得到響應與處理;獨立性,雖然同一時間內可以多個用戶使用同一個CPU,但是用戶之間操作獨立,彼此不干涉。
3 嵌入式系統選型
選擇自己需要的嵌入式系統,可以從以下幾方面進行對比選擇。
3.1 進入市場時間
產品的進入時間與選擇的操作系統有很大的關系,實際的產品與演示的產品不同。一些高效推出的操作系統由于研發時間不夠、技術累積不夠,導致成本高、核心競爭能力差。比如WinCE操作系統,它就是在windows系統上作一定程度的改變,去掉一些不需要的功能,很快推出產品,結果實用時出現很多問題。
3.2 可移植性
通常來說,嵌入式系統的移植性越好,可在在不同平臺、不同系統上都能移植,那是處于最理想的狀態,然而實際運用中并不能達到這種理想狀態,如果過于強調移植性,那么會付出性能優化的代價。
3.3 可利用資源
嵌入式系統是以快速、低成本、高效率的推平適合用戶需要的一個系統平臺,而在這個平臺上能使用多少功能,需要使用第三方的產品,因此這個平臺上能使用多少第三方的產品是選型的一個重要條件,有些嵌入式系統為了滿足高性能、高可靠性的要求,使用比較封閉的操作系統,多數只能使用自己獨立
3.4 系統定制能力
用戶在使用嵌入式操作系統的時候,要求能定制不同的硬件平臺,比如會要求能否對系統提出底層的更動要求?能否定制出現能滿足自己需要、更有自己特色的系統、能否開放原代碼等等。
3.5 成本
選擇嵌入式操作系統,需要考慮成本的問題,比如一個系統是完全免費的,還是需要支付許可使用費等等,在這個選擇中,并不是免費的就是最好的,這要考慮到硬件設計人員的投入、公司的管理、第三方軟件的開發及使用,等等方面的問題,最后對成本作一個綜合考量。
3.6 語言內核支持
語言內核支持指操作系統能使用幾種語言操作,比如西文的、中文的,如果是可以使用中文操作,那么它是否支持雙字節編碼,是只支持簡體中文系統還是同時支持繁體系統,同時還要考慮中文輸入法與處理系統,語言內核的支持與第三方軟件資源的利用有非常重要的聯系。
?? 嵌入式心得體會 ??
首先,嵌入式系統是以應用為中心,以計算機技術為基礎,且軟硬件可裁減,適應應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。嵌入式有如下幾個突出的有點1.系統內核小,2專用性強,3系統精簡4高實時性OS5嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行,6嵌入式系統需要開發工具和環境。
嵌入式系統是近幾年才風靡起來的,但是這個概念并非新近才出現。從20世紀七十年代單片機(最早的單片機是Intel公司的 8048,出現在1976年)的出現到今天各式各樣的嵌入式微處理器,微控制器的大規模應用,嵌入式系統已經有了近30年的發展歷史。經過30年的發展,嵌入式技術已經日趨成熟,在中國嵌入式機一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用于實現對其他設備的控制、監視或管理等功能。
其次,嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。
嵌入式系統是軟硬結合的學科,通常有兩類人會去專研嵌入式:一類是學電子工程、通信工程等偏硬件專業的,另一類是學軟件、計算機專業出身的人,主要從事嵌入式操作系統和應用軟件的開發。
我是軟件專業的學習嵌入式,越是智能設備越是復雜系統,軟件越起關鍵作用,而且這是目前的趨勢。嵌入式應用在很多方面,具體的可以分為工業控制,交通管理,信息家電,家庭智能管理系統,POS網絡及電子商務,環境工程與自然,機器人,機電產品方面應用等方面。其中目前在服務領域,如遠程點菜器等已經體現了嵌入式系統的優勢。例外還有很多地方用到了嵌入式系統,最近飛利浦和ARM共同推出32位RISC嵌入式控制器,適用于工業控制,采用最先進的0.18微米CMOS嵌入式閃存處理技術,操作電壓可以低至1.2伏,它還能降低25%到30%的制造成本,在工業領域中對最終用戶而言是一套極具成本效益的解決方案。
首先我聲明,我是基于嵌入式系統平臺級設計的,硬件這個方向我相對來講比較有發言權,如果是其它方面所要具備的基本技能還要和我們培訓中心其它專業級講師溝通。他們的方面上我只能說是知道些,但不是太多,初級的問題也可以問我。
對于硬件來講有幾個方向,就單純信號來分為數字和模擬,模擬比較難搞,一般需要很長的經驗積累,單單一個阻值或容值的精度不夠就可能使信號偏差很大。因此年輕人搞的較少,隨著技術的發展,出現了模擬電路數字化,比如手機的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語功底很好的硬件工程師,在電路板調試過程中能通過自已編寫的測試程序對硬件功能進行驗證。然后再交給基于操作系統級的驅動開發人員。
?? 嵌入式心得體會 ??
嵌入式系統通常為一個資源受限的系統。直接在嵌入式系統的硬件平臺上編寫軟件比較困難,有時甚至是不可能的。目前,一般采用的辦法是,先在通用計算機上編寫程序,然后,通過交叉編譯,生成目標平臺上可運行的二進制代碼格式,最后下載到目標平臺上的特定位置上運行,具體步驟如下。
第一步,建立嵌入式Linux交叉開發環境。目前,常用的交叉開發環境主要有開放和商業兩種類型。開放的交叉開發環境的典型代表是GNU工具鏈,目前已經能夠支持x86、ARM、MIPS、PowerPC等多種處理器。商業的交叉開發環境主要有Metrowerks CodeWarrior、ARM Software Development Toolkit、SDS Cross compiler、WindRiver Tornado、Microsoft Embedded Visual C++等。交叉開發環境是指編譯、鏈接和調試嵌入式應用軟件的環境。它與運行嵌入式應用軟件的環境有所不同,通常采用宿主機/目標機模式。
第二步,交叉編譯和鏈接。在完成嵌入式軟件的編碼之后,就是進行編譯和鏈接,以生成可執行代碼。由于開發過程大多是在Intel公司x86系列CPU的通用計算機上進行的,而目標環境的處理器芯片卻大多為ARM、MIPS、PowerPC、DragonBall等系列的微處理器,這就要求在建立好的交叉開發環境中進行交叉編譯和鏈接。
第三步,交叉調試。
① 硬件調試。如果不采用在線仿真器,可以讓CPU直接在其內部實現調試功能,并通過在開發板上引出的調試端口,發送調試命令和接收調試信息,完成調試過程。目前,ARM公司提供的開發板上使用的則是JTAG調試端口。
② 軟件調試。在嵌入式Linux系統中,Linux系統內核調試,可以先在Linux內核中設置一個調試樁(debug stub),用作調試過程中和宿主機之間的通信服務器。然后,可以在宿主機中通過調試器的串口與調試樁進行通信,并通過調試器控制目標機上Linux內核的運行。
第四步,系統測試。整個軟件系統編譯過程,嵌入式系統的硬件一般采用專門的測試儀器進行測試,而軟件則需要有相關的測試技術和測試工具的支持,并要采用特定的測試策略。測試技術指的是軟件測試的專門途徑,以及能夠更加有效地運用這些途徑的特定方法。
?? 嵌入式心得體會 ??
2017年嵌入式系統題庫
嵌入式系統的核心是由一個或幾個預先編程好以用來執行少數幾項任務的微處理器或者單片機組成。下面是小編收集的嵌入式系統題庫,希望大家認真閱讀!
1:用C語言實現大小端的測試
Int CheckCpu()
{
union
{
int a;
char b;
}c;
c.a=1;
if(c.b==1)
printf(“小端”);
else printf(“大端”);
}
2:volatile的作用有哪些?
Volatile第一變量相當于告訴編譯器這個變量的值會隨時發生變化,每次使用之前都要去內存里從新讀取它的值,并不要隨意針對它做優化,主要用在:
1:一個中斷子程序中會訪問到的非自動變量;
2:多線程應用中被幾個線程共享的變量;
3:并行設備的硬件寄存器。
3:C語言中static關鍵字的作用有哪些?
1:在函數體中,一個被聲明為靜態的變量在這個變量在調用過程中維持其值不變;
2:在模塊內(但在函數體外),一個被聲明為靜態的變量,可以被這個模塊內的所用函數使用,但不能被模塊外的函數使用,它是一個本地的全局變量;
3:在模塊內,一個被聲明為靜態變量的函數,智能被這個模塊內的函數調用;
4:static全局變量與局部變量的'區別:static全局變量只能被初始化一次,防止其他單元文件中被引用;
5:static局部變量與局部變量的區別:static局部變量只能被初始化一次,下一次依據上一次結果的值;
6:static函數與普通函數的區別:static在內存中只用一份,普通函數在每一次調用中維持一份拷貝。
4:請問下面三種變量的區別:
Int const *p : 指向常整型的指針;
Int *const p; 指向整型的常指針;
Int *const *p: 指向常整型的常指針;
5:在ARM系統中,在函數調用的時候,參數是通過哪種方式傳遞的。
當參數小于等于4的時候是通過r0~r3來進行傳遞的,當參數大于4的時候是通過壓棧的方式進行傳遞。
6:中斷與異常有何區別.
異常在處理的時候必須考慮與處理器的時鐘同步,實際上異常也稱為同步中斷,在處理器執行到因編譯錯誤而導致的錯誤指令時,或者在執行期間出現特殊錯誤,必須靠內核處理的時候,處理器就會產生一個異常;所謂中斷是指外部硬件產生的一個電信號從CPU的中斷引腳進入,打斷CPU的運行。所謂異常是指軟件運行過程中發生了一些必須作出處理的事件,CPU自動產生一個陷入來打斷CPU的運行。
7:用預處理指令#define表示一年中有多少秒
#define SECONDS_PER_YEAR (60*60*24*365)UL
注意后面必須加UL,表示計算的結構是常整型。
8:簡述SPI,UART,I2C三種傳輸方式。
SPI:高速同步串行口,首發獨立,可同步進行
SPI接口主要應用在EEPROM,Flash,實時時鐘,A/D轉化器,數字信號處理,是一種全雙工同步通訊總線,該接口一般使用四條線:串行時鐘線(sck),主出從入線,主入從出線,低電平有效地的從機選擇線。
I2C協議:是單片機與其他芯片進行通訊的協議:1:只要求兩條總線線路,一條是串行時鐘線,一條是串行數據線; 2:通過軟件設定地址 3:是一個多主機總線,如果兩個或更多主機同時初始化數據傳送可通過沖突檢測和仲裁防止數據破壞; 4:I2C總線傳輸的是數據的總高位
UART:主要是由一個modem(調制解調器),可以將模擬信號量轉化成數字信號量。
9:中斷不能返回一個值,中斷不能傳遞參數。
10:嵌入式系統總要求用戶對變量或者寄存器進行位操作,給定一個整型變量a:
define BIT3 (oxo1<<3)
static int a ;
void set_bit3(void)
{
a|=BIT3;
}
void clear_bit3(void)
{
a&=~BIT3;
}
作為一個嵌入式程序員,這種程序是小菜一碟,至所以給出這個程序,是想規范大家寫程序方法,這里主要是用到了一個宏定義:BIT3 這樣的話就可以增加程序的可讀性
同時移植性也增強。
11:嵌入式系統中經常要求程序去訪問某特定內存的特點,在某工程中,要求設定一個絕對地址0x6799的整型變量的值為0xaa66.
Int *ptr;
ptr=(int*)0x67a9;
*ptr=aa66
12:引用和指針有什么區別?
1:應用必須初始化,指針不必;
2:引用處畫化后不能改變,指針可以被改變;
3:不存在指向空值的引用,但存在指向空值的指針;
13:全局變量與局部變量在內存中是否有區別,是什么區別?
全局變量存儲在靜態數據庫,局部變量存儲在堆棧;
14:寫出float,bool,int類型與零的比較,假設變量為X:
Int : if(x==0)
Float: if(x>0.0000001&&x<0.0000001)
Bool: if(x==false)
15:Intertnet采用哪種網絡協議,該協議的主要層次結構?
TCP/IP協議
應用層/傳輸層/網絡層/數字鏈路層/物理層。
16:IP地址有兩部分組成:網絡號和主機號
17:程序的局部變量存儲在(棧)中,全局變量存儲于(靜態存儲區),動態申請數據存儲于(堆中);
18:編寫一個字符串復制函數:strcpy(const char *str,const char *str1)
void strcpy(const *char str,const chat *str1)
{
if(*str1==’\0’) return;
char *sp1,*sp2;
sp1= str;
sp2=str1;
while(*sp2!=’\0’)
{
*sp1=sp2;
sp1++;
sp2++;
}
}
19:編寫一個函數實現字符串翻轉 void rechange(char *str)
void rechange(char *str)
{
Int len;
char t;
len=strlen(str);
for(int i=0;len/2;i++)
{
t=str[i];
str[i]=str[len-i-1];
str[len-i-1]=t;
}
}
20:編寫一個函數實現字符串比較 int strcmp(char *str1,char *str2),相等返回1,不相等返回0:
int strcmp(char *str1,char *str2)
{
if(*str1==‘\0’||*str2==’\0’) return;
while(*str1!=’\0’&&*str2!=’\0’&&*str1==*str2)
{
str1++;
str2++;
}
if(*str1==*str2)
return 1;
else return 0;
}
}
21:進程和線程的區別:
1:調度:線程作為調度和分配的基本單元,進程作為擁有資源的基本單位;
2:并發性:不僅進程可以并發執行,同一進程內的線程也可以并發執行。
3:擁有資源:進程是擁有資源的基本獨立單元,線程不擁有資源,但可以訪問進程內的資源;
4:在創建或撤銷線程時,由于系統都要為之分配和回收內存資源,導致系統的開銷明顯大于創建或撤銷線程時的開銷。
?? 嵌入式心得體會 ??
嵌入式處理器(Embedded Processor,EP)與通用處理器最大的區別就在于嵌入式處理器大多工作在為不同用戶群所設計的特定系統中,它常常將通用處理器中許多由板卡完成的功能集成到芯片內部,從而有利于實現嵌入式系統設計的微型化,同時又保證了較高的可靠性和處理效率。到目前為止,全球嵌入式處理器的種類已經超過1000多種,其中以ARM、MIPS、Power PC、Motorola 68K、X86等體系結構最為常見,一般將嵌入式處理器分成以下四類:
1)嵌入式微控制器 (Microcontroller Unit,MCU);
2)嵌入式微處理器 (Embedded Microprocessor Unit,EMPU);
3)嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP);
4)片上系統(System On Chip,SOC)。
一般在嵌入式系統設計中常用的嵌入式微處理器和體系結構主要有以下幾種:
1) ARM
ARM(Advanced RISC Machines)公司是全球著名的16/32位精簡指令集計算機RISC(Reduced Instruction Set Computer)處理器設計供應商,通過提供高性能與低功耗的RISC處理器芯片設計技術給各個生產廠商來生產滿足不同應用領域要求的芯片。事實上,由于ARM處理器一方面支持16位的Thumb指令集和32位的ARM指令集,另一方面使用了大量的寄存器和靈活的尋址方式來提高系統執行的效率,所以ARM處理器技術已經成為數字通信、工業控制、多媒體家電等嵌入式應用領域的RISC標準。ARM系列處理器種類很多,目前市場上應用最為廣泛的是ARM9和ARM10系列處理芯片。ARM9處理器由于擁有了五級流水線結構和自帶MMU功能,廣泛應用于手持終端和無線通訊等領域。ARM10處理器由于采用了更高的六級流水線結構和支持DSP指令以及支持64位的AMBA總線接口[5],其性能較ARM9有了很大的提高,廣泛應用于手持PDA以及車載電子等高端領域。
2) MIPS
MIPS(Microprocessor without Interlocked Pipeline Stages)簡稱無內部互鎖流水級的微處理器,是美國MIPS技術公司推出的一種基于RISC架構的高性能高檔次的處理器內核。MIPS采用了先進的設計理念和清晰的系統結構,強調軟硬件協同工作以提高處理器性能,同時簡化了硬件設計,采用軟件方法來避免流水線運行中的數據相關問題。雖與ARM處理器相比,MIPS體系結構的處理器功耗要高些,但它具備了從32位低端產品到64位高端產品的完整解決方案,而且在知識產權的授權費用上MIPS要低于ARM,因此,MIPS內核逐漸被越來越多的消費類電子產品和工業控制產品的設計所采用。
3) Power PC
PowerPC(Performance optimization with Enhanced RISC performance Computing)簡稱性能優化與增強的RISC性能計算,是由IBM、Motorola和Apple公司聯合開發的一款高性能32/64位RISC處理器,其主要特點是可伸縮性好,方便靈活和較高的性價比。常見的基于Power PC架構的處理器有IBM公司的Power PC64S(深藍內部的CPU)、Power PC750、Power PCG3以及Motorola公司的MC和MPC系列等。目前,基于Power PC體系結構的'處理器廣泛應用于桌面PC系統、移動PC系統、嵌入式系統以及金融電信等行業。
4) Motorola 68K
Motorola 68K采用復雜指令集計算機CISC(Complex Instruction Set Computer)架構[8],是出現比較早的嵌入式處理器,在全球的各種嵌入式處理器應用領域中取得了巨大成功。曾經Sun微計算機公司把這款處理器應用于早期的產品開發中。
5) X86
X86系列處理器起源于Inter架構的8080,然后發展出286、386、486直到現在的奔騰處理器乃至雙核處理器。從嵌入式市場分布來看,486DX也是與ARM、68K、MIPS、SuperH齊名的五大嵌入式處理器之一。目前市場上基于X86體系結構的PC104產品占有很大的市場份額。
?? 嵌入式心得體會 ??
一、嵌入式系統開發與應用概述
在今日,嵌入式ARM 技術已經成為了一門比較熱門的學科,無論是在電子類的什么領域,你都可以看到嵌入式ARM 的影子。如果你還停留在單片機級別的學習,那么實際上你已經落下時代腳步了,ARM 嵌入式技術正以幾何的倍數高速發展,它幾乎滲透到了幾乎你所想到的領域。本章節就是將你領入ARM 的學習大門,開始嵌入式開發之旅。以嵌入式計算機為技術核心的嵌入式系統是繼網絡技術之后,又一個IT領域新的技術發展方向。由于嵌入式系統具有體積小、性能強、功耗低、可靠性高以及面向行業具體應用等突出特征, 目前已經廣泛地應用于軍事國防、消費電子、信息家電、網絡通信、工業控制等各個領域。嵌入式的廣泛應用可以說是無所不在。
嵌入式微處理器技術的基礎是通用計算機技術。現在許多嵌入式處理器也是從早期的PC 機的應用發展演化過來的,如早期PC 諸如TRS-80、Apple II 和所用的Z80 和6502 處理器,至今仍為低 端的嵌入式應用。在應用中,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。嵌入式處理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM 等系列。
在早期實際的嵌入式應用中,芯片選擇時往往以某一種微處理器內核為核心,在芯片內部集成必要的ROM/EPROM/Flash/EEPROM、SRAM、接口總線及總線控制邏輯、定時/計數器、WatchDog、I/O、串行口、脈寬調制輸出、A/D、D/A 等各種必要的功能和外設。
二、實習設備
硬件:Embest EduKit-IV實驗平臺、ULINK2仿真器套件、PC機
軟件:mu;Vision IDE for ARM集成開發環境、Windows 98//NT/XP
三、實習目的
1.初步掌握液晶屏的使用及其電路設計方法;掌握S3C2410X處理器的LCD控制器的使用;掌握通過任務調用的方法把液晶顯示函數添加到uC/OS-II中;通過實驗掌握液晶顯示文本及圖形的方法與程序設計。
2.了解S3C2410X處理器UART相關控制寄存器的使用; 熟悉ARM處理器系統硬件電路中UART接口的設計方法:掌握ARM處理器串行通信的軟件編程方法。
3.掌握有關音頻處理的基礎知識;通過實驗了解IIS音頻接口的工作原理;通過實驗掌握對處理器S3C2410X中IIS模塊電路的控制方法;通過實驗掌握對常用IIS接口音頻芯片的控制方法。
4.了解mu;C/OS-II移植條件和內核基本結構;掌握將mu;C/OS-II內核移植到ARM9處理器上的方法和步驟。
四、實習要求
通過對mu;C/OS-II移植實驗、mu;C/OS-II LCD顯示實驗、串口通信實驗、IIS音頻實驗、液晶顯示實驗的學習,并將各部分內容合并,最終得出實習結果,實習要求在鍵盤上輸入學號,在液晶顯示屏上顯示相應的學生信息。學生信息包括顯示每個人的照片和姓名系別等,并用鍵控設置學生輸出的順序,輸入學號就顯示那個學生的信息,然后過一段時間就順序循環播放。
移植mu;C/OS-II內核到ARM處理器S3C2410,在IDE中觀察其運行狀況編寫S3C2410X處理器的串口通信程序;監視串行口UART1動作;將從UART1接收到的字符串回送顯示。將從UART1接收到的字符串回送顯示。
通過使用Embest EduKit-IV實驗板的彩色液晶屏(800*480)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,并編寫任務函數在uC/OS-II系統中實現位圖顯示。在uC/OS-II中建立五個任務Tast1和Tast2,其中Tast1順序熄滅四個LED,延遲一會在順序點亮四個LED。Tast2在LCD屏幕上循環顯示三幅圖片,并打印一些文字信息和背景音樂。過使用Embest EduKit-III實驗板的256 色彩色液晶屏(320x240)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,并編寫程序實現:畫出多個矩形框;顯示ASCII字符;顯示漢字字符;顯示彩色位圖。
五、實習步驟
1. 準備實驗環境
使用ULINK2仿真器連接Embest EduKit-IV實驗平臺的主板JTAG接口;使用Embest EduKit-IV實驗平臺附帶的交叉串口線,連接實驗平臺主板上的COM2和PC機的串口(一般PC只有一個串口,如果有多個請自行選擇,筆記本沒有串口設備的可購買USB轉串口適配器擴充);使用Embest EduKit-IV實驗平臺附帶的電源適配器,連接實驗平臺主板上的電源接口。
2. 串口接收設置
在PC機上運行windows自帶的超級終端串口通信程序,或者使用實驗平臺附帶光盤內設置好了的超級終端,設置超級終端:波特率115200、1位停止位、無校驗位、無硬件流控制,或者使用其它串口通信程序。(注:超級終端串口的選擇根據用戶的PC串口硬件不同,請自行選擇,如果PC機只有一個串口,一般是COM1)
3. 打開實驗例程
1)打開實驗程序
2)運行mu;Vision IDE for ARM軟件
3)默認打開的工程在源碼編輯窗口會顯示實驗例程的說明文件readme.txt,詳細閱讀并理解實驗內容。
4)工程提供了兩種運行方式:一是下載到SDRAM中調試運行,二是固化到Nor Flash中運行。用戶可以在工具欄Select Target下拉框中選擇在RAM中調試運行還是固化Flash中運行。下面實驗將介紹下載到SDRAM中調試運行,所以我們在Select Target下拉框中選擇UART_Test IN RAM。
5)接下來開始編譯鏈接工程,在菜單欄“Projiet”選擇“Build target”或者“Rebuild all target files”編譯整個工程。
6編譯完成后,在輸出窗口可以看到編譯提示信息,比如““.SDRAMUART_Test.axf” - 0 Error(s), 1 Warning(s).”,如果顯示“0 Error(s)”即表示編譯成功。
7)撥動實驗平臺電源開關,給實驗平臺上電,單擊菜單欄Debug->Start/Stop Debug Session項將編譯出來的映像文件下載到SDRAM中,或者單擊工具欄“”按鈕來下載。
8)下載完成后,單擊菜單欄Debug->Run項運行程序,或者單擊工具欄“”按鈕來全速運行程序。用戶也可以使用進行單步調試程序。
9)全速運行后,用戶可以在超級終端看到程序運行的信息。
10)用戶可以Stop程序運行,使用mu;Vision IDE for ARM的一些調試窗口跟蹤查看程序運行的`信息。 注:如果在第4)步用戶選擇在Flash中運行,則編譯鏈接成功后,單擊菜單欄Flash->Download項將程序固化到NorFlash中,從實驗平臺的主板拔出JTAG線,給實驗平臺重新上電,程序將自動運行。
部分程序圖:
串口通信實驗:
IIS音頻實驗:
六、實習體會
在嵌入式系統中,除了課本上的基礎知識外,還學會了軟件編程的基本思路,掌握了液晶屏的使用及其電路設計方法;掌握有關音頻處理的基礎知識;掌握液晶顯示文本及圖形的方法與程序設計。
通過這次設計,掌握了液晶顯示實驗、mu;C/OS-II移植、mu;C/OS-IILCD顯示的工作原理及串口通信實驗的工作過程,學會了使用仿真軟件Embest EduKit-IV實驗平臺及ULINK2仿真器套件,并學會通過應用軟件仿真來實現各種通信系統的設計,對以后的學習和工作都起到了一定的作用,加強了動手能力和學業技能。雖然花了很長時間編寫軟件程序設計,但這一切還是理論上的。希望學校能提供機會和條件,讓我們能夠去真正地將理論和實踐相結合。通過這次程序,感覺自己所掌握的知識是那么的有限,還有許多需要改進和不足的地方,同時也幫助了我怎樣學好這門課程,增加了我對這門學科的興趣。總體來說,這次實習我受益匪淺。在摸索該如何設計電路使之實現所需功能的過程中特別有趣,培養了我的設計思維,增加了實際操作能力。在讓我體會到了設計電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。通過這次實習通信系統的設計,使我更加清楚以后的發展及學習的方向。
最后感謝老師這個學期的指導和幫助!
七、參考文獻
《ARM9嵌入式系統設計與開發應用》熊茂華、楊震倫編著 清華大學出版社
《ARM9嵌入式系統設計與開發教程》于明編著 電子工業出版社
《Linux嵌入式系統教程》馬忠梅 北京航空航天大學出版社
?? 嵌入式心得體會 ??
這學期才接觸嵌入式系統感覺還稱不上入門,我通過學習知道了嵌入式的發展前景很大,各個領域都用到了嵌入式,學好嵌入式不愁沒飯吃。
廣義上講,凡是帶有微處理器的專用軟硬件系統都是嵌入式系統。如各類單片機和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 的代碼等等,麻雀雖
小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。
以上就是我在本學期學習嵌入式后的心得及感想。
文章來源:http://www.lipstick2017.com/youxiuzuowen/125770.html
’) return;
while(*str1!=’id="article-content1">
嵌入式心得體會(分享十三篇)
發表時間:2018-05-06 嵌入式心得體會(分享十三篇)。
?? 嵌入式心得體會 ??
一、嵌入式的概述:
隨著信息化技術的發展和數字化產品的普及,以計算機技術、芯片技術和軟件技術為核心的嵌入式系統再度成為當前研究和應用的熱點,通信、計算機、消費電子技術(3C)合一的趨勢正在逐步形成,無所不在的網絡和無所不在的計算(everything connecting, everywhere computing)正在將人類帶入一個嶄新的信息社會。
二、實習目的
學習和了解了嵌入式在生活中的重要作用和發展過程,熟練掌握ARM硬件體系結構,熟悉linux下的嵌入式編程流程,積累自己的軟件編寫經驗,能夠參與并實現一個真實和完整的嵌入式項目,為今后的學習和將從事的技術工作打下堅實的基礎
三、實習任務
第一階段Linux操作和編程基礎
主要介紹Linux的基本命令和基礎編程知識,包括Linux的文件操作和目錄操作命令,VI編輯器,GCC編譯器,GDB調試器和Make項目管理工具等知識。
第二階段 嵌入式C語言編程基礎
主要介紹在嵌入式開發編程中C語言的重要概念和編程技巧中的重點難點,以復習串講和實例分析的形式,重點介紹包括函數與程序結構,指針、數組和鏈表,庫函數的使用等知識。
第三階段Linux上C強化編程訓練
主要包括整數算法訓練,遞歸和棧編程訓練,位操作訓練,指針訓練,字符串訓練和常用C庫函數編程接口實踐,強化學員對Linux下基本編程開發的理解和編碼調試的能力。
第四階段 Linux環境高級編程及項目開發編程實踐
主要包括系統編程(信號/系統調用/管道/FIFO/消息隊列/共享內存等),文件I/O編程(文件描述符/文件讀寫接口/原子操作/阻塞與非阻塞IO等,多任務和多線程編程(進程標識/ 用戶標識/fork與vfork/多線程概念/線程同步等),網絡編程(網絡基本概念/套接口編程/網絡字節次序/Client/Server結構/UDP編程);掌握Linux下Socket編程的開發流程,熟悉網絡編程的調用接口函數和相關數據結構,使學員初步具備在Linux上進行系統編程開發的能力。同時綜合之前所學內容和編程技術,以小組為單位進行一個團隊合作項目的開發,考核內容包括文件I/O編程,多線程編程,網絡編程和項目文檔編寫。
第五階段嵌入式處理器體系結構及編程實踐
主要介紹ARM體系結構及其基本編程知識,包括指令分類,尋址方式、指令集、存儲系統、異常中斷處理、匯編語言以及CC++和匯編語言的混合編程等知識。同時結合ARM嵌入式開發板硬件設計原理和基本硬件設計流程,分析各種外設的工作原理和驅動機制,并自己動手實踐完成一個ARM開發板上的編程大作業。
第六階段嵌入式Linux開發基礎及高級應用
主要介紹嵌入式Linux開發應用程序的基本流程和知識,包括嵌入式Linux基本概念和開發流程、Bootloader工作原理、內核裁減配置和交叉編譯、根文件系統制作、網絡編程以及圖形界面和數據庫開發等知識。同時獨立完成一個基于嵌入式Linux GUI的應用編程大作業。
第七階段嵌入式 Linux驅動理論及驅動程序開發實踐
主要介紹嵌入式Linux上驅動程序開發規范,包括設備驅動程序概念、字符設備驅動程序、塊設備與網絡設備、網卡驅動以及常用嵌入式設備驅動開發等知識。同時獨立實現兩種嵌入式設備驅動程序的編寫,包括驅動模塊的調試和加載以及完整的項目開發文檔的編寫。
第八階段嵌入式Linux項目團隊開發實踐鍛煉
主要包括設計并實現一個真實和完整的嵌入式項目的開發流程,涉及到數據采集、網絡通訊、圖形用戶界面顯示以及嵌入式數據庫存儲系統等多種嵌入式Linux編程技術。要求學員建立起團隊開發和協同工作的企業項目開發模式的概念和流程,強化學員對編寫項目概要設計文檔和詳細設計文檔的理解,為就業前的職業技能和素質訓練做好充分準備。
四、實習內容
1、 嵌入式的歷史與現狀
雖然嵌入式系統是近幾年才開始真正風靡起來的,但事實上嵌入式這個概念卻很早就已經存在了,從上個世紀70年代單片機的出現到今天各種嵌入式微處理器、微控制器的廣泛應用,嵌入式系統少說也有了近30年的歷史。縱觀嵌入式系統的發展歷程,大致經歷了以下四個階段:
無操作系統階段
嵌入式系統最初的應用是基于單片機的,大多以可編程控制器的形式出現,具有監測、伺服、設備指示等功能,通常應用于各類工業控制和飛機、導彈等武器裝備中,一般沒有操作系統的支持,只能通過匯編語言對系統進行直接控制,運行結束后再清除內存。這些裝置雖然已經初步具備了嵌入式的應用特點,但僅僅只是使用8位的CPU芯片來執行一些單線程的程序,因此嚴格地說還談不上"系統"的概念。
這一階段嵌入式系統的主要特點是:系統結構和功能相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由于這種嵌入式系統使用簡便、價格低廉,因而曾經在工業控制領域中得到了非常廣泛的應用,但卻無法滿足現今對執行效率、存儲容量都有較高要求的信息家電等場合的需要。
?? 嵌入式心得體會 ??
嵌入式是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。由于嵌入式系統通常具有低功耗、體積小、集成度高等特點,因此隨著消費家電的智能化和廉價微處理器的.出現,嵌入式系統將在日常生活里形成更大的應用領域。嵌入式就業前景良好,嵌入式人才社會需求量大。
嵌入式就業前景分析-嵌入式軟件開發應用領域
嵌入式系統是當前最熱門、最具發展前途的IT應用領域之一。包括手機、電子字典、可視電話、數字相機、數字攝像機、U-Disk、機頂盒、高清電視、游戲機、智能玩具、交換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等都是典型的嵌入式系統。因此,通過嵌入式培訓成為專業的嵌入式技術人才,嵌入式就業前景也非常好,其職業發展空間較大。
嵌入式就業前景分析-嵌入式軟件開發人才需求
目前國內嵌入式人才極度匱乏,權威部門統計,我國目前嵌入式軟件人才缺口每年為40萬人左右。供不應求使得嵌入式人才身價上漲,而且,越有專業經驗,就業競爭力就越大。因此,IT專業人士通過培訓掌握嵌入式技術,就能成為炙手可熱的專業人才,其培訓回報有保障。
嵌入式就業前景分析-嵌入式軟件開發就業方向
由于大唐各約嵌入式技術支持工程師都高居前五位。
?? 嵌入式心得體會 ??
嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。按照行業細分,嵌入式產品主要分布在消費類電子、通信、醫療、安全等行業。嵌入式軟件產業發展迅猛,已成為軟件體系的重要組成部分。嵌入式系統產品正不斷滲透各個行業,作為包含在這些硬件產品中的特殊軟件形態,其產業增幅不斷加大,而且在整個軟件產業的比重日趨提高。從2003到2006年,全球嵌入式軟件市場規模均復合增長率達到30%。
據預測,在未來的幾年內,嵌入式系統的發展為幾乎所有的電子設備注入了新的活力,加上迅速發展的Internet和廉價的微處理器出現,嵌入式系統將在我們的日常生活里形成一個更大的應用領域。據調查,上海地區嵌入式系統開發涉及的行業眾多,但多數停留在8位單片機開發層面,僅有部分企業開始采用32位處理器和實時操作系統(RTOS,Real Time Operating System)。然而,國內能夠同時進行軟件設計和芯片設計的SoC系統設計的高端人才幾乎沒有,國際上領先的多核嵌入式系統設計,可重構嵌入式系統設計在國內的應用也還停留在少數科研機構的研究課題中。
人才需求
搜索“linux”,更可以獲得近2000條記錄。從這些職位上看,市場上需要的嵌入式人才必須具備C語言編程經驗、嵌入式操作系統(嵌入式Linux)、具有內核裁剪經驗、具有驅動程序開發經驗。這些都是在學校無法學到的知識。
嵌入式系統人才的匱乏已成為眾多企業的共識,而嵌入式系統幾乎無所不在的`應用領域使其成為一項極具發展潛力的產業,人才的匱乏已成為其發展的瓶頸,企業紛紛抱怨月薪過萬元卻招不到一個合適的嵌入式系統人才。產業的發展趨勢是,越來越多的智能設備的系統趨于復雜,軟件將發揮起關鍵作用,當前業界非常缺乏的就是軟硬件技術兼具的人才。另據權威部門統計,我國嵌入式軟件人才缺口每年為60萬人左右。
以嵌入式領域的3G為例,目前我國的3G核心人才不足萬人,基本上都受雇在幾個運營商和設備廠商。市場急需的嵌入式開發人才以及3G時代所需的增值業務開發人才非常搶手。業內人士認為,至少出現30-50萬的人才缺口,其中嵌入式15萬,移動增值可能35萬。隨著車載電子應用、手持娛樂終端在國內的普及,國內外企業紛紛加大了對嵌入式業務的投入,相關人才需求也逐漸加大。2012年3月,據英才網指數統計顯示,計算機/信息服務共提供82069個空缺職位,占當月所有空缺職位總數的30.37%,排名第一。從這些職位上看,市場上需要的嵌入式人才必須具備C語言編程經驗、嵌入式操作系統(嵌入式Linux)、內核裁剪經驗、驅動程序開發經驗。而這些都是企業用人的標準。盡管很多大學的電子、計算機專業都開設了程序設計、微機原理、單片機等課程,但高校輸送的人才與企業需要的人才卻始終沒有對應上。事實上,這個缺口就是由于缺少系統的學習和項目經驗。企業需要的人才是知識+技能+職業素養,而大多數畢業生缺乏的是實戰技能與綜合素質的培訓。嵌入式軟件開發人才的缺乏也帶來了這個行業可觀的薪酬待遇,嵌入式軟件的從業者薪酬比其他IT業同行大約高出50%。
應用前景
一些先進的PDA在顯示屏幕上已實現漢字寫入、短消息語音發布,日用范圍也將日益廣闊。對于企業專用解決方案,如物流管理、條碼掃描、移動信息采集等,這種小型手持嵌入式系統將發揮巨大的作用。自動控制領域,不僅可以用于ATM機,自動售貨機,工業控制等專用設備,和移動通訊設備結合、GPS、娛樂相結合,嵌入式系統同樣可以發揮巨大的作用。
嵌入式系統是研究的熱點。在研究的同時,我們也可以發現由于嵌入式系統并不是突然出現的,對于微處理器應用的研究和硬件系統的研究已經有了一個很長時間的發展歷史。所以無論是從硬件方面還是軟件方面我們都很容易獲得研發的資料。
硬件方面,不僅有各大公司的微處理器芯片,還有用于學習和研發的各種配套開發包。低層系統和硬件平臺經過若干年的研究,已經相對比較成熟,實現各種功能的芯片應有盡有。而且巨大的市場需求給我們提供了學習研發的資金和技術力量。
從軟件方面講,也有相當部分的成熟軟件系統。國外商品化的嵌入式實時操作系統,已進入我國市場。我國自主開發的嵌入式系統軟件產品如嵌入式軟件開發平臺DeltaSystem,它不僅包括DeltaCore嵌入式實時操作系統,而且還包括LamdaTools交叉開發工具套件、測試工具、應用組件等;此外,中科院也推出了Hopen嵌入式操作系統(雖然還不夠完善)。
?? 嵌入式心得體會 ??
首先,我們學習的課本是嵌入式系統應用教程。我學習的體會是這樣的:開始時,由于是剛剛入門,對老師書的好多東西是好奇的,好多名詞也是新鮮的,不過不太懂什么意思。但是慢慢的,了解的深入讓我有了更深的感觸和體會。
在嵌入式的學習過程中,讓我了解了什么是嵌入式系統。它就是以應用為中心,以計算機技術為基礎,軟硬件可定制,適用于不同應用場合,對功能、可靠性、成本、體積、功耗有嚴格要求的計算機系統。他一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統、用戶應用程序四個部分組成,用于實現對其他設備的控制、監視或管理功能。嵌入式系統已經應用于科學研究、工業控制、軍事技術、交通通信、醫療衛生、消費娛樂等領域,人們日常使用的手機、PDA、汽車、智能家電、GPS等均是嵌入式系統的典型代表。
一開始我們就學習嵌入式的系統的基礎部分,那很簡單,就是一些定義或是介紹之類的。在進入第二章時,就開始學習了嵌入式開發過程中的主要操作系統——linux,在接下來的課程中,我發現嵌入式的學習過程還是蠻有趣的。在對linux的學習中,我們對它有了一點點的了解,接著就是學習一虛擬機的方式安裝linux。對我來說有趣的就是安裝的過程了,首先我們跟著老師的腳步走,學會了怎么安裝,在自己動手進行對它的安裝,這個過程是簡單而有趣的。這樣的開始讓我對它充滿了興趣,也對以后的學習充滿了信心。
其次就是安裝好了之后,老師就更深一步的教我們應用了。在這是老師首先交給我們的是一些簡單的命令應用,Linux具有很豐富的命令,絕大多數命令具有大量的參數。
在學習命令的過程中,只要你認真的看著老師操作還有認真聽著他講,你就會發現有些命令的操作還是很簡單的,不過在操作的過程中,我也有遇到有些困難,會出現你按照書上學習的例子,將命令輸入終端時會出現你不想要的結果,也就是錯誤的結果。這是問問旁邊的同學或是懂的同學就可以解決了。
在對于這部分的學習中,讓我知道了命令對于嵌入式的重要性。它是linux的重要內容,linux中所有的功能都是通過命令執行。在實際應用中,為了減少系統開銷,經常不使用圖形界面,此時,對系統的所有操作都需要以命令方式來執行。在嵌入式系統開發過程中,由于目標機的性能和配置比較低,因此,一般情況下目標機僅具有命令窗口而沒有圖形界面,對目標機的所有操作都通過命令來實現。
還有的那就是進一步學習與嵌入式系統開發相關的linux的服務,他們的啟動、設置等的操作和應用。而在學習之中,我們主要介紹的是嵌入式系統中開發工程使用的TFTP、Telent和NFS服務。第一個實現的事上機位與下機位之間文件的傳輸、無磁盤網絡的設備的啟動等功能;第二個實現的事遠程登錄功能;第三個實現的是網絡文件系統功能。
從以上的內容之中,并不難感受到我們的學習過程是由淺入深的,這對于我們的學習也有了較好的幫助。
當然,我們學習的不僅僅是這么幾個內容,其中還有相關的實驗內容。在我們基礎的學習的過程之中,我有了這么一點的感受,總的來說就是概念加專業名詞還有介紹加實驗。不過你絕對不能小看那些概念和介紹,它對我們有著很重要的指導作用哦!實驗那就更不用說了,它提高我們的動手能力,在實驗的過程中還能讓你更加理解書中的理念,這就是我學習嵌入式的感受。
?? 嵌入式心得體會 ??
職責描述:
1.負責基于linux或qnx的汽車智能駕駛座艙軟件的'中間件開發與調試;
2.配合團隊進行其他項目開發。
任職要求:
1.全日制統招本科及以上學歷,電子、計算機、軟件工程或相關專業;
2.3年以上相關工作經驗;
3.精通c/c++及其相關標準庫,熟悉mvc設計模式,具備多線程編程的實際經驗;
4.熟悉網絡通訊原理,了解主流rpc技術,具備socket編程或其他相關網絡編程經驗,了解流媒體相關技術;
5.掌握嵌入式圖形編程技術,有opengl/gles經驗者優先;
6.對開源項目有一定研究能力,并有實際集成經驗者優先。
7.專業基礎扎實,熱衷技術,對汽車行業感興趣。
?? 嵌入式心得體會 ??
關于嵌入式營銷的論文
[摘要]隨著營銷實踐的發展,營銷理念也在不斷地推進與創新。嵌入式營銷便是一種基于顧客價值鏈的產業營銷新思維,其體現了現代營銷的三個核心理念:顧客滿意、競爭導向和關系營銷。本文將從嵌入式營銷的核心理念、一般程序、基本方式和主要特征入手,探討嵌入式營銷的理論結構。
[關鍵詞]嵌入式營銷關系營銷價值鏈產業營銷
一、嵌入式營銷的核心理念
嵌入式營銷是一種基于顧客價值鏈的新型產業營銷方式,在對產業顧客價值鏈分析的基礎上,綜合考慮顧客需求和競爭對手的行動,尋找企業資源能力與顧客盈利模式之間獨特的價值匹配,并將其嵌入到顧客的價值鏈上,使營銷活動成為顧客創造價值的不可或缺的一部分,從而建立長期穩定的營銷關系。
嵌入式營銷體現了現代營銷中的顧客滿意、競爭導向和關系營銷三個核心理念。第一,嵌入式營銷關注顧客滿意,在保證顧客滿意的基礎上,提供價值鏈增值服務;第二,嵌入式營銷在為顧客提供附加價值的同時,需要考慮競爭者的反應與行動,只有采取與競爭者不同的營銷活動才能達到嵌入式營銷的目的;第三,嵌入式營銷是注重關系的營銷新思維,將自身的營銷活動嵌入到顧客的價值鏈中,有利于企業與顧客建立起長久且穩定的營銷關系。在嵌入式營銷所涉及的三種營銷理念中,關系營銷居于核心地位,嵌入式營銷的實質是要與顧客建立一種顧客穩固的營銷關系。
二、嵌入式營銷的主要特征
嵌入式營銷作為一種產業營銷新思維,有其區別于一般營銷方式的一些特征,下面闡述了嵌入式營銷的主要特征:
1.嵌入式營銷為顧客提供新屬性新價值,創規則而非守規則,從了解顧客到教育顧客,從迎合市場到顛覆市場。
2.嵌入式營銷超越了現有的市場邊界和競爭空間,為顧客提供價值的同時,把自己的營銷活動深入到顧客的價值鏈上,成為其創造價值的不可或缺的一部分。
3.嵌入式營銷是一種針對產業市場顧客的營銷方式,因為只有產業顧客才可以分析其價值鏈活動。其方法并不適用于對消費者的營銷,但是他的一些理念也可以為消費者營銷提供參考。
4.嵌入式營銷注重長期穩定的營銷關系的建立。
三、嵌入式營銷的一般程序
1.分析產業顧客的價值鏈活動,尋找與企業資源能力相匹配的獨特價值。
2.分析顧客滿意因素和競爭對手的反應與活動。
3.創造獨特價值并嵌入到顧客價值鏈中。
4.評價嵌入式營銷,保持或創新嵌入式營銷的營銷活動,以維持與顧客的營銷關系。
四、嵌入式營銷的基本方式
價值鏈是企業通過經營活動創造更高價值的系統,這些創造價值的活動可以分為兩類:基本價值活動和輔助價值活動,價值鏈的兩大部分各個環節之間相互影響、相互關聯,一個環節經營管理的好壞影響到其他環節的成本和效益。嵌入式營銷正是通過分析產業顧客的價值鏈,找到顧客價值鏈中與企業可以匹配的地方,將企業的營銷活動深入到顧客價值鏈中,以建立長期穩定的營銷關系。這其中以嵌入內部后勤、運營、市場營銷最為典型,下面將就其具體方式一一闡述。
1.嵌入式營銷——嵌入顧客內部后勤。所謂嵌入顧客內部后勤的嵌入式營銷是指分析產業顧客在其產品投入品的進貨、倉儲和分配等有關活動,將自己的營銷活動與之相結合的營銷方式。例如:安富利電子元件部獲得海爾的庫存所有權,成為其供應鏈的'合作伙伴正是借助了嵌入式營銷的力量。安富利電子元件不僅為海爾提供所需要的電子元件,更為重要的是其增值的供應鏈服務,為海爾提供定期的庫存分析,按需要進行自動補給,以確保庫存時刻保持在最佳水平。安富利正是抓住了這些本來是由海爾自己來解決的內部后勤問題將自己的營銷活動嵌入到海爾的價值鏈中,成為海爾創造價值的一部分,從而結成穩定的合作關系。
2.嵌入式營銷——嵌入顧客運營。在營銷過程中將營銷活動嵌入到產業顧客價值鏈中的運營環節,就是嵌入顧客運營的嵌入式營銷。例如著名的第三方檢驗機構——廣州金域的發展歷史,金域公司本是一家生產乙肝檢測試劑的廠家,為了避免與眾多競爭對手的價格戰,通過分析醫院的產業價值鏈發現只有少數醫院才有試劑最終的檢測儀器,大量的醫院在使用了試劑之后都要通過其他機構進行最終檢測。金域公司就買進一臺檢測儀器,在銷售其檢測試劑的同時保證為醫院免費提供檢測,這樣不僅吸引了大量的顧客,而且自己所提供的服務成為醫院價值鏈中運營活動的一部分,建立了穩定的供貨關系,最終確立了其在行業中的領先地位?,F在金域公司已經成為了一家專業的第三方檢驗機構。
3.嵌入式營銷——嵌入顧客營銷活動。嵌入顧客營銷活動的嵌入式營銷是指通過分析產業顧客的價值鏈,將企業的營銷活動和顧客的價值鏈中的市場營銷相結合,和顧客的產品收集、儲存、散發和購買等活動相聯系,比如產品庫存、搬運、銷售渠道選擇等等。在這方面的一個典型例子是各種專業的連鎖店,比如國美,通過分析家電企業的價值鏈,得出銷售渠道在家電企業中的重要位置,為了達到吸引產業顧客進入其店面進行銷售,建立了全國性的連鎖商店,成為家電企業分銷活動中不可或缺的一部分。
嵌入式營銷不僅只在這三種價值鏈活動中運用,在其他的主體活動,以及支持活動中都可以采用。
五、小結
嵌入式營銷作為一種產業營銷的新思維,體現了顧客滿意、競爭導向和關系營銷的理念,其超越現有競爭空間,為顧客提供價值鏈增值服務,已達成穩固營銷關系的觀念,必將被越來越多的企業所踐行。
參考文獻:
[1]邁克爾·波特:競爭戰略[M].華夏出版社,2001
[2]格里·約翰遜凱萬·斯科爾斯王軍等譯:戰略管理[M].人民郵電出版社,2004
[3]菲利普·科特勒梅清豪譯:營銷管理(第11版)[M].上海人民出版社,2003
?? 嵌入式心得體會 ??
1 實時系統
實時系統是指數據產生時,能以足夠快的速度來進行處理,處理的結果能在規定的時間內來控制生產過程與處理系統,讓它做出極快的響應。在實時系統中,如果指定的時間沒有完成確定的任務,整個系統會全面失敗,這被稱為硬實時系統,反之,如果在指定的時間內沒有完成確定的任務,不會出現致命的錯誤就被稱為軟實時系統。
2 分時系統
分時系統是把時間劃為長短基本相同的時間片,操作系統輪流分配給各個作業使用,如果某個作業在時間片結束完成,這個作業被掛起,等下一輪循環再繼續使用,分時操作系統具有以下幾個特點:多路性,用戶通過各自的'終端可以同時使用一個系統;及時性,對于提出的要求,系統能在較短的時間內得到響應與處理;獨立性,雖然同一時間內可以多個用戶使用同一個CPU,但是用戶之間操作獨立,彼此不干涉。
3 嵌入式系統選型
選擇自己需要的嵌入式系統,可以從以下幾方面進行對比選擇。
3.1 進入市場時間
產品的進入時間與選擇的操作系統有很大的關系,實際的產品與演示的產品不同。一些高效推出的操作系統由于研發時間不夠、技術累積不夠,導致成本高、核心競爭能力差。比如WinCE操作系統,它就是在windows系統上作一定程度的改變,去掉一些不需要的功能,很快推出產品,結果實用時出現很多問題。
3.2 可移植性
通常來說,嵌入式系統的移植性越好,可在在不同平臺、不同系統上都能移植,那是處于最理想的狀態,然而實際運用中并不能達到這種理想狀態,如果過于強調移植性,那么會付出性能優化的代價。
3.3 可利用資源
嵌入式系統是以快速、低成本、高效率的推平適合用戶需要的一個系統平臺,而在這個平臺上能使用多少功能,需要使用第三方的產品,因此這個平臺上能使用多少第三方的產品是選型的一個重要條件,有些嵌入式系統為了滿足高性能、高可靠性的要求,使用比較封閉的操作系統,多數只能使用自己獨立
3.4 系統定制能力
用戶在使用嵌入式操作系統的時候,要求能定制不同的硬件平臺,比如會要求能否對系統提出底層的更動要求?能否定制出現能滿足自己需要、更有自己特色的系統、能否開放原代碼等等。
3.5 成本
選擇嵌入式操作系統,需要考慮成本的問題,比如一個系統是完全免費的,還是需要支付許可使用費等等,在這個選擇中,并不是免費的就是最好的,這要考慮到硬件設計人員的投入、公司的管理、第三方軟件的開發及使用,等等方面的問題,最后對成本作一個綜合考量。
3.6 語言內核支持
語言內核支持指操作系統能使用幾種語言操作,比如西文的、中文的,如果是可以使用中文操作,那么它是否支持雙字節編碼,是只支持簡體中文系統還是同時支持繁體系統,同時還要考慮中文輸入法與處理系統,語言內核的支持與第三方軟件資源的利用有非常重要的聯系。
?? 嵌入式心得體會 ??
首先,嵌入式系統是以應用為中心,以計算機技術為基礎,且軟硬件可裁減,適應應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。嵌入式有如下幾個突出的有點1.系統內核小,2專用性強,3系統精簡4高實時性OS5嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行,6嵌入式系統需要開發工具和環境。
嵌入式系統是近幾年才風靡起來的,但是這個概念并非新近才出現。從20世紀七十年代單片機(最早的單片機是Intel公司的 8048,出現在1976年)的出現到今天各式各樣的嵌入式微處理器,微控制器的大規模應用,嵌入式系統已經有了近30年的發展歷史。經過30年的發展,嵌入式技術已經日趨成熟,在中國嵌入式機一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用于實現對其他設備的控制、監視或管理等功能。
其次,嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。
嵌入式系統是軟硬結合的學科,通常有兩類人會去專研嵌入式:一類是學電子工程、通信工程等偏硬件專業的,另一類是學軟件、計算機專業出身的人,主要從事嵌入式操作系統和應用軟件的開發。
我是軟件專業的學習嵌入式,越是智能設備越是復雜系統,軟件越起關鍵作用,而且這是目前的趨勢。嵌入式應用在很多方面,具體的可以分為工業控制,交通管理,信息家電,家庭智能管理系統,POS網絡及電子商務,環境工程與自然,機器人,機電產品方面應用等方面。其中目前在服務領域,如遠程點菜器等已經體現了嵌入式系統的優勢。例外還有很多地方用到了嵌入式系統,最近飛利浦和ARM共同推出32位RISC嵌入式控制器,適用于工業控制,采用最先進的0.18微米CMOS嵌入式閃存處理技術,操作電壓可以低至1.2伏,它還能降低25%到30%的制造成本,在工業領域中對最終用戶而言是一套極具成本效益的解決方案。
首先我聲明,我是基于嵌入式系統平臺級設計的,硬件這個方向我相對來講比較有發言權,如果是其它方面所要具備的基本技能還要和我們培訓中心其它專業級講師溝通。他們的方面上我只能說是知道些,但不是太多,初級的問題也可以問我。
對于硬件來講有幾個方向,就單純信號來分為數字和模擬,模擬比較難搞,一般需要很長的經驗積累,單單一個阻值或容值的精度不夠就可能使信號偏差很大。因此年輕人搞的較少,隨著技術的發展,出現了模擬電路數字化,比如手機的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語功底很好的硬件工程師,在電路板調試過程中能通過自已編寫的測試程序對硬件功能進行驗證。然后再交給基于操作系統級的驅動開發人員。
?? 嵌入式心得體會 ??
嵌入式系統通常為一個資源受限的系統。直接在嵌入式系統的硬件平臺上編寫軟件比較困難,有時甚至是不可能的。目前,一般采用的辦法是,先在通用計算機上編寫程序,然后,通過交叉編譯,生成目標平臺上可運行的二進制代碼格式,最后下載到目標平臺上的特定位置上運行,具體步驟如下。
第一步,建立嵌入式Linux交叉開發環境。目前,常用的交叉開發環境主要有開放和商業兩種類型。開放的交叉開發環境的典型代表是GNU工具鏈,目前已經能夠支持x86、ARM、MIPS、PowerPC等多種處理器。商業的交叉開發環境主要有Metrowerks CodeWarrior、ARM Software Development Toolkit、SDS Cross compiler、WindRiver Tornado、Microsoft Embedded Visual C++等。交叉開發環境是指編譯、鏈接和調試嵌入式應用軟件的環境。它與運行嵌入式應用軟件的環境有所不同,通常采用宿主機/目標機模式。
第二步,交叉編譯和鏈接。在完成嵌入式軟件的編碼之后,就是進行編譯和鏈接,以生成可執行代碼。由于開發過程大多是在Intel公司x86系列CPU的通用計算機上進行的,而目標環境的處理器芯片卻大多為ARM、MIPS、PowerPC、DragonBall等系列的微處理器,這就要求在建立好的交叉開發環境中進行交叉編譯和鏈接。
第三步,交叉調試。
① 硬件調試。如果不采用在線仿真器,可以讓CPU直接在其內部實現調試功能,并通過在開發板上引出的調試端口,發送調試命令和接收調試信息,完成調試過程。目前,ARM公司提供的開發板上使用的則是JTAG調試端口。
② 軟件調試。在嵌入式Linux系統中,Linux系統內核調試,可以先在Linux內核中設置一個調試樁(debug stub),用作調試過程中和宿主機之間的通信服務器。然后,可以在宿主機中通過調試器的串口與調試樁進行通信,并通過調試器控制目標機上Linux內核的運行。
第四步,系統測試。整個軟件系統編譯過程,嵌入式系統的硬件一般采用專門的測試儀器進行測試,而軟件則需要有相關的測試技術和測試工具的支持,并要采用特定的測試策略。測試技術指的是軟件測試的專門途徑,以及能夠更加有效地運用這些途徑的特定方法。
?? 嵌入式心得體會 ??
2017年嵌入式系統題庫
嵌入式系統的核心是由一個或幾個預先編程好以用來執行少數幾項任務的微處理器或者單片機組成。下面是小編收集的嵌入式系統題庫,希望大家認真閱讀!
1:用C語言實現大小端的測試
Int CheckCpu()
{
union
{
int a;
char b;
}c;
c.a=1;
if(c.b==1)
printf(“小端”);
else printf(“大端”);
}
2:volatile的作用有哪些?
Volatile第一變量相當于告訴編譯器這個變量的值會隨時發生變化,每次使用之前都要去內存里從新讀取它的值,并不要隨意針對它做優化,主要用在:
1:一個中斷子程序中會訪問到的非自動變量;
2:多線程應用中被幾個線程共享的變量;
3:并行設備的硬件寄存器。
3:C語言中static關鍵字的作用有哪些?
1:在函數體中,一個被聲明為靜態的變量在這個變量在調用過程中維持其值不變;
2:在模塊內(但在函數體外),一個被聲明為靜態的變量,可以被這個模塊內的所用函數使用,但不能被模塊外的函數使用,它是一個本地的全局變量;
3:在模塊內,一個被聲明為靜態變量的函數,智能被這個模塊內的函數調用;
4:static全局變量與局部變量的'區別:static全局變量只能被初始化一次,防止其他單元文件中被引用;
5:static局部變量與局部變量的區別:static局部變量只能被初始化一次,下一次依據上一次結果的值;
6:static函數與普通函數的區別:static在內存中只用一份,普通函數在每一次調用中維持一份拷貝。
4:請問下面三種變量的區別:
Int const *p : 指向常整型的指針;
Int *const p; 指向整型的常指針;
Int *const *p: 指向常整型的常指針;
5:在ARM系統中,在函數調用的時候,參數是通過哪種方式傳遞的。
當參數小于等于4的時候是通過r0~r3來進行傳遞的,當參數大于4的時候是通過壓棧的方式進行傳遞。
6:中斷與異常有何區別.
異常在處理的時候必須考慮與處理器的時鐘同步,實際上異常也稱為同步中斷,在處理器執行到因編譯錯誤而導致的錯誤指令時,或者在執行期間出現特殊錯誤,必須靠內核處理的時候,處理器就會產生一個異常;所謂中斷是指外部硬件產生的一個電信號從CPU的中斷引腳進入,打斷CPU的運行。所謂異常是指軟件運行過程中發生了一些必須作出處理的事件,CPU自動產生一個陷入來打斷CPU的運行。
7:用預處理指令#define表示一年中有多少秒
#define SECONDS_PER_YEAR (60*60*24*365)UL
注意后面必須加UL,表示計算的結構是常整型。
8:簡述SPI,UART,I2C三種傳輸方式。
SPI:高速同步串行口,首發獨立,可同步進行
SPI接口主要應用在EEPROM,Flash,實時時鐘,A/D轉化器,數字信號處理,是一種全雙工同步通訊總線,該接口一般使用四條線:串行時鐘線(sck),主出從入線,主入從出線,低電平有效地的從機選擇線。
I2C協議:是單片機與其他芯片進行通訊的協議:1:只要求兩條總線線路,一條是串行時鐘線,一條是串行數據線; 2:通過軟件設定地址 3:是一個多主機總線,如果兩個或更多主機同時初始化數據傳送可通過沖突檢測和仲裁防止數據破壞; 4:I2C總線傳輸的是數據的總高位
UART:主要是由一個modem(調制解調器),可以將模擬信號量轉化成數字信號量。
9:中斷不能返回一個值,中斷不能傳遞參數。
10:嵌入式系統總要求用戶對變量或者寄存器進行位操作,給定一個整型變量a:
define BIT3 (oxo1<<3)
static int a ;
void set_bit3(void)
{
a|=BIT3;
}
void clear_bit3(void)
{
a&=~BIT3;
}
作為一個嵌入式程序員,這種程序是小菜一碟,至所以給出這個程序,是想規范大家寫程序方法,這里主要是用到了一個宏定義:BIT3 這樣的話就可以增加程序的可讀性
同時移植性也增強。
11:嵌入式系統中經常要求程序去訪問某特定內存的特點,在某工程中,要求設定一個絕對地址0x6799的整型變量的值為0xaa66.
Int *ptr;
ptr=(int*)0x67a9;
*ptr=aa66
12:引用和指針有什么區別?
1:應用必須初始化,指針不必;
2:引用處畫化后不能改變,指針可以被改變;
3:不存在指向空值的引用,但存在指向空值的指針;
13:全局變量與局部變量在內存中是否有區別,是什么區別?
全局變量存儲在靜態數據庫,局部變量存儲在堆棧;
14:寫出float,bool,int類型與零的比較,假設變量為X:
Int : if(x==0)
Float: if(x>0.0000001&&x<0.0000001)
Bool: if(x==false)
15:Intertnet采用哪種網絡協議,該協議的主要層次結構?
TCP/IP協議
應用層/傳輸層/網絡層/數字鏈路層/物理層。
16:IP地址有兩部分組成:網絡號和主機號
17:程序的局部變量存儲在(棧)中,全局變量存儲于(靜態存儲區),動態申請數據存儲于(堆中);
18:編寫一個字符串復制函數:strcpy(const char *str,const char *str1)
void strcpy(const *char str,const chat *str1)
{
if(*str1==’\0’) return;
char *sp1,*sp2;
sp1= str;
sp2=str1;
while(*sp2!=’\0’)
{
*sp1=sp2;
sp1++;
sp2++;
}
}
19:編寫一個函數實現字符串翻轉 void rechange(char *str)
void rechange(char *str)
{
Int len;
char t;
len=strlen(str);
for(int i=0;len/2;i++)
{
t=str[i];
str[i]=str[len-i-1];
str[len-i-1]=t;
}
}
20:編寫一個函數實現字符串比較 int strcmp(char *str1,char *str2),相等返回1,不相等返回0:
int strcmp(char *str1,char *str2)
{
if(*str1==‘\0’||*str2==’\0’) return;
while(*str1!=’\0’&&*str2!=’\0’&&*str1==*str2)
{
str1++;
str2++;
}
if(*str1==*str2)
return 1;
else return 0;
}
}
21:進程和線程的區別:
1:調度:線程作為調度和分配的基本單元,進程作為擁有資源的基本單位;
2:并發性:不僅進程可以并發執行,同一進程內的線程也可以并發執行。
3:擁有資源:進程是擁有資源的基本獨立單元,線程不擁有資源,但可以訪問進程內的資源;
4:在創建或撤銷線程時,由于系統都要為之分配和回收內存資源,導致系統的開銷明顯大于創建或撤銷線程時的開銷。
?? 嵌入式心得體會 ??
嵌入式處理器(Embedded Processor,EP)與通用處理器最大的區別就在于嵌入式處理器大多工作在為不同用戶群所設計的特定系統中,它常常將通用處理器中許多由板卡完成的功能集成到芯片內部,從而有利于實現嵌入式系統設計的微型化,同時又保證了較高的可靠性和處理效率。到目前為止,全球嵌入式處理器的種類已經超過1000多種,其中以ARM、MIPS、Power PC、Motorola 68K、X86等體系結構最為常見,一般將嵌入式處理器分成以下四類:
1)嵌入式微控制器 (Microcontroller Unit,MCU);
2)嵌入式微處理器 (Embedded Microprocessor Unit,EMPU);
3)嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP);
4)片上系統(System On Chip,SOC)。
一般在嵌入式系統設計中常用的嵌入式微處理器和體系結構主要有以下幾種:
1) ARM
ARM(Advanced RISC Machines)公司是全球著名的16/32位精簡指令集計算機RISC(Reduced Instruction Set Computer)處理器設計供應商,通過提供高性能與低功耗的RISC處理器芯片設計技術給各個生產廠商來生產滿足不同應用領域要求的芯片。事實上,由于ARM處理器一方面支持16位的Thumb指令集和32位的ARM指令集,另一方面使用了大量的寄存器和靈活的尋址方式來提高系統執行的效率,所以ARM處理器技術已經成為數字通信、工業控制、多媒體家電等嵌入式應用領域的RISC標準。ARM系列處理器種類很多,目前市場上應用最為廣泛的是ARM9和ARM10系列處理芯片。ARM9處理器由于擁有了五級流水線結構和自帶MMU功能,廣泛應用于手持終端和無線通訊等領域。ARM10處理器由于采用了更高的六級流水線結構和支持DSP指令以及支持64位的AMBA總線接口[5],其性能較ARM9有了很大的提高,廣泛應用于手持PDA以及車載電子等高端領域。
2) MIPS
MIPS(Microprocessor without Interlocked Pipeline Stages)簡稱無內部互鎖流水級的微處理器,是美國MIPS技術公司推出的一種基于RISC架構的高性能高檔次的處理器內核。MIPS采用了先進的設計理念和清晰的系統結構,強調軟硬件協同工作以提高處理器性能,同時簡化了硬件設計,采用軟件方法來避免流水線運行中的數據相關問題。雖與ARM處理器相比,MIPS體系結構的處理器功耗要高些,但它具備了從32位低端產品到64位高端產品的完整解決方案,而且在知識產權的授權費用上MIPS要低于ARM,因此,MIPS內核逐漸被越來越多的消費類電子產品和工業控制產品的設計所采用。
3) Power PC
PowerPC(Performance optimization with Enhanced RISC performance Computing)簡稱性能優化與增強的RISC性能計算,是由IBM、Motorola和Apple公司聯合開發的一款高性能32/64位RISC處理器,其主要特點是可伸縮性好,方便靈活和較高的性價比。常見的基于Power PC架構的處理器有IBM公司的Power PC64S(深藍內部的CPU)、Power PC750、Power PCG3以及Motorola公司的MC和MPC系列等。目前,基于Power PC體系結構的'處理器廣泛應用于桌面PC系統、移動PC系統、嵌入式系統以及金融電信等行業。
4) Motorola 68K
Motorola 68K采用復雜指令集計算機CISC(Complex Instruction Set Computer)架構[8],是出現比較早的嵌入式處理器,在全球的各種嵌入式處理器應用領域中取得了巨大成功。曾經Sun微計算機公司把這款處理器應用于早期的產品開發中。
5) X86
X86系列處理器起源于Inter架構的8080,然后發展出286、386、486直到現在的奔騰處理器乃至雙核處理器。從嵌入式市場分布來看,486DX也是與ARM、68K、MIPS、SuperH齊名的五大嵌入式處理器之一。目前市場上基于X86體系結構的PC104產品占有很大的市場份額。
?? 嵌入式心得體會 ??
一、嵌入式系統開發與應用概述
在今日,嵌入式ARM 技術已經成為了一門比較熱門的學科,無論是在電子類的什么領域,你都可以看到嵌入式ARM 的影子。如果你還停留在單片機級別的學習,那么實際上你已經落下時代腳步了,ARM 嵌入式技術正以幾何的倍數高速發展,它幾乎滲透到了幾乎你所想到的領域。本章節就是將你領入ARM 的學習大門,開始嵌入式開發之旅。以嵌入式計算機為技術核心的嵌入式系統是繼網絡技術之后,又一個IT領域新的技術發展方向。由于嵌入式系統具有體積小、性能強、功耗低、可靠性高以及面向行業具體應用等突出特征, 目前已經廣泛地應用于軍事國防、消費電子、信息家電、網絡通信、工業控制等各個領域。嵌入式的廣泛應用可以說是無所不在。
嵌入式微處理器技術的基礎是通用計算機技術?,F在許多嵌入式處理器也是從早期的PC 機的應用發展演化過來的,如早期PC 諸如TRS-80、Apple II 和所用的Z80 和6502 處理器,至今仍為低 端的嵌入式應用。在應用中,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。嵌入式處理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM 等系列。
在早期實際的嵌入式應用中,芯片選擇時往往以某一種微處理器內核為核心,在芯片內部集成必要的ROM/EPROM/Flash/EEPROM、SRAM、接口總線及總線控制邏輯、定時/計數器、WatchDog、I/O、串行口、脈寬調制輸出、A/D、D/A 等各種必要的功能和外設。
二、實習設備
硬件:Embest EduKit-IV實驗平臺、ULINK2仿真器套件、PC機
軟件:mu;Vision IDE for ARM集成開發環境、Windows 98//NT/XP
三、實習目的
1.初步掌握液晶屏的使用及其電路設計方法;掌握S3C2410X處理器的LCD控制器的使用;掌握通過任務調用的方法把液晶顯示函數添加到uC/OS-II中;通過實驗掌握液晶顯示文本及圖形的方法與程序設計。
2.了解S3C2410X處理器UART相關控制寄存器的使用; 熟悉ARM處理器系統硬件電路中UART接口的設計方法:掌握ARM處理器串行通信的軟件編程方法。
3.掌握有關音頻處理的基礎知識;通過實驗了解IIS音頻接口的工作原理;通過實驗掌握對處理器S3C2410X中IIS模塊電路的控制方法;通過實驗掌握對常用IIS接口音頻芯片的控制方法。
4.了解mu;C/OS-II移植條件和內核基本結構;掌握將mu;C/OS-II內核移植到ARM9處理器上的方法和步驟。
四、實習要求
通過對mu;C/OS-II移植實驗、mu;C/OS-II LCD顯示實驗、串口通信實驗、IIS音頻實驗、液晶顯示實驗的學習,并將各部分內容合并,最終得出實習結果,實習要求在鍵盤上輸入學號,在液晶顯示屏上顯示相應的學生信息。學生信息包括顯示每個人的照片和姓名系別等,并用鍵控設置學生輸出的順序,輸入學號就顯示那個學生的信息,然后過一段時間就順序循環播放。
移植mu;C/OS-II內核到ARM處理器S3C2410,在IDE中觀察其運行狀況編寫S3C2410X處理器的串口通信程序;監視串行口UART1動作;將從UART1接收到的字符串回送顯示。將從UART1接收到的字符串回送顯示。
通過使用Embest EduKit-IV實驗板的彩色液晶屏(800*480)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,并編寫任務函數在uC/OS-II系統中實現位圖顯示。在uC/OS-II中建立五個任務Tast1和Tast2,其中Tast1順序熄滅四個LED,延遲一會在順序點亮四個LED。Tast2在LCD屏幕上循環顯示三幅圖片,并打印一些文字信息和背景音樂。過使用Embest EduKit-III實驗板的256 色彩色液晶屏(320x240)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,并編寫程序實現:畫出多個矩形框;顯示ASCII字符;顯示漢字字符;顯示彩色位圖。
五、實習步驟
1. 準備實驗環境
使用ULINK2仿真器連接Embest EduKit-IV實驗平臺的主板JTAG接口;使用Embest EduKit-IV實驗平臺附帶的交叉串口線,連接實驗平臺主板上的COM2和PC機的串口(一般PC只有一個串口,如果有多個請自行選擇,筆記本沒有串口設備的可購買USB轉串口適配器擴充);使用Embest EduKit-IV實驗平臺附帶的電源適配器,連接實驗平臺主板上的電源接口。
2. 串口接收設置
在PC機上運行windows自帶的超級終端串口通信程序,或者使用實驗平臺附帶光盤內設置好了的超級終端,設置超級終端:波特率115200、1位停止位、無校驗位、無硬件流控制,或者使用其它串口通信程序。(注:超級終端串口的選擇根據用戶的PC串口硬件不同,請自行選擇,如果PC機只有一個串口,一般是COM1)
3. 打開實驗例程
1)打開實驗程序
2)運行mu;Vision IDE for ARM軟件
3)默認打開的工程在源碼編輯窗口會顯示實驗例程的說明文件readme.txt,詳細閱讀并理解實驗內容。
4)工程提供了兩種運行方式:一是下載到SDRAM中調試運行,二是固化到Nor Flash中運行。用戶可以在工具欄Select Target下拉框中選擇在RAM中調試運行還是固化Flash中運行。下面實驗將介紹下載到SDRAM中調試運行,所以我們在Select Target下拉框中選擇UART_Test IN RAM。
5)接下來開始編譯鏈接工程,在菜單欄“Projiet”選擇“Build target”或者“Rebuild all target files”編譯整個工程。
6編譯完成后,在輸出窗口可以看到編譯提示信息,比如““.SDRAMUART_Test.axf” - 0 Error(s), 1 Warning(s).”,如果顯示“0 Error(s)”即表示編譯成功。
7)撥動實驗平臺電源開關,給實驗平臺上電,單擊菜單欄Debug->Start/Stop Debug Session項將編譯出來的映像文件下載到SDRAM中,或者單擊工具欄“”按鈕來下載。
8)下載完成后,單擊菜單欄Debug->Run項運行程序,或者單擊工具欄“”按鈕來全速運行程序。用戶也可以使用進行單步調試程序。
9)全速運行后,用戶可以在超級終端看到程序運行的信息。
10)用戶可以Stop程序運行,使用mu;Vision IDE for ARM的一些調試窗口跟蹤查看程序運行的`信息。 注:如果在第4)步用戶選擇在Flash中運行,則編譯鏈接成功后,單擊菜單欄Flash->Download項將程序固化到NorFlash中,從實驗平臺的主板拔出JTAG線,給實驗平臺重新上電,程序將自動運行。
部分程序圖:
串口通信實驗:
IIS音頻實驗:
六、實習體會
在嵌入式系統中,除了課本上的基礎知識外,還學會了軟件編程的基本思路,掌握了液晶屏的使用及其電路設計方法;掌握有關音頻處理的基礎知識;掌握液晶顯示文本及圖形的方法與程序設計。
通過這次設計,掌握了液晶顯示實驗、mu;C/OS-II移植、mu;C/OS-IILCD顯示的工作原理及串口通信實驗的工作過程,學會了使用仿真軟件Embest EduKit-IV實驗平臺及ULINK2仿真器套件,并學會通過應用軟件仿真來實現各種通信系統的設計,對以后的學習和工作都起到了一定的作用,加強了動手能力和學業技能。雖然花了很長時間編寫軟件程序設計,但這一切還是理論上的。希望學校能提供機會和條件,讓我們能夠去真正地將理論和實踐相結合。通過這次程序,感覺自己所掌握的知識是那么的有限,還有許多需要改進和不足的地方,同時也幫助了我怎樣學好這門課程,增加了我對這門學科的興趣。總體來說,這次實習我受益匪淺。在摸索該如何設計電路使之實現所需功能的過程中特別有趣,培養了我的設計思維,增加了實際操作能力。在讓我體會到了設計電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。通過這次實習通信系統的設計,使我更加清楚以后的發展及學習的方向。
最后感謝老師這個學期的指導和幫助!
七、參考文獻
《ARM9嵌入式系統設計與開發應用》熊茂華、楊震倫編著 清華大學出版社
《ARM9嵌入式系統設計與開發教程》于明編著 電子工業出版社
《Linux嵌入式系統教程》馬忠梅 北京航空航天大學出版社
?? 嵌入式心得體會 ??
這學期才接觸嵌入式系統感覺還稱不上入門,我通過學習知道了嵌入式的發展前景很大,各個領域都用到了嵌入式,學好嵌入式不愁沒飯吃。
廣義上講,凡是帶有微處理器的專用軟硬件系統都是嵌入式系統。如各類單片機和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 的代碼等等,麻雀雖
小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。
以上就是我在本學期學習嵌入式后的心得及感想。
文章來源:http://www.lipstick2017.com/youxiuzuowen/125770.html
’&&*str2!=’id="article-content1">
嵌入式心得體會(分享十三篇)
發表時間:2018-05-06 嵌入式心得體會(分享十三篇)。
?? 嵌入式心得體會 ??
一、嵌入式的概述:
隨著信息化技術的發展和數字化產品的普及,以計算機技術、芯片技術和軟件技術為核心的嵌入式系統再度成為當前研究和應用的熱點,通信、計算機、消費電子技術(3C)合一的趨勢正在逐步形成,無所不在的網絡和無所不在的計算(everything connecting, everywhere computing)正在將人類帶入一個嶄新的信息社會。
二、實習目的
學習和了解了嵌入式在生活中的重要作用和發展過程,熟練掌握ARM硬件體系結構,熟悉linux下的嵌入式編程流程,積累自己的軟件編寫經驗,能夠參與并實現一個真實和完整的嵌入式項目,為今后的學習和將從事的技術工作打下堅實的基礎
三、實習任務
第一階段Linux操作和編程基礎
主要介紹Linux的基本命令和基礎編程知識,包括Linux的文件操作和目錄操作命令,VI編輯器,GCC編譯器,GDB調試器和Make項目管理工具等知識。
第二階段 嵌入式C語言編程基礎
主要介紹在嵌入式開發編程中C語言的重要概念和編程技巧中的重點難點,以復習串講和實例分析的形式,重點介紹包括函數與程序結構,指針、數組和鏈表,庫函數的使用等知識。
第三階段Linux上C強化編程訓練
主要包括整數算法訓練,遞歸和棧編程訓練,位操作訓練,指針訓練,字符串訓練和常用C庫函數編程接口實踐,強化學員對Linux下基本編程開發的理解和編碼調試的能力。
第四階段 Linux環境高級編程及項目開發編程實踐
主要包括系統編程(信號/系統調用/管道/FIFO/消息隊列/共享內存等),文件I/O編程(文件描述符/文件讀寫接口/原子操作/阻塞與非阻塞IO等,多任務和多線程編程(進程標識/ 用戶標識/fork與vfork/多線程概念/線程同步等),網絡編程(網絡基本概念/套接口編程/網絡字節次序/Client/Server結構/UDP編程);掌握Linux下Socket編程的開發流程,熟悉網絡編程的調用接口函數和相關數據結構,使學員初步具備在Linux上進行系統編程開發的能力。同時綜合之前所學內容和編程技術,以小組為單位進行一個團隊合作項目的開發,考核內容包括文件I/O編程,多線程編程,網絡編程和項目文檔編寫。
第五階段嵌入式處理器體系結構及編程實踐
主要介紹ARM體系結構及其基本編程知識,包括指令分類,尋址方式、指令集、存儲系統、異常中斷處理、匯編語言以及CC++和匯編語言的混合編程等知識。同時結合ARM嵌入式開發板硬件設計原理和基本硬件設計流程,分析各種外設的工作原理和驅動機制,并自己動手實踐完成一個ARM開發板上的編程大作業。
第六階段嵌入式Linux開發基礎及高級應用
主要介紹嵌入式Linux開發應用程序的基本流程和知識,包括嵌入式Linux基本概念和開發流程、Bootloader工作原理、內核裁減配置和交叉編譯、根文件系統制作、網絡編程以及圖形界面和數據庫開發等知識。同時獨立完成一個基于嵌入式Linux GUI的應用編程大作業。
第七階段嵌入式 Linux驅動理論及驅動程序開發實踐
主要介紹嵌入式Linux上驅動程序開發規范,包括設備驅動程序概念、字符設備驅動程序、塊設備與網絡設備、網卡驅動以及常用嵌入式設備驅動開發等知識。同時獨立實現兩種嵌入式設備驅動程序的編寫,包括驅動模塊的調試和加載以及完整的項目開發文檔的編寫。
第八階段嵌入式Linux項目團隊開發實踐鍛煉
主要包括設計并實現一個真實和完整的嵌入式項目的開發流程,涉及到數據采集、網絡通訊、圖形用戶界面顯示以及嵌入式數據庫存儲系統等多種嵌入式Linux編程技術。要求學員建立起團隊開發和協同工作的企業項目開發模式的概念和流程,強化學員對編寫項目概要設計文檔和詳細設計文檔的理解,為就業前的職業技能和素質訓練做好充分準備。
四、實習內容
1、 嵌入式的歷史與現狀
雖然嵌入式系統是近幾年才開始真正風靡起來的,但事實上嵌入式這個概念卻很早就已經存在了,從上個世紀70年代單片機的出現到今天各種嵌入式微處理器、微控制器的廣泛應用,嵌入式系統少說也有了近30年的歷史??v觀嵌入式系統的發展歷程,大致經歷了以下四個階段:
無操作系統階段
嵌入式系統最初的應用是基于單片機的,大多以可編程控制器的形式出現,具有監測、伺服、設備指示等功能,通常應用于各類工業控制和飛機、導彈等武器裝備中,一般沒有操作系統的支持,只能通過匯編語言對系統進行直接控制,運行結束后再清除內存。這些裝置雖然已經初步具備了嵌入式的應用特點,但僅僅只是使用8位的CPU芯片來執行一些單線程的程序,因此嚴格地說還談不上"系統"的概念。
這一階段嵌入式系統的主要特點是:系統結構和功能相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由于這種嵌入式系統使用簡便、價格低廉,因而曾經在工業控制領域中得到了非常廣泛的應用,但卻無法滿足現今對執行效率、存儲容量都有較高要求的信息家電等場合的需要。
?? 嵌入式心得體會 ??
嵌入式是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。由于嵌入式系統通常具有低功耗、體積小、集成度高等特點,因此隨著消費家電的智能化和廉價微處理器的.出現,嵌入式系統將在日常生活里形成更大的應用領域。嵌入式就業前景良好,嵌入式人才社會需求量大。
嵌入式就業前景分析-嵌入式軟件開發應用領域
嵌入式系統是當前最熱門、最具發展前途的IT應用領域之一。包括手機、電子字典、可視電話、數字相機、數字攝像機、U-Disk、機頂盒、高清電視、游戲機、智能玩具、交換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等都是典型的嵌入式系統。因此,通過嵌入式培訓成為專業的嵌入式技術人才,嵌入式就業前景也非常好,其職業發展空間較大。
嵌入式就業前景分析-嵌入式軟件開發人才需求
目前國內嵌入式人才極度匱乏,權威部門統計,我國目前嵌入式軟件人才缺口每年為40萬人左右。供不應求使得嵌入式人才身價上漲,而且,越有專業經驗,就業競爭力就越大。因此,IT專業人士通過培訓掌握嵌入式技術,就能成為炙手可熱的專業人才,其培訓回報有保障。
嵌入式就業前景分析-嵌入式軟件開發就業方向
由于大唐各約嵌入式技術支持工程師都高居前五位。
?? 嵌入式心得體會 ??
嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。按照行業細分,嵌入式產品主要分布在消費類電子、通信、醫療、安全等行業。嵌入式軟件產業發展迅猛,已成為軟件體系的重要組成部分。嵌入式系統產品正不斷滲透各個行業,作為包含在這些硬件產品中的特殊軟件形態,其產業增幅不斷加大,而且在整個軟件產業的比重日趨提高。從2003到2006年,全球嵌入式軟件市場規模均復合增長率達到30%。
據預測,在未來的幾年內,嵌入式系統的發展為幾乎所有的電子設備注入了新的活力,加上迅速發展的Internet和廉價的微處理器出現,嵌入式系統將在我們的日常生活里形成一個更大的應用領域。據調查,上海地區嵌入式系統開發涉及的行業眾多,但多數停留在8位單片機開發層面,僅有部分企業開始采用32位處理器和實時操作系統(RTOS,Real Time Operating System)。然而,國內能夠同時進行軟件設計和芯片設計的SoC系統設計的高端人才幾乎沒有,國際上領先的多核嵌入式系統設計,可重構嵌入式系統設計在國內的應用也還停留在少數科研機構的研究課題中。
人才需求
搜索“linux”,更可以獲得近2000條記錄。從這些職位上看,市場上需要的嵌入式人才必須具備C語言編程經驗、嵌入式操作系統(嵌入式Linux)、具有內核裁剪經驗、具有驅動程序開發經驗。這些都是在學校無法學到的知識。
嵌入式系統人才的匱乏已成為眾多企業的共識,而嵌入式系統幾乎無所不在的`應用領域使其成為一項極具發展潛力的產業,人才的匱乏已成為其發展的瓶頸,企業紛紛抱怨月薪過萬元卻招不到一個合適的嵌入式系統人才。產業的發展趨勢是,越來越多的智能設備的系統趨于復雜,軟件將發揮起關鍵作用,當前業界非常缺乏的就是軟硬件技術兼具的人才。另據權威部門統計,我國嵌入式軟件人才缺口每年為60萬人左右。
以嵌入式領域的3G為例,目前我國的3G核心人才不足萬人,基本上都受雇在幾個運營商和設備廠商。市場急需的嵌入式開發人才以及3G時代所需的增值業務開發人才非常搶手。業內人士認為,至少出現30-50萬的人才缺口,其中嵌入式15萬,移動增值可能35萬。隨著車載電子應用、手持娛樂終端在國內的普及,國內外企業紛紛加大了對嵌入式業務的投入,相關人才需求也逐漸加大。2012年3月,據英才網指數統計顯示,計算機/信息服務共提供82069個空缺職位,占當月所有空缺職位總數的30.37%,排名第一。從這些職位上看,市場上需要的嵌入式人才必須具備C語言編程經驗、嵌入式操作系統(嵌入式Linux)、內核裁剪經驗、驅動程序開發經驗。而這些都是企業用人的標準。盡管很多大學的電子、計算機專業都開設了程序設計、微機原理、單片機等課程,但高校輸送的人才與企業需要的人才卻始終沒有對應上。事實上,這個缺口就是由于缺少系統的學習和項目經驗。企業需要的人才是知識+技能+職業素養,而大多數畢業生缺乏的是實戰技能與綜合素質的培訓。嵌入式軟件開發人才的缺乏也帶來了這個行業可觀的薪酬待遇,嵌入式軟件的從業者薪酬比其他IT業同行大約高出50%。
應用前景
一些先進的PDA在顯示屏幕上已實現漢字寫入、短消息語音發布,日用范圍也將日益廣闊。對于企業專用解決方案,如物流管理、條碼掃描、移動信息采集等,這種小型手持嵌入式系統將發揮巨大的作用。自動控制領域,不僅可以用于ATM機,自動售貨機,工業控制等專用設備,和移動通訊設備結合、GPS、娛樂相結合,嵌入式系統同樣可以發揮巨大的作用。
嵌入式系統是研究的熱點。在研究的同時,我們也可以發現由于嵌入式系統并不是突然出現的,對于微處理器應用的研究和硬件系統的研究已經有了一個很長時間的發展歷史。所以無論是從硬件方面還是軟件方面我們都很容易獲得研發的資料。
硬件方面,不僅有各大公司的微處理器芯片,還有用于學習和研發的各種配套開發包。低層系統和硬件平臺經過若干年的研究,已經相對比較成熟,實現各種功能的芯片應有盡有。而且巨大的市場需求給我們提供了學習研發的資金和技術力量。
從軟件方面講,也有相當部分的成熟軟件系統。國外商品化的嵌入式實時操作系統,已進入我國市場。我國自主開發的嵌入式系統軟件產品如嵌入式軟件開發平臺DeltaSystem,它不僅包括DeltaCore嵌入式實時操作系統,而且還包括LamdaTools交叉開發工具套件、測試工具、應用組件等;此外,中科院也推出了Hopen嵌入式操作系統(雖然還不夠完善)。
?? 嵌入式心得體會 ??
首先,我們學習的課本是嵌入式系統應用教程。我學習的體會是這樣的:開始時,由于是剛剛入門,對老師書的好多東西是好奇的,好多名詞也是新鮮的,不過不太懂什么意思。但是慢慢的,了解的深入讓我有了更深的感觸和體會。
在嵌入式的學習過程中,讓我了解了什么是嵌入式系統。它就是以應用為中心,以計算機技術為基礎,軟硬件可定制,適用于不同應用場合,對功能、可靠性、成本、體積、功耗有嚴格要求的計算機系統。他一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統、用戶應用程序四個部分組成,用于實現對其他設備的控制、監視或管理功能。嵌入式系統已經應用于科學研究、工業控制、軍事技術、交通通信、醫療衛生、消費娛樂等領域,人們日常使用的手機、PDA、汽車、智能家電、GPS等均是嵌入式系統的典型代表。
一開始我們就學習嵌入式的系統的基礎部分,那很簡單,就是一些定義或是介紹之類的。在進入第二章時,就開始學習了嵌入式開發過程中的主要操作系統——linux,在接下來的課程中,我發現嵌入式的學習過程還是蠻有趣的。在對linux的學習中,我們對它有了一點點的了解,接著就是學習一虛擬機的方式安裝linux。對我來說有趣的就是安裝的過程了,首先我們跟著老師的腳步走,學會了怎么安裝,在自己動手進行對它的安裝,這個過程是簡單而有趣的。這樣的開始讓我對它充滿了興趣,也對以后的學習充滿了信心。
其次就是安裝好了之后,老師就更深一步的教我們應用了。在這是老師首先交給我們的是一些簡單的命令應用,Linux具有很豐富的命令,絕大多數命令具有大量的參數。
在學習命令的過程中,只要你認真的看著老師操作還有認真聽著他講,你就會發現有些命令的操作還是很簡單的,不過在操作的過程中,我也有遇到有些困難,會出現你按照書上學習的例子,將命令輸入終端時會出現你不想要的結果,也就是錯誤的結果。這是問問旁邊的同學或是懂的同學就可以解決了。
在對于這部分的學習中,讓我知道了命令對于嵌入式的重要性。它是linux的重要內容,linux中所有的功能都是通過命令執行。在實際應用中,為了減少系統開銷,經常不使用圖形界面,此時,對系統的所有操作都需要以命令方式來執行。在嵌入式系統開發過程中,由于目標機的性能和配置比較低,因此,一般情況下目標機僅具有命令窗口而沒有圖形界面,對目標機的所有操作都通過命令來實現。
還有的那就是進一步學習與嵌入式系統開發相關的linux的服務,他們的啟動、設置等的操作和應用。而在學習之中,我們主要介紹的是嵌入式系統中開發工程使用的TFTP、Telent和NFS服務。第一個實現的事上機位與下機位之間文件的傳輸、無磁盤網絡的設備的啟動等功能;第二個實現的事遠程登錄功能;第三個實現的是網絡文件系統功能。
從以上的內容之中,并不難感受到我們的學習過程是由淺入深的,這對于我們的學習也有了較好的幫助。
當然,我們學習的不僅僅是這么幾個內容,其中還有相關的實驗內容。在我們基礎的學習的過程之中,我有了這么一點的感受,總的來說就是概念加專業名詞還有介紹加實驗。不過你絕對不能小看那些概念和介紹,它對我們有著很重要的指導作用哦!實驗那就更不用說了,它提高我們的動手能力,在實驗的過程中還能讓你更加理解書中的理念,這就是我學習嵌入式的感受。
?? 嵌入式心得體會 ??
職責描述:
1.負責基于linux或qnx的汽車智能駕駛座艙軟件的'中間件開發與調試;
2.配合團隊進行其他項目開發。
任職要求:
1.全日制統招本科及以上學歷,電子、計算機、軟件工程或相關專業;
2.3年以上相關工作經驗;
3.精通c/c++及其相關標準庫,熟悉mvc設計模式,具備多線程編程的實際經驗;
4.熟悉網絡通訊原理,了解主流rpc技術,具備socket編程或其他相關網絡編程經驗,了解流媒體相關技術;
5.掌握嵌入式圖形編程技術,有opengl/gles經驗者優先;
6.對開源項目有一定研究能力,并有實際集成經驗者優先。
7.專業基礎扎實,熱衷技術,對汽車行業感興趣。
?? 嵌入式心得體會 ??
關于嵌入式營銷的論文
[摘要]隨著營銷實踐的發展,營銷理念也在不斷地推進與創新。嵌入式營銷便是一種基于顧客價值鏈的產業營銷新思維,其體現了現代營銷的三個核心理念:顧客滿意、競爭導向和關系營銷。本文將從嵌入式營銷的核心理念、一般程序、基本方式和主要特征入手,探討嵌入式營銷的理論結構。
[關鍵詞]嵌入式營銷關系營銷價值鏈產業營銷
一、嵌入式營銷的核心理念
嵌入式營銷是一種基于顧客價值鏈的新型產業營銷方式,在對產業顧客價值鏈分析的基礎上,綜合考慮顧客需求和競爭對手的行動,尋找企業資源能力與顧客盈利模式之間獨特的價值匹配,并將其嵌入到顧客的價值鏈上,使營銷活動成為顧客創造價值的不可或缺的一部分,從而建立長期穩定的營銷關系。
嵌入式營銷體現了現代營銷中的顧客滿意、競爭導向和關系營銷三個核心理念。第一,嵌入式營銷關注顧客滿意,在保證顧客滿意的基礎上,提供價值鏈增值服務;第二,嵌入式營銷在為顧客提供附加價值的同時,需要考慮競爭者的反應與行動,只有采取與競爭者不同的營銷活動才能達到嵌入式營銷的目的;第三,嵌入式營銷是注重關系的營銷新思維,將自身的營銷活動嵌入到顧客的價值鏈中,有利于企業與顧客建立起長久且穩定的營銷關系。在嵌入式營銷所涉及的三種營銷理念中,關系營銷居于核心地位,嵌入式營銷的實質是要與顧客建立一種顧客穩固的營銷關系。
二、嵌入式營銷的主要特征
嵌入式營銷作為一種產業營銷新思維,有其區別于一般營銷方式的一些特征,下面闡述了嵌入式營銷的主要特征:
1.嵌入式營銷為顧客提供新屬性新價值,創規則而非守規則,從了解顧客到教育顧客,從迎合市場到顛覆市場。
2.嵌入式營銷超越了現有的市場邊界和競爭空間,為顧客提供價值的同時,把自己的營銷活動深入到顧客的價值鏈上,成為其創造價值的不可或缺的一部分。
3.嵌入式營銷是一種針對產業市場顧客的營銷方式,因為只有產業顧客才可以分析其價值鏈活動。其方法并不適用于對消費者的營銷,但是他的一些理念也可以為消費者營銷提供參考。
4.嵌入式營銷注重長期穩定的營銷關系的建立。
三、嵌入式營銷的一般程序
1.分析產業顧客的價值鏈活動,尋找與企業資源能力相匹配的獨特價值。
2.分析顧客滿意因素和競爭對手的反應與活動。
3.創造獨特價值并嵌入到顧客價值鏈中。
4.評價嵌入式營銷,保持或創新嵌入式營銷的營銷活動,以維持與顧客的營銷關系。
四、嵌入式營銷的基本方式
價值鏈是企業通過經營活動創造更高價值的系統,這些創造價值的活動可以分為兩類:基本價值活動和輔助價值活動,價值鏈的兩大部分各個環節之間相互影響、相互關聯,一個環節經營管理的好壞影響到其他環節的成本和效益。嵌入式營銷正是通過分析產業顧客的價值鏈,找到顧客價值鏈中與企業可以匹配的地方,將企業的營銷活動深入到顧客價值鏈中,以建立長期穩定的營銷關系。這其中以嵌入內部后勤、運營、市場營銷最為典型,下面將就其具體方式一一闡述。
1.嵌入式營銷——嵌入顧客內部后勤。所謂嵌入顧客內部后勤的嵌入式營銷是指分析產業顧客在其產品投入品的進貨、倉儲和分配等有關活動,將自己的營銷活動與之相結合的營銷方式。例如:安富利電子元件部獲得海爾的庫存所有權,成為其供應鏈的'合作伙伴正是借助了嵌入式營銷的力量。安富利電子元件不僅為海爾提供所需要的電子元件,更為重要的是其增值的供應鏈服務,為海爾提供定期的庫存分析,按需要進行自動補給,以確保庫存時刻保持在最佳水平。安富利正是抓住了這些本來是由海爾自己來解決的內部后勤問題將自己的營銷活動嵌入到海爾的價值鏈中,成為海爾創造價值的一部分,從而結成穩定的合作關系。
2.嵌入式營銷——嵌入顧客運營。在營銷過程中將營銷活動嵌入到產業顧客價值鏈中的運營環節,就是嵌入顧客運營的嵌入式營銷。例如著名的第三方檢驗機構——廣州金域的發展歷史,金域公司本是一家生產乙肝檢測試劑的廠家,為了避免與眾多競爭對手的價格戰,通過分析醫院的產業價值鏈發現只有少數醫院才有試劑最終的檢測儀器,大量的醫院在使用了試劑之后都要通過其他機構進行最終檢測。金域公司就買進一臺檢測儀器,在銷售其檢測試劑的同時保證為醫院免費提供檢測,這樣不僅吸引了大量的顧客,而且自己所提供的服務成為醫院價值鏈中運營活動的一部分,建立了穩定的供貨關系,最終確立了其在行業中的領先地位?,F在金域公司已經成為了一家專業的第三方檢驗機構。
3.嵌入式營銷——嵌入顧客營銷活動。嵌入顧客營銷活動的嵌入式營銷是指通過分析產業顧客的價值鏈,將企業的營銷活動和顧客的價值鏈中的市場營銷相結合,和顧客的產品收集、儲存、散發和購買等活動相聯系,比如產品庫存、搬運、銷售渠道選擇等等。在這方面的一個典型例子是各種專業的連鎖店,比如國美,通過分析家電企業的價值鏈,得出銷售渠道在家電企業中的重要位置,為了達到吸引產業顧客進入其店面進行銷售,建立了全國性的連鎖商店,成為家電企業分銷活動中不可或缺的一部分。
嵌入式營銷不僅只在這三種價值鏈活動中運用,在其他的主體活動,以及支持活動中都可以采用。
五、小結
嵌入式營銷作為一種產業營銷的新思維,體現了顧客滿意、競爭導向和關系營銷的理念,其超越現有競爭空間,為顧客提供價值鏈增值服務,已達成穩固營銷關系的觀念,必將被越來越多的企業所踐行。
參考文獻:
[1]邁克爾·波特:競爭戰略[M].華夏出版社,2001
[2]格里·約翰遜凱萬·斯科爾斯王軍等譯:戰略管理[M].人民郵電出版社,2004
[3]菲利普·科特勒梅清豪譯:營銷管理(第11版)[M].上海人民出版社,2003
?? 嵌入式心得體會 ??
1 實時系統
實時系統是指數據產生時,能以足夠快的速度來進行處理,處理的結果能在規定的時間內來控制生產過程與處理系統,讓它做出極快的響應。在實時系統中,如果指定的時間沒有完成確定的任務,整個系統會全面失敗,這被稱為硬實時系統,反之,如果在指定的時間內沒有完成確定的任務,不會出現致命的錯誤就被稱為軟實時系統。
2 分時系統
分時系統是把時間劃為長短基本相同的時間片,操作系統輪流分配給各個作業使用,如果某個作業在時間片結束完成,這個作業被掛起,等下一輪循環再繼續使用,分時操作系統具有以下幾個特點:多路性,用戶通過各自的'終端可以同時使用一個系統;及時性,對于提出的要求,系統能在較短的時間內得到響應與處理;獨立性,雖然同一時間內可以多個用戶使用同一個CPU,但是用戶之間操作獨立,彼此不干涉。
3 嵌入式系統選型
選擇自己需要的嵌入式系統,可以從以下幾方面進行對比選擇。
3.1 進入市場時間
產品的進入時間與選擇的操作系統有很大的關系,實際的產品與演示的產品不同。一些高效推出的操作系統由于研發時間不夠、技術累積不夠,導致成本高、核心競爭能力差。比如WinCE操作系統,它就是在windows系統上作一定程度的改變,去掉一些不需要的功能,很快推出產品,結果實用時出現很多問題。
3.2 可移植性
通常來說,嵌入式系統的移植性越好,可在在不同平臺、不同系統上都能移植,那是處于最理想的狀態,然而實際運用中并不能達到這種理想狀態,如果過于強調移植性,那么會付出性能優化的代價。
3.3 可利用資源
嵌入式系統是以快速、低成本、高效率的推平適合用戶需要的一個系統平臺,而在這個平臺上能使用多少功能,需要使用第三方的產品,因此這個平臺上能使用多少第三方的產品是選型的一個重要條件,有些嵌入式系統為了滿足高性能、高可靠性的要求,使用比較封閉的操作系統,多數只能使用自己獨立
3.4 系統定制能力
用戶在使用嵌入式操作系統的時候,要求能定制不同的硬件平臺,比如會要求能否對系統提出底層的更動要求?能否定制出現能滿足自己需要、更有自己特色的系統、能否開放原代碼等等。
3.5 成本
選擇嵌入式操作系統,需要考慮成本的問題,比如一個系統是完全免費的,還是需要支付許可使用費等等,在這個選擇中,并不是免費的就是最好的,這要考慮到硬件設計人員的投入、公司的管理、第三方軟件的開發及使用,等等方面的問題,最后對成本作一個綜合考量。
3.6 語言內核支持
語言內核支持指操作系統能使用幾種語言操作,比如西文的、中文的,如果是可以使用中文操作,那么它是否支持雙字節編碼,是只支持簡體中文系統還是同時支持繁體系統,同時還要考慮中文輸入法與處理系統,語言內核的支持與第三方軟件資源的利用有非常重要的聯系。
?? 嵌入式心得體會 ??
首先,嵌入式系統是以應用為中心,以計算機技術為基礎,且軟硬件可裁減,適應應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。嵌入式有如下幾個突出的有點1.系統內核小,2專用性強,3系統精簡4高實時性OS5嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行,6嵌入式系統需要開發工具和環境。
嵌入式系統是近幾年才風靡起來的,但是這個概念并非新近才出現。從20世紀七十年代單片機(最早的單片機是Intel公司的 8048,出現在1976年)的出現到今天各式各樣的嵌入式微處理器,微控制器的大規模應用,嵌入式系統已經有了近30年的發展歷史。經過30年的發展,嵌入式技術已經日趨成熟,在中國嵌入式機一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用于實現對其他設備的控制、監視或管理等功能。
其次,嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。
嵌入式系統是軟硬結合的學科,通常有兩類人會去專研嵌入式:一類是學電子工程、通信工程等偏硬件專業的,另一類是學軟件、計算機專業出身的人,主要從事嵌入式操作系統和應用軟件的開發。
我是軟件專業的學習嵌入式,越是智能設備越是復雜系統,軟件越起關鍵作用,而且這是目前的趨勢。嵌入式應用在很多方面,具體的可以分為工業控制,交通管理,信息家電,家庭智能管理系統,POS網絡及電子商務,環境工程與自然,機器人,機電產品方面應用等方面。其中目前在服務領域,如遠程點菜器等已經體現了嵌入式系統的優勢。例外還有很多地方用到了嵌入式系統,最近飛利浦和ARM共同推出32位RISC嵌入式控制器,適用于工業控制,采用最先進的0.18微米CMOS嵌入式閃存處理技術,操作電壓可以低至1.2伏,它還能降低25%到30%的制造成本,在工業領域中對最終用戶而言是一套極具成本效益的解決方案。
首先我聲明,我是基于嵌入式系統平臺級設計的,硬件這個方向我相對來講比較有發言權,如果是其它方面所要具備的基本技能還要和我們培訓中心其它專業級講師溝通。他們的方面上我只能說是知道些,但不是太多,初級的問題也可以問我。
對于硬件來講有幾個方向,就單純信號來分為數字和模擬,模擬比較難搞,一般需要很長的經驗積累,單單一個阻值或容值的精度不夠就可能使信號偏差很大。因此年輕人搞的較少,隨著技術的發展,出現了模擬電路數字化,比如手機的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語功底很好的硬件工程師,在電路板調試過程中能通過自已編寫的測試程序對硬件功能進行驗證。然后再交給基于操作系統級的驅動開發人員。
?? 嵌入式心得體會 ??
嵌入式系統通常為一個資源受限的系統。直接在嵌入式系統的硬件平臺上編寫軟件比較困難,有時甚至是不可能的。目前,一般采用的辦法是,先在通用計算機上編寫程序,然后,通過交叉編譯,生成目標平臺上可運行的二進制代碼格式,最后下載到目標平臺上的特定位置上運行,具體步驟如下。
第一步,建立嵌入式Linux交叉開發環境。目前,常用的交叉開發環境主要有開放和商業兩種類型。開放的交叉開發環境的典型代表是GNU工具鏈,目前已經能夠支持x86、ARM、MIPS、PowerPC等多種處理器。商業的交叉開發環境主要有Metrowerks CodeWarrior、ARM Software Development Toolkit、SDS Cross compiler、WindRiver Tornado、Microsoft Embedded Visual C++等。交叉開發環境是指編譯、鏈接和調試嵌入式應用軟件的環境。它與運行嵌入式應用軟件的環境有所不同,通常采用宿主機/目標機模式。
第二步,交叉編譯和鏈接。在完成嵌入式軟件的編碼之后,就是進行編譯和鏈接,以生成可執行代碼。由于開發過程大多是在Intel公司x86系列CPU的通用計算機上進行的,而目標環境的處理器芯片卻大多為ARM、MIPS、PowerPC、DragonBall等系列的微處理器,這就要求在建立好的交叉開發環境中進行交叉編譯和鏈接。
第三步,交叉調試。
① 硬件調試。如果不采用在線仿真器,可以讓CPU直接在其內部實現調試功能,并通過在開發板上引出的調試端口,發送調試命令和接收調試信息,完成調試過程。目前,ARM公司提供的開發板上使用的則是JTAG調試端口。
② 軟件調試。在嵌入式Linux系統中,Linux系統內核調試,可以先在Linux內核中設置一個調試樁(debug stub),用作調試過程中和宿主機之間的通信服務器。然后,可以在宿主機中通過調試器的串口與調試樁進行通信,并通過調試器控制目標機上Linux內核的運行。
第四步,系統測試。整個軟件系統編譯過程,嵌入式系統的硬件一般采用專門的測試儀器進行測試,而軟件則需要有相關的測試技術和測試工具的支持,并要采用特定的測試策略。測試技術指的是軟件測試的專門途徑,以及能夠更加有效地運用這些途徑的特定方法。
?? 嵌入式心得體會 ??
2017年嵌入式系統題庫
嵌入式系統的核心是由一個或幾個預先編程好以用來執行少數幾項任務的微處理器或者單片機組成。下面是小編收集的嵌入式系統題庫,希望大家認真閱讀!
1:用C語言實現大小端的測試
Int CheckCpu()
{
union
{
int a;
char b;
}c;
c.a=1;
if(c.b==1)
printf(“小端”);
else printf(“大端”);
}
2:volatile的作用有哪些?
Volatile第一變量相當于告訴編譯器這個變量的值會隨時發生變化,每次使用之前都要去內存里從新讀取它的值,并不要隨意針對它做優化,主要用在:
1:一個中斷子程序中會訪問到的非自動變量;
2:多線程應用中被幾個線程共享的變量;
3:并行設備的硬件寄存器。
3:C語言中static關鍵字的作用有哪些?
1:在函數體中,一個被聲明為靜態的變量在這個變量在調用過程中維持其值不變;
2:在模塊內(但在函數體外),一個被聲明為靜態的變量,可以被這個模塊內的所用函數使用,但不能被模塊外的函數使用,它是一個本地的全局變量;
3:在模塊內,一個被聲明為靜態變量的函數,智能被這個模塊內的函數調用;
4:static全局變量與局部變量的'區別:static全局變量只能被初始化一次,防止其他單元文件中被引用;
5:static局部變量與局部變量的區別:static局部變量只能被初始化一次,下一次依據上一次結果的值;
6:static函數與普通函數的區別:static在內存中只用一份,普通函數在每一次調用中維持一份拷貝。
4:請問下面三種變量的區別:
Int const *p : 指向常整型的指針;
Int *const p; 指向整型的常指針;
Int *const *p: 指向常整型的常指針;
5:在ARM系統中,在函數調用的時候,參數是通過哪種方式傳遞的。
當參數小于等于4的時候是通過r0~r3來進行傳遞的,當參數大于4的時候是通過壓棧的方式進行傳遞。
6:中斷與異常有何區別.
異常在處理的時候必須考慮與處理器的時鐘同步,實際上異常也稱為同步中斷,在處理器執行到因編譯錯誤而導致的錯誤指令時,或者在執行期間出現特殊錯誤,必須靠內核處理的時候,處理器就會產生一個異常;所謂中斷是指外部硬件產生的一個電信號從CPU的中斷引腳進入,打斷CPU的運行。所謂異常是指軟件運行過程中發生了一些必須作出處理的事件,CPU自動產生一個陷入來打斷CPU的運行。
7:用預處理指令#define表示一年中有多少秒
#define SECONDS_PER_YEAR (60*60*24*365)UL
注意后面必須加UL,表示計算的結構是常整型。
8:簡述SPI,UART,I2C三種傳輸方式。
SPI:高速同步串行口,首發獨立,可同步進行
SPI接口主要應用在EEPROM,Flash,實時時鐘,A/D轉化器,數字信號處理,是一種全雙工同步通訊總線,該接口一般使用四條線:串行時鐘線(sck),主出從入線,主入從出線,低電平有效地的從機選擇線。
I2C協議:是單片機與其他芯片進行通訊的協議:1:只要求兩條總線線路,一條是串行時鐘線,一條是串行數據線; 2:通過軟件設定地址 3:是一個多主機總線,如果兩個或更多主機同時初始化數據傳送可通過沖突檢測和仲裁防止數據破壞; 4:I2C總線傳輸的是數據的總高位
UART:主要是由一個modem(調制解調器),可以將模擬信號量轉化成數字信號量。
9:中斷不能返回一個值,中斷不能傳遞參數。
10:嵌入式系統總要求用戶對變量或者寄存器進行位操作,給定一個整型變量a:
define BIT3 (oxo1<<3)
static int a ;
void set_bit3(void)
{
a|=BIT3;
}
void clear_bit3(void)
{
a&=~BIT3;
}
作為一個嵌入式程序員,這種程序是小菜一碟,至所以給出這個程序,是想規范大家寫程序方法,這里主要是用到了一個宏定義:BIT3 這樣的話就可以增加程序的可讀性
同時移植性也增強。
11:嵌入式系統中經常要求程序去訪問某特定內存的特點,在某工程中,要求設定一個絕對地址0x6799的整型變量的值為0xaa66.
Int *ptr;
ptr=(int*)0x67a9;
*ptr=aa66
12:引用和指針有什么區別?
1:應用必須初始化,指針不必;
2:引用處畫化后不能改變,指針可以被改變;
3:不存在指向空值的引用,但存在指向空值的指針;
13:全局變量與局部變量在內存中是否有區別,是什么區別?
全局變量存儲在靜態數據庫,局部變量存儲在堆棧;
14:寫出float,bool,int類型與零的比較,假設變量為X:
Int : if(x==0)
Float: if(x>0.0000001&&x<0.0000001)
Bool: if(x==false)
15:Intertnet采用哪種網絡協議,該協議的主要層次結構?
TCP/IP協議
應用層/傳輸層/網絡層/數字鏈路層/物理層。
16:IP地址有兩部分組成:網絡號和主機號
17:程序的局部變量存儲在(棧)中,全局變量存儲于(靜態存儲區),動態申請數據存儲于(堆中);
18:編寫一個字符串復制函數:strcpy(const char *str,const char *str1)
void strcpy(const *char str,const chat *str1)
{
if(*str1==’\0’) return;
char *sp1,*sp2;
sp1= str;
sp2=str1;
while(*sp2!=’\0’)
{
*sp1=sp2;
sp1++;
sp2++;
}
}
19:編寫一個函數實現字符串翻轉 void rechange(char *str)
void rechange(char *str)
{
Int len;
char t;
len=strlen(str);
for(int i=0;len/2;i++)
{
t=str[i];
str[i]=str[len-i-1];
str[len-i-1]=t;
}
}
20:編寫一個函數實現字符串比較 int strcmp(char *str1,char *str2),相等返回1,不相等返回0:
int strcmp(char *str1,char *str2)
{
if(*str1==‘\0’||*str2==’\0’) return;
while(*str1!=’\0’&&*str2!=’\0’&&*str1==*str2)
{
str1++;
str2++;
}
if(*str1==*str2)
return 1;
else return 0;
}
}
21:進程和線程的區別:
1:調度:線程作為調度和分配的基本單元,進程作為擁有資源的基本單位;
2:并發性:不僅進程可以并發執行,同一進程內的線程也可以并發執行。
3:擁有資源:進程是擁有資源的基本獨立單元,線程不擁有資源,但可以訪問進程內的資源;
4:在創建或撤銷線程時,由于系統都要為之分配和回收內存資源,導致系統的開銷明顯大于創建或撤銷線程時的開銷。
?? 嵌入式心得體會 ??
嵌入式處理器(Embedded Processor,EP)與通用處理器最大的區別就在于嵌入式處理器大多工作在為不同用戶群所設計的特定系統中,它常常將通用處理器中許多由板卡完成的功能集成到芯片內部,從而有利于實現嵌入式系統設計的微型化,同時又保證了較高的可靠性和處理效率。到目前為止,全球嵌入式處理器的種類已經超過1000多種,其中以ARM、MIPS、Power PC、Motorola 68K、X86等體系結構最為常見,一般將嵌入式處理器分成以下四類:
1)嵌入式微控制器 (Microcontroller Unit,MCU);
2)嵌入式微處理器 (Embedded Microprocessor Unit,EMPU);
3)嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP);
4)片上系統(System On Chip,SOC)。
一般在嵌入式系統設計中常用的嵌入式微處理器和體系結構主要有以下幾種:
1) ARM
ARM(Advanced RISC Machines)公司是全球著名的16/32位精簡指令集計算機RISC(Reduced Instruction Set Computer)處理器設計供應商,通過提供高性能與低功耗的RISC處理器芯片設計技術給各個生產廠商來生產滿足不同應用領域要求的芯片。事實上,由于ARM處理器一方面支持16位的Thumb指令集和32位的ARM指令集,另一方面使用了大量的寄存器和靈活的尋址方式來提高系統執行的效率,所以ARM處理器技術已經成為數字通信、工業控制、多媒體家電等嵌入式應用領域的RISC標準。ARM系列處理器種類很多,目前市場上應用最為廣泛的是ARM9和ARM10系列處理芯片。ARM9處理器由于擁有了五級流水線結構和自帶MMU功能,廣泛應用于手持終端和無線通訊等領域。ARM10處理器由于采用了更高的六級流水線結構和支持DSP指令以及支持64位的AMBA總線接口[5],其性能較ARM9有了很大的提高,廣泛應用于手持PDA以及車載電子等高端領域。
2) MIPS
MIPS(Microprocessor without Interlocked Pipeline Stages)簡稱無內部互鎖流水級的微處理器,是美國MIPS技術公司推出的一種基于RISC架構的高性能高檔次的處理器內核。MIPS采用了先進的設計理念和清晰的系統結構,強調軟硬件協同工作以提高處理器性能,同時簡化了硬件設計,采用軟件方法來避免流水線運行中的數據相關問題。雖與ARM處理器相比,MIPS體系結構的處理器功耗要高些,但它具備了從32位低端產品到64位高端產品的完整解決方案,而且在知識產權的授權費用上MIPS要低于ARM,因此,MIPS內核逐漸被越來越多的消費類電子產品和工業控制產品的設計所采用。
3) Power PC
PowerPC(Performance optimization with Enhanced RISC performance Computing)簡稱性能優化與增強的RISC性能計算,是由IBM、Motorola和Apple公司聯合開發的一款高性能32/64位RISC處理器,其主要特點是可伸縮性好,方便靈活和較高的性價比。常見的基于Power PC架構的處理器有IBM公司的Power PC64S(深藍內部的CPU)、Power PC750、Power PCG3以及Motorola公司的MC和MPC系列等。目前,基于Power PC體系結構的'處理器廣泛應用于桌面PC系統、移動PC系統、嵌入式系統以及金融電信等行業。
4) Motorola 68K
Motorola 68K采用復雜指令集計算機CISC(Complex Instruction Set Computer)架構[8],是出現比較早的嵌入式處理器,在全球的各種嵌入式處理器應用領域中取得了巨大成功。曾經Sun微計算機公司把這款處理器應用于早期的產品開發中。
5) X86
X86系列處理器起源于Inter架構的8080,然后發展出286、386、486直到現在的奔騰處理器乃至雙核處理器。從嵌入式市場分布來看,486DX也是與ARM、68K、MIPS、SuperH齊名的五大嵌入式處理器之一。目前市場上基于X86體系結構的PC104產品占有很大的市場份額。
?? 嵌入式心得體會 ??
一、嵌入式系統開發與應用概述
在今日,嵌入式ARM 技術已經成為了一門比較熱門的學科,無論是在電子類的什么領域,你都可以看到嵌入式ARM 的影子。如果你還停留在單片機級別的學習,那么實際上你已經落下時代腳步了,ARM 嵌入式技術正以幾何的倍數高速發展,它幾乎滲透到了幾乎你所想到的領域。本章節就是將你領入ARM 的學習大門,開始嵌入式開發之旅。以嵌入式計算機為技術核心的嵌入式系統是繼網絡技術之后,又一個IT領域新的技術發展方向。由于嵌入式系統具有體積小、性能強、功耗低、可靠性高以及面向行業具體應用等突出特征, 目前已經廣泛地應用于軍事國防、消費電子、信息家電、網絡通信、工業控制等各個領域。嵌入式的廣泛應用可以說是無所不在。
嵌入式微處理器技術的基礎是通用計算機技術?,F在許多嵌入式處理器也是從早期的PC 機的應用發展演化過來的,如早期PC 諸如TRS-80、Apple II 和所用的Z80 和6502 處理器,至今仍為低 端的嵌入式應用。在應用中,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。嵌入式處理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM 等系列。
在早期實際的嵌入式應用中,芯片選擇時往往以某一種微處理器內核為核心,在芯片內部集成必要的ROM/EPROM/Flash/EEPROM、SRAM、接口總線及總線控制邏輯、定時/計數器、WatchDog、I/O、串行口、脈寬調制輸出、A/D、D/A 等各種必要的功能和外設。
二、實習設備
硬件:Embest EduKit-IV實驗平臺、ULINK2仿真器套件、PC機
軟件:mu;Vision IDE for ARM集成開發環境、Windows 98//NT/XP
三、實習目的
1.初步掌握液晶屏的使用及其電路設計方法;掌握S3C2410X處理器的LCD控制器的使用;掌握通過任務調用的方法把液晶顯示函數添加到uC/OS-II中;通過實驗掌握液晶顯示文本及圖形的方法與程序設計。
2.了解S3C2410X處理器UART相關控制寄存器的使用; 熟悉ARM處理器系統硬件電路中UART接口的設計方法:掌握ARM處理器串行通信的軟件編程方法。
3.掌握有關音頻處理的基礎知識;通過實驗了解IIS音頻接口的工作原理;通過實驗掌握對處理器S3C2410X中IIS模塊電路的控制方法;通過實驗掌握對常用IIS接口音頻芯片的控制方法。
4.了解mu;C/OS-II移植條件和內核基本結構;掌握將mu;C/OS-II內核移植到ARM9處理器上的方法和步驟。
四、實習要求
通過對mu;C/OS-II移植實驗、mu;C/OS-II LCD顯示實驗、串口通信實驗、IIS音頻實驗、液晶顯示實驗的學習,并將各部分內容合并,最終得出實習結果,實習要求在鍵盤上輸入學號,在液晶顯示屏上顯示相應的學生信息。學生信息包括顯示每個人的照片和姓名系別等,并用鍵控設置學生輸出的順序,輸入學號就顯示那個學生的信息,然后過一段時間就順序循環播放。
移植mu;C/OS-II內核到ARM處理器S3C2410,在IDE中觀察其運行狀況編寫S3C2410X處理器的串口通信程序;監視串行口UART1動作;將從UART1接收到的字符串回送顯示。將從UART1接收到的字符串回送顯示。
通過使用Embest EduKit-IV實驗板的彩色液晶屏(800*480)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,并編寫任務函數在uC/OS-II系統中實現位圖顯示。在uC/OS-II中建立五個任務Tast1和Tast2,其中Tast1順序熄滅四個LED,延遲一會在順序點亮四個LED。Tast2在LCD屏幕上循環顯示三幅圖片,并打印一些文字信息和背景音樂。過使用Embest EduKit-III實驗板的256 色彩色液晶屏(320x240)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,并編寫程序實現:畫出多個矩形框;顯示ASCII字符;顯示漢字字符;顯示彩色位圖。
五、實習步驟
1. 準備實驗環境
使用ULINK2仿真器連接Embest EduKit-IV實驗平臺的主板JTAG接口;使用Embest EduKit-IV實驗平臺附帶的交叉串口線,連接實驗平臺主板上的COM2和PC機的串口(一般PC只有一個串口,如果有多個請自行選擇,筆記本沒有串口設備的可購買USB轉串口適配器擴充);使用Embest EduKit-IV實驗平臺附帶的電源適配器,連接實驗平臺主板上的電源接口。
2. 串口接收設置
在PC機上運行windows自帶的超級終端串口通信程序,或者使用實驗平臺附帶光盤內設置好了的超級終端,設置超級終端:波特率115200、1位停止位、無校驗位、無硬件流控制,或者使用其它串口通信程序。(注:超級終端串口的選擇根據用戶的PC串口硬件不同,請自行選擇,如果PC機只有一個串口,一般是COM1)
3. 打開實驗例程
1)打開實驗程序
2)運行mu;Vision IDE for ARM軟件
3)默認打開的工程在源碼編輯窗口會顯示實驗例程的說明文件readme.txt,詳細閱讀并理解實驗內容。
4)工程提供了兩種運行方式:一是下載到SDRAM中調試運行,二是固化到Nor Flash中運行。用戶可以在工具欄Select Target下拉框中選擇在RAM中調試運行還是固化Flash中運行。下面實驗將介紹下載到SDRAM中調試運行,所以我們在Select Target下拉框中選擇UART_Test IN RAM。
5)接下來開始編譯鏈接工程,在菜單欄“Projiet”選擇“Build target”或者“Rebuild all target files”編譯整個工程。
6編譯完成后,在輸出窗口可以看到編譯提示信息,比如““.SDRAMUART_Test.axf” - 0 Error(s), 1 Warning(s).”,如果顯示“0 Error(s)”即表示編譯成功。
7)撥動實驗平臺電源開關,給實驗平臺上電,單擊菜單欄Debug->Start/Stop Debug Session項將編譯出來的映像文件下載到SDRAM中,或者單擊工具欄“”按鈕來下載。
8)下載完成后,單擊菜單欄Debug->Run項運行程序,或者單擊工具欄“”按鈕來全速運行程序。用戶也可以使用進行單步調試程序。
9)全速運行后,用戶可以在超級終端看到程序運行的信息。
10)用戶可以Stop程序運行,使用mu;Vision IDE for ARM的一些調試窗口跟蹤查看程序運行的`信息。 注:如果在第4)步用戶選擇在Flash中運行,則編譯鏈接成功后,單擊菜單欄Flash->Download項將程序固化到NorFlash中,從實驗平臺的主板拔出JTAG線,給實驗平臺重新上電,程序將自動運行。
部分程序圖:
串口通信實驗:
IIS音頻實驗:
六、實習體會
在嵌入式系統中,除了課本上的基礎知識外,還學會了軟件編程的基本思路,掌握了液晶屏的使用及其電路設計方法;掌握有關音頻處理的基礎知識;掌握液晶顯示文本及圖形的方法與程序設計。
通過這次設計,掌握了液晶顯示實驗、mu;C/OS-II移植、mu;C/OS-IILCD顯示的工作原理及串口通信實驗的工作過程,學會了使用仿真軟件Embest EduKit-IV實驗平臺及ULINK2仿真器套件,并學會通過應用軟件仿真來實現各種通信系統的設計,對以后的學習和工作都起到了一定的作用,加強了動手能力和學業技能。雖然花了很長時間編寫軟件程序設計,但這一切還是理論上的。希望學校能提供機會和條件,讓我們能夠去真正地將理論和實踐相結合。通過這次程序,感覺自己所掌握的知識是那么的有限,還有許多需要改進和不足的地方,同時也幫助了我怎樣學好這門課程,增加了我對這門學科的興趣??傮w來說,這次實習我受益匪淺。在摸索該如何設計電路使之實現所需功能的過程中特別有趣,培養了我的設計思維,增加了實際操作能力。在讓我體會到了設計電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。通過這次實習通信系統的設計,使我更加清楚以后的發展及學習的方向。
最后感謝老師這個學期的指導和幫助!
七、參考文獻
《ARM9嵌入式系統設計與開發應用》熊茂華、楊震倫編著 清華大學出版社
《ARM9嵌入式系統設計與開發教程》于明編著 電子工業出版社
《Linux嵌入式系統教程》馬忠梅 北京航空航天大學出版社
?? 嵌入式心得體會 ??
這學期才接觸嵌入式系統感覺還稱不上入門,我通過學習知道了嵌入式的發展前景很大,各個領域都用到了嵌入式,學好嵌入式不愁沒飯吃。
廣義上講,凡是帶有微處理器的專用軟硬件系統都是嵌入式系統。如各類單片機和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 的代碼等等,麻雀雖
小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。
以上就是我在本學期學習嵌入式后的心得及感想。
文章來源:http://www.lipstick2017.com/youxiuzuowen/125770.html
’&&*str1==*str2)
{
str1++;
str2++;
}
if(*str1==*str2)
return 1;
else return 0;
}
}
21:進程和線程的區別:
1:調度:線程作為調度和分配的基本單元,進程作為擁有資源的基本單位;
2:并發性:不僅進程可以并發執行,同一進程內的線程也可以并發執行。
3:擁有資源:進程是擁有資源的基本獨立單元,線程不擁有資源,但可以訪問進程內的資源;
4:在創建或撤銷線程時,由于系統都要為之分配和回收內存資源,導致系統的開銷明顯大于創建或撤銷線程時的開銷。
?? 嵌入式心得體會 ??
嵌入式處理器(Embedded Processor,EP)與通用處理器最大的區別就在于嵌入式處理器大多工作在為不同用戶群所設計的特定系統中,它常常將通用處理器中許多由板卡完成的功能集成到芯片內部,從而有利于實現嵌入式系統設計的微型化,同時又保證了較高的可靠性和處理效率。到目前為止,全球嵌入式處理器的種類已經超過1000多種,其中以ARM、MIPS、Power PC、Motorola 68K、X86等體系結構最為常見,一般將嵌入式處理器分成以下四類:
1)嵌入式微控制器 (Microcontroller Unit,MCU);
2)嵌入式微處理器 (Embedded Microprocessor Unit,EMPU);
3)嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP);
4)片上系統(System On Chip,SOC)。
一般在嵌入式系統設計中常用的嵌入式微處理器和體系結構主要有以下幾種:
1) ARM
ARM(Advanced RISC Machines)公司是全球著名的16/32位精簡指令集計算機RISC(Reduced Instruction Set Computer)處理器設計供應商,通過提供高性能與低功耗的RISC處理器芯片設計技術給各個生產廠商來生產滿足不同應用領域要求的芯片。事實上,由于ARM處理器一方面支持16位的Thumb指令集和32位的ARM指令集,另一方面使用了大量的寄存器和靈活的尋址方式來提高系統執行的效率,所以ARM處理器技術已經成為數字通信、工業控制、多媒體家電等嵌入式應用領域的RISC標準。ARM系列處理器種類很多,目前市場上應用最為廣泛的是ARM9和ARM10系列處理芯片。ARM9處理器由于擁有了五級流水線結構和自帶MMU功能,廣泛應用于手持終端和無線通訊等領域。ARM10處理器由于采用了更高的六級流水線結構和支持DSP指令以及支持64位的AMBA總線接口[5],其性能較ARM9有了很大的提高,廣泛應用于手持PDA以及車載電子等高端領域。
2) MIPS
MIPS(Microprocessor without Interlocked Pipeline Stages)簡稱無內部互鎖流水級的微處理器,是美國MIPS技術公司推出的一種基于RISC架構的高性能高檔次的處理器內核。MIPS采用了先進的設計理念和清晰的系統結構,強調軟硬件協同工作以提高處理器性能,同時簡化了硬件設計,采用軟件方法來避免流水線運行中的數據相關問題。雖與ARM處理器相比,MIPS體系結構的處理器功耗要高些,但它具備了從32位低端產品到64位高端產品的完整解決方案,而且在知識產權的授權費用上MIPS要低于ARM,因此,MIPS內核逐漸被越來越多的消費類電子產品和工業控制產品的設計所采用。
3) Power PC
PowerPC(Performance optimization with Enhanced RISC performance Computing)簡稱性能優化與增強的RISC性能計算,是由IBM、Motorola和Apple公司聯合開發的一款高性能32/64位RISC處理器,其主要特點是可伸縮性好,方便靈活和較高的性價比。常見的基于Power PC架構的處理器有IBM公司的Power PC64S(深藍內部的CPU)、Power PC750、Power PCG3以及Motorola公司的MC和MPC系列等。目前,基于Power PC體系結構的'處理器廣泛應用于桌面PC系統、移動PC系統、嵌入式系統以及金融電信等行業。
4) Motorola 68K
Motorola 68K采用復雜指令集計算機CISC(Complex Instruction Set Computer)架構[8],是出現比較早的嵌入式處理器,在全球的各種嵌入式處理器應用領域中取得了巨大成功。曾經Sun微計算機公司把這款處理器應用于早期的產品開發中。
5) X86
X86系列處理器起源于Inter架構的8080,然后發展出286、386、486直到現在的奔騰處理器乃至雙核處理器。從嵌入式市場分布來看,486DX也是與ARM、68K、MIPS、SuperH齊名的五大嵌入式處理器之一。目前市場上基于X86體系結構的PC104產品占有很大的市場份額。
?? 嵌入式心得體會 ??
一、嵌入式系統開發與應用概述
在今日,嵌入式ARM 技術已經成為了一門比較熱門的學科,無論是在電子類的什么領域,你都可以看到嵌入式ARM 的影子。如果你還停留在單片機級別的學習,那么實際上你已經落下時代腳步了,ARM 嵌入式技術正以幾何的倍數高速發展,它幾乎滲透到了幾乎你所想到的領域。本章節就是將你領入ARM 的學習大門,開始嵌入式開發之旅。以嵌入式計算機為技術核心的嵌入式系統是繼網絡技術之后,又一個IT領域新的技術發展方向。由于嵌入式系統具有體積小、性能強、功耗低、可靠性高以及面向行業具體應用等突出特征, 目前已經廣泛地應用于軍事國防、消費電子、信息家電、網絡通信、工業控制等各個領域。嵌入式的廣泛應用可以說是無所不在。
嵌入式微處理器技術的基礎是通用計算機技術?,F在許多嵌入式處理器也是從早期的PC 機的應用發展演化過來的,如早期PC 諸如TRS-80、Apple II 和所用的Z80 和6502 處理器,至今仍為低 端的嵌入式應用。在應用中,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。嵌入式處理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM 等系列。
在早期實際的嵌入式應用中,芯片選擇時往往以某一種微處理器內核為核心,在芯片內部集成必要的ROM/EPROM/Flash/EEPROM、SRAM、接口總線及總線控制邏輯、定時/計數器、WatchDog、I/O、串行口、脈寬調制輸出、A/D、D/A 等各種必要的功能和外設。
二、實習設備
硬件:Embest EduKit-IV實驗平臺、ULINK2仿真器套件、PC機
軟件:mu;Vision IDE for ARM集成開發環境、Windows 98//NT/XP
三、實習目的
1.初步掌握液晶屏的使用及其電路設計方法;掌握S3C2410X處理器的LCD控制器的使用;掌握通過任務調用的方法把液晶顯示函數添加到uC/OS-II中;通過實驗掌握液晶顯示文本及圖形的方法與程序設計。
2.了解S3C2410X處理器UART相關控制寄存器的使用; 熟悉ARM處理器系統硬件電路中UART接口的設計方法:掌握ARM處理器串行通信的軟件編程方法。
3.掌握有關音頻處理的基礎知識;通過實驗了解IIS音頻接口的工作原理;通過實驗掌握對處理器S3C2410X中IIS模塊電路的控制方法;通過實驗掌握對常用IIS接口音頻芯片的控制方法。
4.了解mu;C/OS-II移植條件和內核基本結構;掌握將mu;C/OS-II內核移植到ARM9處理器上的方法和步驟。
四、實習要求
通過對mu;C/OS-II移植實驗、mu;C/OS-II LCD顯示實驗、串口通信實驗、IIS音頻實驗、液晶顯示實驗的學習,并將各部分內容合并,最終得出實習結果,實習要求在鍵盤上輸入學號,在液晶顯示屏上顯示相應的學生信息。學生信息包括顯示每個人的照片和姓名系別等,并用鍵控設置學生輸出的順序,輸入學號就顯示那個學生的信息,然后過一段時間就順序循環播放。
移植mu;C/OS-II內核到ARM處理器S3C2410,在IDE中觀察其運行狀況編寫S3C2410X處理器的串口通信程序;監視串行口UART1動作;將從UART1接收到的字符串回送顯示。將從UART1接收到的字符串回送顯示。
通過使用Embest EduKit-IV實驗板的彩色液晶屏(800*480)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,并編寫任務函數在uC/OS-II系統中實現位圖顯示。在uC/OS-II中建立五個任務Tast1和Tast2,其中Tast1順序熄滅四個LED,延遲一會在順序點亮四個LED。Tast2在LCD屏幕上循環顯示三幅圖片,并打印一些文字信息和背景音樂。過使用Embest EduKit-III實驗板的256 色彩色液晶屏(320x240)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,并編寫程序實現:畫出多個矩形框;顯示ASCII字符;顯示漢字字符;顯示彩色位圖。
五、實習步驟
1. 準備實驗環境
使用ULINK2仿真器連接Embest EduKit-IV實驗平臺的主板JTAG接口;使用Embest EduKit-IV實驗平臺附帶的交叉串口線,連接實驗平臺主板上的COM2和PC機的串口(一般PC只有一個串口,如果有多個請自行選擇,筆記本沒有串口設備的可購買USB轉串口適配器擴充);使用Embest EduKit-IV實驗平臺附帶的電源適配器,連接實驗平臺主板上的電源接口。
2. 串口接收設置
在PC機上運行windows自帶的超級終端串口通信程序,或者使用實驗平臺附帶光盤內設置好了的超級終端,設置超級終端:波特率115200、1位停止位、無校驗位、無硬件流控制,或者使用其它串口通信程序。(注:超級終端串口的選擇根據用戶的PC串口硬件不同,請自行選擇,如果PC機只有一個串口,一般是COM1)
3. 打開實驗例程
1)打開實驗程序
2)運行mu;Vision IDE for ARM軟件
3)默認打開的工程在源碼編輯窗口會顯示實驗例程的說明文件readme.txt,詳細閱讀并理解實驗內容。
4)工程提供了兩種運行方式:一是下載到SDRAM中調試運行,二是固化到Nor Flash中運行。用戶可以在工具欄Select Target下拉框中選擇在RAM中調試運行還是固化Flash中運行。下面實驗將介紹下載到SDRAM中調試運行,所以我們在Select Target下拉框中選擇UART_Test IN RAM。
5)接下來開始編譯鏈接工程,在菜單欄“Projiet”選擇“Build target”或者“Rebuild all target files”編譯整個工程。
6編譯完成后,在輸出窗口可以看到編譯提示信息,比如““.SDRAMUART_Test.axf” - 0 Error(s), 1 Warning(s).”,如果顯示“0 Error(s)”即表示編譯成功。
7)撥動實驗平臺電源開關,給實驗平臺上電,單擊菜單欄Debug->Start/Stop Debug Session項將編譯出來的映像文件下載到SDRAM中,或者單擊工具欄“”按鈕來下載。
8)下載完成后,單擊菜單欄Debug->Run項運行程序,或者單擊工具欄“”按鈕來全速運行程序。用戶也可以使用進行單步調試程序。
9)全速運行后,用戶可以在超級終端看到程序運行的信息。
10)用戶可以Stop程序運行,使用mu;Vision IDE for ARM的一些調試窗口跟蹤查看程序運行的`信息。 注:如果在第4)步用戶選擇在Flash中運行,則編譯鏈接成功后,單擊菜單欄Flash->Download項將程序固化到NorFlash中,從實驗平臺的主板拔出JTAG線,給實驗平臺重新上電,程序將自動運行。
部分程序圖:
串口通信實驗:
IIS音頻實驗:
六、實習體會
在嵌入式系統中,除了課本上的基礎知識外,還學會了軟件編程的基本思路,掌握了液晶屏的使用及其電路設計方法;掌握有關音頻處理的基礎知識;掌握液晶顯示文本及圖形的方法與程序設計。
通過這次設計,掌握了液晶顯示實驗、mu;C/OS-II移植、mu;C/OS-IILCD顯示的工作原理及串口通信實驗的工作過程,學會了使用仿真軟件Embest EduKit-IV實驗平臺及ULINK2仿真器套件,并學會通過應用軟件仿真來實現各種通信系統的設計,對以后的學習和工作都起到了一定的作用,加強了動手能力和學業技能。雖然花了很長時間編寫軟件程序設計,但這一切還是理論上的。希望學校能提供機會和條件,讓我們能夠去真正地將理論和實踐相結合。通過這次程序,感覺自己所掌握的知識是那么的有限,還有許多需要改進和不足的地方,同時也幫助了我怎樣學好這門課程,增加了我對這門學科的興趣??傮w來說,這次實習我受益匪淺。在摸索該如何設計電路使之實現所需功能的過程中特別有趣,培養了我的設計思維,增加了實際操作能力。在讓我體會到了設計電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。通過這次實習通信系統的設計,使我更加清楚以后的發展及學習的方向。
最后感謝老師這個學期的指導和幫助!
七、參考文獻
《ARM9嵌入式系統設計與開發應用》熊茂華、楊震倫編著 清華大學出版社
《ARM9嵌入式系統設計與開發教程》于明編著 電子工業出版社
《Linux嵌入式系統教程》馬忠梅 北京航空航天大學出版社
?? 嵌入式心得體會 ??
這學期才接觸嵌入式系統感覺還稱不上入門,我通過學習知道了嵌入式的發展前景很大,各個領域都用到了嵌入式,學好嵌入式不愁沒飯吃。
廣義上講,凡是帶有微處理器的專用軟硬件系統都是嵌入式系統。如各類單片機和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 的代碼等等,麻雀雖
小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。
以上就是我在本學期學習嵌入式后的心得及感想。
日本欧美一区二区三区在线_日本福利在线观看_国产最新进精品视频_欧美一区二区三区播放
欧美黄色片免费观看|
欧美丝袜一区二区|
99视频在线观看一区三区|
亚洲欧美日韩在线一区|
国产精品成人播放|
欧美高清在线视频观看不卡|
亚洲电影免费在线观看|
乱人伦精品视频在线观看|
欧美日韩国产综合视频在线观看|
亚洲一区二区三区四区视频|
激情久久久久|
欧美精品二区三区四区免费看视频|
国产精品婷婷午夜在线观看|
欧美精品日韩综合在线|
在线观看日韩av先锋影音电影院|
国产精品卡一卡二|
免费观看日韩av|
欧美日韩国产成人精品|
亚洲欧美伊人|
狠狠爱www人成狠狠爱综合网|
一本色道久久综合亚洲精品小说|
亚洲国产欧美另类丝袜|
在线看无码的免费网站|
99xxxx成人网|
欧美日韩视频专区在线播放|
黑人巨大精品欧美一区二区小视频|
国产精品一区在线观看你懂的|
亚洲激情六月丁香|
久久精品一二三|
黄色一区三区|
欧美日韩一区高清|
欧美成人午夜激情视频|
亚洲高清久久|
亚洲免费久久|
日韩视频免费在线|
日韩亚洲精品在线|
欧美在线视频二区|
中文在线资源观看网站视频免费不卡|
欧美成人黄色小视频|
国产美女精品视频免费观看|
亚洲色在线视频|
久久久久久久高潮|
国产综合精品一区|
亚洲一区999|
国产在线拍揄自揄视频不卡99|
亚洲乱码国产乱码精品精98午夜|
国产综合欧美在线看|
国产精品理论片|
国产女人水真多18毛片18精品视频|
蜜乳av另类精品一区二区|
香蕉久久久久久久av网站|
欧美日韩一区二区视频在线观看|
亚洲欧美一区二区三区在线|
亚洲片在线观看|
欧美大成色www永久网站婷|
免费观看一级特黄欧美大片|
欧美中文在线字幕|
免费成人黄色|
伊人精品成人久久综合软件|
国产亚洲女人久久久久毛片|
国产精品视频你懂的|
亚洲在线一区二区|
国产精品爽爽ⅴa在线观看|
亚洲精品字幕|
老司机亚洲精品|
国产午夜精品美女视频明星a级|
亚洲午夜久久久久久久久电影院|
久久免费一区|
性伦欧美刺激片在线观看|
亚洲一区二区三区在线播放|
亚洲私人影吧|
在线国产精品播放|
国语自产精品视频在线看8查询8|
亚洲午夜免费视频|
男人的天堂亚洲|
99v久久综合狠狠综合久久|
国产综合欧美在线看|
久久久久久久精|
欧美精品免费观看二区|
国产欧美日本一区二区三区|
欧美日韩中文字幕在线|
欧美视频专区一二在线观看|
老妇喷水一区二区三区|
亚洲国产日韩欧美在线99|
国产精品一区二区在线观看不卡|
欧美另类69精品久久久久9999|
亚洲一区二区三区精品动漫|
欧美1区2区视频|
亚洲高清资源|
亚洲精一区二区三区|
欧美国产大片|
亚洲福利视频在线|
欧美精品在线观看播放|
亚洲福利在线看|
国产亚洲成av人在线观看导航|
久久国产精品99精品国产|
久久久久久久性|
亚洲国产天堂久久国产91|
国产色产综合色产在线视频|
欧美~级网站不卡|
国产精品系列在线|
久久精品道一区二区三区|
久久不射中文字幕|
99精品欧美一区二区蜜桃免费|
欧美电影在线免费观看网站|
国内精品视频在线观看|
一本色道久久加勒比精品|
亚洲国产福利在线|
中文在线资源观看视频网站免费不卡|
欧美视频在线观看视频极品|
久久久久国产一区二区三区四区|
国产日韩在线看片|
欧美性猛交99久久久久99按摩|
久久精品国产77777蜜臀|
欧美日韩一二三四五区|
韩国精品一区二区三区|
模特精品裸拍一区|
国产精品一区二区男女羞羞无遮挡|
欧美韩日一区|
欧美精品一区二区三区久久久竹菊|
亚洲午夜一区二区三区|
亚洲国产午夜|
国产精品av一区二区|
国产欧美日韩免费看aⅴ视频|
91久久中文字幕|
新狼窝色av性久久久久久|
在线成人中文字幕|
黄页网站一区|
国产乱码精品一区二区三|
国产精品va在线|
亚洲私人影院在线观看|
欧美三级欧美一级|
亚洲特黄一级片|
一区二区三区导航|
国产主播一区二区三区|
国产精品丝袜久久久久久app|
亚洲精品久久久久久一区二区|
国产精品久久激情|
一区二区91|
欧美日韩亚洲一区二区三区四区|
久久狠狠婷婷|
亚洲欧美春色|
国产模特精品视频久久久久|
国产精品三级视频|
亚洲精品一区在线|
99精品国产在热久久|
久久午夜羞羞影院免费观看|
在线亚洲欧美|
欧美日韩和欧美的一区二区|
在线精品视频在线观看高清|
欧美一区二区三区免费视频|
在线不卡a资源高清|
免费在线国产精品|
国产精品影片在线观看|
欧美激情区在线播放|
伊人色综合久久天天五月婷|
久久久人成影片一区二区三区|
亚洲影院色在线观看免费|
国产精品美女主播在线观看纯欲|
狠狠色噜噜狠狠狠狠色吗综合|
在线观看亚洲|
亚洲国产天堂久久国产91|
亚洲国产美女|
亚洲一区成人|