嵌入式培訓總結(通用16篇)
發表時間:2021-06-24嵌入式培訓總結(通用16篇)。
一. 嵌入式培訓總結
嵌入式系統是一種專用的計算機系統,作為裝置或設備的一部分。通常,嵌入式系統是一個控制程序存儲在ROM中的嵌入式處理器控制板。事實上,所有帶有數字接口的設備,如手表、微波爐、錄像機、汽車等,都使用嵌入式系統,有些嵌入式系統還包含操作系統,但大多數嵌入式系統都是是由單個程序實現整個控制邏輯,籠統地來說,嵌入式系統是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。
所謂物聯網,是指通過射頻識別(RFID)、紅外感應器、全球定位系統、激光掃描器等信息傳感設備,按約定的協議,把任何物品與互聯網相連接,進行信息交換和通信,以實現對物品的智能化識別、定位、跟蹤、監控和管理的一種網絡。而嵌入式技術是將“無感知物體”轉變為“智能物體”的關鍵技術,該特性使物體具備根據外部環境變化進行反應的能力。嵌入式智能技術的特點是將硬件和軟件相結合,利用了嵌入式微處理器的`低功耗、體積小、集成度高,以及嵌入式軟件的高效率、高可靠性等優點,綜合人工智能技術,推動物聯網中智能環境的實現。
嵌入式系統涵蓋嵌入式硬件和軟件兩大部分,硬件由嵌入式處理器、存儲器與外圍設備、現場總線組成,軟件包括操作系統、文件系統、圖形用戶接口等。伴隨著網聯網時代的到來,也極大得推動嵌入式技術的發展和應用。
二. 嵌入式培訓總結
嵌入式系統是以應用為中心,以計算機為基礎,軟硬件可裁剪,適用于系統對功能、可靠性、成本、功耗嚴格要求的專用計算機系統。實時性是嵌入式系統的基本要求,其次,還要求代碼小,速度快,可靠性高。嵌入式Linux(Embedded Linux)是指對Linux經過裁剪小型化后,可固化在存儲器或單片機中,應用于特定嵌入式場合的專用Linux操作系統。嵌入式Linux的開發和研究已經成為目前操作系統領域的一個熱點。與其它嵌入式操作系統相比,Linux的特點如下:
第一,Linux系統是層次結構且內核完全開放。Linux是由很多體積小且性能高的微內核系統組成。在內核代碼完全開放的前提下,不同領域和不同層次的用戶可以根據自己的應用需要方便地對內核進行改造,低成本地設計和開發出滿足自己需要的嵌入式系統。
第二,強大的網絡支持功能。Linux誕生于因特網時代并具有Unix的特性,保證了它支持所有標準因特網協議,并且可以利用Linux的網絡協議棧將其開發成為嵌入式的TCP/IP網絡協議棧。
第三,Linux具備一整套工具鏈,容易自行建立嵌入式系統的開發環境和交叉運行環境,可以跨越嵌入式系統開發中仿真工具的障礙。Linux也符合IEEE POSIX.1標準,使應用程序具有較好的可移植性。
傳統的嵌入式開發的程序調試和調試工具是用在線仿真器(ICE)實現的。它通過取代目標板的微處理器,給目標程序提供一個完整的仿真環境,完成監視和調試程序;但一般價格比較昂貴,只適合做非常底層的調試。
第四,Linux具有廣泛的`硬件支持特性。無論是RISC還是CISC、32位還是64位等各種處理器,Linux都能運行。這意味著嵌入式Linux將具有更廣泛的應用前景。
三. 嵌入式培訓總結
職責描述:
1、負責關于產品硬件視頻圖像處理和計算機通訊專業技術范圍內的技術協調;
2、負責視頻圖像處理及通訊控制相關電路的技術方案評審及重大問題攻關;
3、負責視頻圖像處理及計算機通訊相關電路的原理、pcb設計;
5、負責相關硬件電路的單板調試與排故任務;
6、負責具體工作中產生的各種文檔的編寫輸出,提供生產、裝配過程中的技術支持。
任職要求:
1、基本要求:具有2年以上嵌入式硬件開發、設計經驗
專業要求:電子信息、自動化、計算機類專業
2、經驗要求:視頻圖像處理及計算機通訊相關硬件設計
3、專業知識及技能要求:
(1)熟悉eda設計工具及硬件開發流程,熟悉altera或xilinx公司fpga開發工具,掌握vhdl或verilog;
(2)掌握powerpc、arm等cup硬件電路設計原理,熟悉uart、spi、i2c、pcie、以太網等通訊協議。
(3)具有zq系列fpga soc開發經驗,熟悉arm總結接口(axi/ahb/apb)協議者優先。
4、其他要求:
(1)有較強的溝通能力;
(2)工作認真踏實,有較強的學習能力;
(3)有良好的團隊精神。
mcu嵌入式軟件經理深圳市思創捷電子科技有限公司深圳市思創捷電子科技有限公司,思創捷,深圳思創捷,思創捷崗位職責:
1、負責設備端軟件整體架構設計、軟件規劃;
2、編寫產品軟件項目文檔,概要與細節設計,包括項目方案、項目計劃、項目時間進度表等;
3、配合市場對接海外客戶,了解客戶技術需求,組織評審,導入與硬件部門協調工作;
4、熟悉各類sensor的系統驅動程序的.編寫,鏈調;
5、精通匯編語言c,c++,進行嵌入式系統pic avr stm8 32 51等mcu單片機開發,較強的底層驅動代碼的編寫;5年以上經驗;
6、熟悉tcp/ip/ussd iic usb iis rs485 r232等通訊及網絡后臺協議對接調試;
7、有主流手機平臺軟件驅動層豐富調試經驗優先,有成熟團隊引入優先;
8、自我代碼能力,達到高級程序員水平、并在目前崗位上有持續編碼能力;
任職要求:
1、大學本科及以上學歷,英文四級以上,有英文文檔制作能力;
2、三年以上無線通訊類設備或模塊(2g 3g 4g wifi ble)成熟應用開發經驗,熟悉wifi ble 4g等無線傳輸協議應用;
3、具有良好的溝通協調能力,軟件團隊建設能力;
4、熟悉cortex—m3,m4編程,熟悉rtos系統如ucos,freertos;
5、tracker行業排名前五從業經驗者優先,對物聯網行業有濃厚的興趣;
6、行業經驗要求:工作7年以上經驗,有iot智能硬件行業5年以上工作經驗,有主管以上管理經驗。
四. 嵌入式培訓總結
嵌入式linux 是將日益流行的Linux操作系統進行裁剪修改,使之能在嵌入式計算機系統上運行的一種操作系統。以下是關于學習嵌入式Linux系統的方法,希望大家認真學習!
第一,學習基本的裸機編程
對于學硬件的人而言,必須先對硬件的基本使用方法有感性的認識,更必須深刻認識該硬件的控制方式,如果一開始就學linux系統、學移植那么只會馬上就陷入一個很深的漩渦。我在剛剛開始學ARM的時候是選擇ARM7(主意是當時ARM9還很貴),學ARM7的時候還是保持著學51單片機的思維,使用ADS去編程,第一個實驗就是控制led.學過一段時間ARM的人都會笑這樣很笨,實際上也不是,我倒是覺得有這個過程會好很多,因為無論做多復雜的系統最終都會落實到這些最底層的硬件控制,因此對這些硬件的控制有了感性的認識就好很多了學習裸機的編程的同時要好好理解這個硬件的構架、控制原理,這些我稱他為理解硬件。
所謂的理解硬件就是說,理解這個硬件是怎么組織這么多資源的,這些資源又是怎么由cpu、由編程進行控制的。比如說,s3c2410中有AD轉換器,有GPIO(通用IO口),還有nandflash控制器,這些東西都有一些寄存器來控制,這些寄存器都有一個地址,那么這些地址是什么意思?又怎么通過寄存器來控制這些外圍設備的運轉?還有,norflash內部的每一個單元在這個芯片的內存中都有一個相應的地址單元,那么這些地址與剛剛說的寄存器地址又有什么關系?他們是一樣的嗎?而與norflash相對應的nandflash內部的儲存單元并不是線性排放的,那么s3c2410怎么將nandflash的地址映射在內存空間上進行使用?或者簡單地說應該怎么用nandflash?再有,使用ADS進對arm9行編程時都需要使用到一個初始化的匯編文件,這個文件究竟有什么用?他里面的代碼是什么意思?不要這個可以嗎?
諸如此類都是對硬件的理解,理解了這些東西就對硬件有很深的理解了,這對以后更深一步的學習將有很大的幫助,如果跳過這一步,我相信越往后學越會覺得迷茫,越覺得這寫東西深不可測。因為,你的根基沒打好。
不過先聲明一下,本人并沒有使用ADS對ARM9進行編程,我是學完ARM7后直接就使用ARM9學linux系統的,因此涉及使用ADS對arm9進行編程的問題我很難回答^_^,自己去研究研究吧。
對于這部分不久將提供一份教程,這個教程中的例程并不是我為我們所代理的板子寫的,是我在我們學院實驗室拿的,英培特為他們自己 的實驗箱寫的,不過很有借鑒意義,可以作為一份有價值的參考。
第二,使用linux系統進行一些基本的實驗
在買一套板子的時候一般會提供一些linux的試驗例程,好好做一段時間這個吧,這個過程也是很有意義的,也是為進一步的學習積累感性認識,你能想象一個從沒有使用過linux系統的人能學好linux的編程嗎?好好按照手冊上的例程做一做里面的實驗,雖然有點娃娃學走路,有點弱智,但是我想很多高手都會經歷這個過程。
在這方面我們深藍科技目前沒有計劃提供相應的例程,主要是開發板的提供商會提供很豐富的例程,我們不做重復工作,只提供他們沒有的、最有價值的東西給大家。
第三,研究完整的linux系統的的運行過程
所謂完整的linux系統包括哪些部分呢?
三部分:bootloader、linux kernel(linux內核)、rootfile(根文件系統)。
那么這3部分是怎么相互協作來構成這個系統的呢?各自有什么用呢?三者有什么聯系?怎么聯系?系統的執行流程又是怎么樣的呢?搞清楚這個問題你對整個系統的運行就很清楚了,對于下一步制作這個linux系統就打下了另一個重要的根基。介紹這方面的資料網上可以挖掘到幾噸,自己好好研究吧。
第四,開始做系統移植
上面說到完整的linux有3部分,而且你也知道了他們之間的關系和作用,那么現在你要做的便是自己動手學會制作這些東西。
當然我不可能叫你編寫這些代碼,這不實現。事實上這個3者都能在網下載到相應的源代碼,但是這個源代碼不可能下載編譯后就能在你的系統上運行,需要很多的修改,直到他能運行在你的板子上,這個修改的過程就叫移植。在進行移植的過程中你要學的東西很多,要懂的相關知識也很多,等你完成了這個過程你會發現你已經算是一個初出茅廬的高手了。
在這個過程中如果你很有研究精神的話你必然會想到看源代碼。很多書介紹你怎么閱讀linux源代碼,我不提倡無目的地去看linux源代碼,用許三多的話說,這沒有意義。等你在做移植的時候你覺得你必須去看源代碼時再去找基本好書看看,這里我推薦一本好書倪繼利的《linux內核的分析與編程》,這是一本針對linux-2.6.11內核的書,說得很深,建議先提高自己的C語言編程水平再去看。
至于每個部分的移植網上也可以找到好多噸的資料,自己研究研究吧,不過要提醒的`是,很多介紹自己經驗的東西都或多或少有所保留,你按照他說的去做總有一些問題,但是他不會告訴你怎么解決,這時就要靠自己,如果自己都靠不住就找我一起研究研究吧,我也不能保證能解決你的問題,因為我未必遇到過你的問題,不過我相信能給你一點建議,也許有助你解決問題。
這一步的最終目的是,從源代碼的官方主頁上(都是外國的,悲哀)下載標準的源代碼包,然后進行修改,最終運行在板子上。
盜用阿基米德的一句話:“給我一根網線,我能將linux搞定”。
第五,研究linux驅動程序的編寫
移植系統并不是最終的目的,最終的目的是開發產品,做項目,這些都要進行驅動程序的開發。
Linux的驅動程序可以說是五花八門,linux2.4和linux2.6的編寫有相當大的區別,就是同為linux2.6但是不同版本間的驅動程序也有區別,因此編寫linux的驅動程序變都不是那么容易的事情,對于最新版本的驅動程序的編寫甚至還沒有足夠的參考資料。那么我的建議就是使用、移植一個不算很新的版本內核,這樣到時學驅動的編程就有足夠的資料了。
這部分的推薦書籍可以參考另一篇文章《推薦幾本學習嵌入式linux的書籍》。
第六,研究應用程序的編寫
做作品做項目除了編寫驅動程序,最后還要編寫應用程序。現在的趨勢是圖形應用程序的開發,而圖形應用程序中用得最多的還是qt/e函數庫。我一直就使用這個函數庫來開發自己的應用程序,不過我希望你能使用國產的MiniGUI函數庫。盜用周杰倫的廣告詞就是“支持國產,支持MiniGUI”。MiniGUI的編程比較相似Windows下的VC編程,比較容易上手,效果應該說是相當不錯的,我曾使用過來開發arm7的程序。不過MiniGUI最大的不好就是沒有像qtopia這樣的圖形操作平臺,這大大限制了他的推廣,我曾經幻想過與北京飛漫公司(就是MiniGUI的版權擁有者)合作使用MiniGUI函數庫開發像qtopia這樣的圖形操作平臺,不過由于水平有限這只能是幻想了,呵呵。
完成這一步你基本就學完了嵌入式linux的全部內容了。
還有一個小小的經驗想和大家分享。我在學習嵌入式linux的過程中很少問人,客觀原因是身邊的老師、同學師兄都沒有這方面的高手,主觀原因是我不喜歡問人,喜歡自己研究解決問題。這樣做有個好處,就是可以提高自己解決問題的能力,因為做這些東西總有很多問題你難以理解,別人也沒有這方面的經驗,也不是所有問題都有人給你答案,這時必須要自己解決問題,這樣,個人的解決問題能力就顯得非常關鍵了。因此我的建議就是一般的問題到網上搜索一下,確實找不到答案了就問問高手,還是不行了就自己去研究,不要一味去等別人幫你解決問題。
五. 嵌入式培訓總結
嵌入式軟件是嵌入式系統的核心技術之一。在應用最廣的計算機技術之一,并被廣泛應用于網絡通信、消費電子、醫療電子、工業控制和交通系統等領域。
每年全球嵌入式系統相關工業產值已超過1萬億美元,全球嵌入式系統硬件和軟件開發工具市場約值2千億美元,而中國嵌入式軟件的產業規模也已經超過千億元人民幣。賽迪顧問提供的數據表明,由于市場空間巨大,中國嵌入式軟件產業將繼續保持高速增長,2009年中國嵌入式軟件市場規模已達到2496.2億元人民幣。而到2011年,其規模有望達到4650億元人民幣。
嵌入式應用領域
嵌入式系統是當前最熱門、最具發展前途的IT應用領域之一。包括手機、電子字典、可視電話、數字相機、數字攝像機、U-Disk、機頂盒、高清電視、游戲機、智能玩具、交換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等都是典型的嵌入式系統。因此,通過嵌入式培訓成為專業的'嵌入式技術人才,其職業發展空間較大。
嵌入式人才需求
目前國內嵌入式人才極度匱乏,權威部門統計,我國目前嵌入式軟件人才缺口每年為40萬人左右。供不應求使得嵌入式人才身價上漲,而且,越有專業經驗,就業競爭力就越大。因此,IT專業人士通過培訓掌握嵌入式技術,就能成為炙手可熱的專業人才,其培訓回報有保障。
嵌入式就業方向
由于大唐各約嵌入式技術支持工程師都高居前五位。
六. 嵌入式培訓總結
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:在創建或撤銷線程時,由于系統都要為之分配和回收內存資源,導致系統的開銷明顯大于創建或撤銷線程時的開銷。
七. 嵌入式培訓總結
嵌入式培訓在國內從“流行”至今已經十年有余了,正式由于其廣泛的實用性,讓很大一部分年輕人投身于嵌入式系統開發的行業中來,作為新人剛開始顯然是困難重重,所以嵌入式培訓在此時就成為了有效的突破口!不得不承認,經過專業系統化的的學習加以實踐,才能逐漸進入這一行,畢竟這是一項技術。面對各式各樣的嵌入式培訓機構,究竟嵌入式培訓哪家好呢?
首先不得不提到國內最早的嵌入式培訓機構——華清遠見嵌入式學院,這家公司在這行業整整做了將近十年,從師資力量上講還是比較突出的,教師多為資深的嵌入式工作者,經驗均超過8年。正是由于他們的兢兢業業,在這十年來將近培養出50000多名嵌入式工程師,其次這家教育機構的培訓教材均為自主研發。教材也同時在電子工業出版社、郵電出版社均出版,在社會上市場上熱賣多年。
近些年來,互聯網推廣的興起,很多機構都花上百萬來的廣告費來宣傳自己,華清市場策略沒把網絡推廣當成自己的存活的資本,而一直以來以學生滿意度放在至上,口碑相傳使得華清遠見逐漸變大,對于一個十年的培訓教育機構變成當今500人的教育集團,無疑是行業最優秀的企業。
嵌入式培訓哪家好呢?以上簡單對行業的巨頭做了一下介紹,也許你對華清遠見還不是很了解,更多詳情均可登錄華清遠見官方的網站看看畢業生的.就業感言。真實的記載了這十年來華清成長的點點滴滴。
同時介紹一下華清遠見嵌入式培訓課程大綱,讓更多有意向學習的朋友們了解,嵌入式培訓究竟培訓哪些東西。
第一階段:嵌入式Linux軟件工程師
1、Linux操作系統使用
2、嵌入式Linux C語言編程
3、Java編程基礎
4、嵌入式Linux項目開發流程
第二階段:嵌入式Linux系統工程師
5、嵌入式 Linux應用編程
6、Android應用編程
7、ARM處理器編程
8、ARM硬件接口開發
9、嵌入式Linux系統開發
10、嵌入式Linux內核開發
11、嵌入式Linux驅動開發基礎
12、嵌入式Linux驅動高級開發
13、綜合案例的實戰訓練
第三階段:嵌入式Linux驅動工程師
14、嵌入式Linux在3G領域的典型應用--3G手機Android操作系統
15、Android底層系統開發
16、嵌入式Linux項目實踐
最后!華清遠見嵌入式培訓學院跟廣大學員承諾說:
1. 在華清學習0首付,先就業后付款,通過入學測試即簽就業協議,承諾半年內必須實現高薪就業,絕非推薦就業;
2. 其次這是國內首個為學員提供“貼心就業”服務的培訓機構,學員在入學時我們為每名學員建立就業檔案,記錄學員的就業傾向及就業要求甚至細微到就業區域,并且詳細記錄學員的學習狀態,針對性的為學員提供職業素質輔導,確保準確的為學員提供就業服務,保證就業質量。
嵌入式培訓哪家好呢?華清提供免費視聽課,真正的把學員滿意放在第一位,同時在全國8個地方均可報名參與。包括(北京、上海、南京、西安、成都、武漢、廣州、深圳),熱烈歡迎每一位想學習的同學,由我們專業的講師助您實現嵌入式系統開發的夢想!
八. 嵌入式培訓總結
所有帶有數字接口的設備,如手表、微波爐、錄像機、汽車等,都使用嵌入式系統,有些嵌入式系統還包含操作系統,但大多數嵌入式系統都是由單個程序實現整個控制邏輯。下面是小編整理的關于嵌入式系統體系結構,歡迎大家參考!
嵌入式系統體系結構:
嵌入式系統的組成包含了硬件層、中間層、系統軟件層和應用軟件層。
1、硬件層:嵌入式微處理器、存儲器、通用設備接口和I/O接口。
嵌入式核心模塊=微處理器+電源電路+時鐘電路+存儲器
Cache:位于主存和嵌入式微處理器內核之間,存放的是最近一段時間微處理器使用最多的程序代碼和數據。它的主要目標是減小存儲器給微處理器內核造成的存儲器訪問瓶頸,使處理速度更快。
2、中間層(也稱為硬件抽象層HAL或者板級支持包BSP).
它將系統上層軟件和底層硬件分離開來,使系統上層軟件開發人員無需關系底層硬件的具體情況,根據BSP層提供的接口開發即可。BSP有兩個特點:硬件相關性和操作系統相關性。
設計一個完整的BSP需要完成兩部分工作:
A、 嵌入式系統的硬件初始化和BSP功能。
片級初始化:純硬件的初始化過程,把嵌入式微處理器從上電的默認狀態逐步設置成系統所要求的工作狀態。
板級初始化:包含軟硬件兩部分在內的初始化過程,為隨后的系統初始化和應用程序建立硬件和軟件的運行環境。
系統級初始化:以軟件為主的初始化過程,進行操作系統的初始化。
B、 設計硬件相關的設備驅動。
3、系統軟件層:由RTOS、文件系統、GUI、網絡系統及通用組件模塊組成。
RTOS是嵌入式應用軟件的基礎和開發平臺。
4、應用軟件:由基于實時系統開發的應用程序組成。
嵌入式芯片體系結構介紹
1.嵌入式微處理器(Micro Processor Unit,MPU)
嵌入式微處理器是由通用計算機中的CPU演變而來的。它的特征是具有32位以上的處理器,具有較高的性能,當然其價格也相應較高。但與計算機處理器不同的是,在實際嵌入式應用中,只保留和嵌入式應用緊密相關的功能硬件,去除其他的冗余功能部分,這樣就以最低的功耗和資源實現嵌入式應用的特殊要求。和工業控制計算機相比,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。目前主要的嵌入式處理器類型有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM/ StrongARM系列等。其中Arm/StrongArm是專為手持設備開發的嵌入式微處理器,屬于中檔的價位。
Power PC:
由IBM、Apple和Motorola聯合開發,并制造出基于PowerPC的多處理器計算機。PowerPC架構具有可伸縮性好、方便靈活的特點。主要有以下產品使用Power PC微處理器
蘋果公司:Power Macintosh系列、PowerBook系列(1995年以后的產品)、iBook系列、iMac系列(2005年以前的產品)、eMac系列產品。
任天堂:GameCube 和 Wii。
Sony:PlayStation 3。
MIPS:
MIPS是世界上很流行的一種RISC處理器。MIPS的意思“無內部互鎖流水級的微處理器”(Microprocessor without interlocked piped stages),其機制是盡量利用軟件辦法避免流水線中的數據相關問題。它最早是在80年代初期由斯坦福(Stanford)大學Hennessy教授領導的研究小組研制出來的。MIPS公司的R系列就是在此基礎上開發的RISC工業產品的'微處理器。這些系列產品為很多計算機公司采用構成各種工作站和計算機系統。MIPS技術公司是美國著名的芯片設計公司,它采用精簡指令系統計算結構(RISC)來設計芯片。和英特爾采用的復雜指令系統計算結構(CISC)相比,RISC具有設計更簡單、設計周期更短等優點,并可以應用更多先進的技術,開發更快的下一代處理器。MIPS是出現最早的商業RISC架構芯片之一,新的架構集成了所有原來MIPS指令集,并增加了許多更強大的功能。MIPS處理器是八十年代中期RISC CPU設計的一大熱點。MIPS是賣的最好的RISC CPU,可以從任何地方,如Sony, Nintendo的游戲機,Cisco的路由器和SGI超級計算機,看見MIPS產品在銷售。目前隨著RISC體系結構遭到x86芯片的競爭,MIPS有可能是起初RISC CPU設計中唯一的一個在本世紀盈利的。和英特爾相比,MIPS的授權費用比較低,也就為除英特爾外的大多數芯片廠商所采用。
2.嵌入式微控制器(Microcontroller Unit, MCU)
嵌入式微控制器的典型代表是單片機,從70年代末單片機出現到今天,雖然已經經過了20多年的歷史,但這種8位的電子器件目前在嵌入式設備中仍然有著極其廣泛的應用。單片機芯片內部集成ROM/EPROM、RAM、總線、總線邏輯、定時/計數器、看門狗、I/O、串行口、脈寬調制輸出、A/D、D/A、Flash RAM、EEPROM等各種必要功能和外設。和嵌入式微處理器相比,微控制器的最大特點是單片化,體積大大減小,從而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系統工業的主流。微控制器的片上外設資源一般比較豐富,適合于控制,因此稱微控制器。由于MCU低廉的價格,優良的功能,所以擁有的品種和數量最多,比較有代表性的包括8051、MCS-251、MCS-96/196/296、P51XA、C166/167、68K系列以及 MCU 8XC930/931、C540、C541,并且有支持I2C、CAN-Bus、LCD及眾多專用MCU和兼容系列。目前MCU占嵌入式系統約70%的市場份額。近來Atmel出產的Avr單片機由于其集成了FPGA等器件,所以具有很高的性價比,勢必將推動單片機獲得更高的發展。
3.嵌入式DSP處理器(Embedded Digital Signal Processor, EDSP)
DSP處理器是專門用于信號處理方面的處理器,其在系統結構和指令算法方面進行了特殊設計,具有很高的編譯效率和指令的執行速度。在數字濾波、FFT、譜分析等各種儀器上DSP獲得了大規模的應用。DSP的理論算法在70年代就已經出現,但是由于專門的DSP處理器還未出現,所以這種理論算法只能通過MPU等由分立元件實現。MPU較低的處理速度無法滿足DSP的算法要求,其應用領域僅僅局限于一些尖端的高科技領域。隨著大規模集成電路技術發展,1982年世界上誕生了首枚DSP芯片。其運算速度比MPU快了幾十倍,在語音合成和編碼解碼器中得到了廣泛應用。至80年代中期,隨著CMOS技術的進步與發展,第二代基于CMOS工藝的DSP芯片應運而生,其存儲容量和運算速度都得到成倍提高,成為語音處理、圖像硬件處理技術的基礎。到80年代后期,DSP的運算速度進一步提高,應用領域也從上述范圍擴大到了通信和計算機方面。90年代后,DSP發展到了第五代產品,集成度更高,使用范圍也更加廣闊。目前最為廣泛應用的是TI的TMS320C2000/C5000系列,另外如Intel的MCS-296和Siemens的TriCore也有各自的應用范圍。根據芯片廠商采用不同的IP核,可以分為以下幾類:
StarCore
Freescale
飛思卡爾數字信號處理器采用StarCore技術,是業內最高性能的可編程器件,可滿足基帶、航空航天、國防、醫療和測試與測量市場的需求。我們設計的StarCore DSP系列產品提供全面靈活擴展的解決方案,幫助客戶加快產品上市。StarCore DSP具有低功耗、低成本的顯著特點,是下一代設計的理想解決方案。通過新一代創新實現更加智能的世界。多核芯片主要包括:MSC8122: 帶有以太網的四核16位DSP,MSC8126: 帶有以太網、TCOP和VCOP的四核16位DSP,MSC8144: 四核DSP,MSC8152: 高性能雙核DSP,MSC8154: 高性能四核DSP,MSC8154E: 帶有安全功能的高性能四核DSP,MSC8156: 高性能六核DSP,MSC8156E: 帶有安全功能的高性能六核DSP,MSC8157: MSC8157寬帶無線接入DSP,MSC8158: MSC8158寬帶無線接入DSP,MSC8252: 高性能雙核DSP,MSC8254: 高性能四核DSP,MSC8256: 高性能六核DSP 。單核芯片主要包括: MSC8151: 高性能單核DSP,MSC8251: 高性能單核DSP。
4.嵌入式片上系統(System On Chip)
SoC追求產品系統最大包容的集成器件,是目前嵌入式應用領域的熱門話題之一。SOC最大的特點是成功實現了軟硬件無縫結合,直接在處理器片內嵌入操作系統的代碼模塊。而且SOC具有極高的綜合性,在一個硅片內部運用VHDL等硬件描述語言,實現一個復雜的系統。用戶不需要再像傳統的系統設計一樣,繪制龐大復雜的電路板,一點點的連接焊制,只需要使用精確的語言,綜合時序設計直接在器件庫中調用各種通用處理器的標準,然后通過仿真之后就可以直接交付芯片廠商進行生產。由于絕大部分系統構件都是在系統內部,整個系統就特別簡潔,不僅減小了系統的體積和功耗,而且提高了系統的可靠性,提高了設計生產效率。由于SOC往往是專用的,所以大部分都不為用戶所知,比較典型的SOC產品是Philips的Smart XA。少數通用系列如Siemens的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和Motorola聯合研制的Neuron芯片等。預計不久的將來,一些大的芯片公司將通過推出成熟的、能占領多數市場的SOC芯片,一舉擊退競爭者。SOC芯片也將在聲音、圖像、影視、網絡及系統邏輯等應用領域中發揮重要作用。
嵌入式系統的組成結構
1.硬件層
(1)嵌入式微處理器
嵌入式系統硬件層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU的不同在于嵌入式微處理器大多工作在為特定用戶群所專門設計的系統中,它將通用CPU許多由板卡完成的任務集成在芯片內部,從而有利于嵌入式系統在設計時趨于小型化,同時還具有很高的效率和可靠性。
嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時鐘頻率和數據總線寬度,或集成了不同的外設和接口。據不完全統計,目前全世界嵌入式微處理器已經超過1000多種,體系結構有30多個系列,其中主流的體系有ARM、MIPS( Microprocessor without InterlockedPiped Stages,無互鎖流水級的微處理器)/Power PC、X86、SH等。
(2)存儲器
嵌入式系統需要存儲器來存放可執行代碼和數據。嵌入式系統的存儲器包含Cache、內存和外存。
① Cache: Cache是一種容量小、速度快的存儲器陣列,它位于內存和嵌入式微處理器內核之間,存放的是近一段時間微處理器使用多的程序代碼和數據。在嵌入式系統中,Cache全部集成在嵌入式微處理器內,可分為數據Cache、指令Cache和混合Cache, Cache的大小依不同處理器而定。
②內存:位于微處理器的內部,用來存放系統和用戶的程序及數據。片內存儲器容量小、速度快。
③外存:外存用來存放大數據量的程序代碼或信息,它的容量大,但讀取速度與內存相比慢很多,用來長期保存用戶的信息。
嵌入式系統中常用的外存有硬盤、NAND Flash、CF卡、MMC、SD卡等。
(3)通用設備接口和I/O接口
嵌入式系統和外界交互需要一定形式的通用設備接口,如A/D、D/A、I/O等,外設通過和片外其他設備或傳感器的連接來實現微處理器的輸入/輸出功能。每個外設通常都只有單一的功能,它可以在芯片外也可以內置芯片中。外設的種類很多,可從一個簡單的串行通信設備到非常復雜的802.11無線設備。
目前,嵌入式系統中常用的通用設備接口有A/D(模/數轉換接口)、D/A(數/模轉換接口),I/O接口有RS-232接口(串行通信接口)、Ethernet(以太網接口)、USB(通用串行總線接口)、音頻接口、VGA視頻輸出接口、I2C(現場總線)、SPI(串行外圍設備接口)、IrDA(紅外線接口)等
2.中間層
硬件層與軟件層之間為中間層,也稱為硬件抽象層( Hardware Abstract Layer,HAL)或板級支持包( Board support Package,BSP),它將系統上層軟件與底層硬件分離開來,使系統的底層驅動程序與硬件無關,上層軟件開發人員無須關心底層硬件的具體情況,根據BSP層提供的接口即可進行開發。該層一般包含相關底層硬件的初始化、數據的輸入/輸出操作和硬件設備的配置功能。
實際上,BSP是一個介于操作系統和底層硬件之間的軟件層次,包括了系統中大部分與硬件聯系緊密的軟件模塊。設計一個完整的BSP需要完成兩部分工作:嵌入式系統的硬件初始化以及BSP功能,設計硬件相關的設備驅動。
3.軟件層
軟件層由嵌入式操作系統( Embedded OperaTIon System,EOS)、文件系統、圖形用戶接口( Graphic User Interface,GUI)、網絡系統及通用組件模塊組成。EOS是嵌入式應用軟件的基礎和開發平臺。以下先介紹前三種。
(1)嵌入式操作系統
不同功能的嵌入式系統的復雜程度有很大不同。簡單的嵌入式系統僅僅具有單一的功能,存儲器中的程序就是為了這一功能設計的,其系統處理核心也是單一任務處理器。復雜的嵌入式系統不僅功能強大,往往還配有嵌入式操作系統,如功能強大的智能手機等,幾乎具有與微型計算機一樣的功能。
嵌入式操作系統( Embedded OperaTIon System,BOS)是一種用途廣泛的系統軟件,過去它主要應用于工業控制和國防系統領域。EOS負責嵌入系統的全部軟、硬件資源的分配、任務調度,控制、協調并發活動。它必須體現其所在系統的特征,能夠通過裝卸某些模塊來達到系統所要求的功能。目前,已推出一些應用比較成功的EOS產品系列。隨著 Internet技術的發展、信息家電的普及應用及EOS的微型化和專業化,EOS開始從單一的弱功能向高專業化的強功能方向發展。嵌入式操作系統在系統實時高效性、硬件的相關依賴性、軟件固化、應用的專用性等方面具有較為突出的特點。
(2)文件系統
嵌入式文件系統比較簡單,主要提供文件存儲、檢索、更新等功能,一般不提供保護、加密等安全機制。它以系統調用和命令方式提供文件的各種操作,主要有設置、修改對文件和目錄的存取權限,提供建立、修改、改變和刪除目錄等服務,提供創建、打開、讀寫、關閉和撤銷文件等服務。
(3)圖形用戶接口
圖形用戶接口(GUI)的廣泛應用是當今計算機發展的重大成就之一,它極大地方便了非專業用戶的使用,人們從此不再需要死記硬背大量的命令,取而代之的是通過窗口、菜單、按鍵等方式來方便地進行操作。而嵌入式GUI具有下面幾個方面的基本要求:輕型、占用資源少、高性能、高可靠性、便于移植、可配置等特點。
4.功能層
功能層也稱為應用軟件層,應用軟件是由基于實時系統開發的應用程序組成,運行在嵌入式操作系統之上,一般情況下與操作系統是分開的。應用軟件用來實現對被控制對象的控制功能。功能層是要面對被控對象和用戶,為方便用戶操作,往往需要提供一個友好的人機界面。
九. 嵌入式培訓總結
1、長期培訓:一般四五個月左右,適合于畢業后有志于從事嵌入式方面的開發工作的應屆大學畢業生和已經工作過一段時間,但是想進行職業方向的轉型,轉而從事嵌入式開發方面的工作的職場人士。在長期培訓的`基礎上很多培訓機構都會包就業。
2、短期培訓:時間較短,培訓一般在周末、節假日等業余時間進行,適合于在職的工程師進行工作方面的知識充電,學員需要一定的技術基礎;
3、企業級培訓:一般時間非常短,需要根據企業的需求進行定制化的課程講授,屬于企業組織的員工職場充電。
十. 嵌入式培訓總結
嵌入式是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。由于嵌入式系統通常具有低功耗、體積小、集成度高等特點,因此隨著消費家電的智能化和廉價微處理器的出現,嵌入式系統將在日常生活里形成更大的應用領域。嵌入式就業廣泛,嵌入式人才社會需求量大。
嵌入式軟件開發應用領域
嵌入式系統是當前最熱門、最具發展前途的IT應用領域之一。包括手機、電子字典、可視電話、數字相機、數字攝像機、U-Disk、機頂盒、高清電視、游戲機、智能玩具、交換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等都是典型的嵌入式系統。因此,通過嵌入式培訓成為專業的嵌入式技術人才,其職業發展空間較大。
嵌入式軟件開發人才需求
目前國內嵌入式人才極度匱乏,權威部門統計,我國目前嵌入式軟件人才缺口每年為40萬人左右。供不應求使得嵌入式人才身價上漲,而且,越有專業經驗,就業競爭力就越大。因此,IT專業人士通過培訓掌握嵌入式技術,就能成為炙手可熱的'專業人才,其培訓回報有保障。
嵌入式軟件開發就業方向
由于大唐各約嵌入式技術支持工程師都高居前五位。
十一. 嵌入式培訓總結
摘要:覆蓋測試是驗證軟件功能結構正確性以及查找問題的非常重要的方法和手段,它要借助一定的工具才能取得較好的效果,滿足軟件在質量和時間上的雙重要求(純粹的人工測試工作量大、不方便、周期長)。如何利用好這方面比較成熟的工具,對其機理的研究及適應性改造是很重要。本文著重描述這類工具的工作機理,以及對嵌入式軟件測試的特殊要求,并以對自主知識產權嵌入式操作系統的測試為例進行說明。關鍵詞:嵌入式操作系統覆蓋測試軟件測試工具
1概述
軟件測試是很廣的概念。從其貫穿軟件生命周期全過程來看,測試可分為模塊測試、集成測試、系統測試等階段。測試還可分為靜態檢查和動態運行測試兩大類。在動態運行測試中,又可有基于程序結構的白盒測試(或稱為覆蓋測試)和基于功能的黑盒測試。測試不僅關注程序的功能,還有性有測試、強度測試等等。
要達到比較好的測試效果,除了要有周全的測試計劃、可控的測試過程、測試人員豐富的經驗外,還需要借助一些行之有效的輔助工具,尤其在當今軟件規模日益龐大、測試工作量成倍增加的情況下。對應上述的測試分類情況,測試工具可劃分為:支持對程序源代碼進行靜態規則檢查和質量評估的靜態分析工具、支持對程序單元進行動態覆蓋測試的工具、對軟件系統的整體運行性能進行測試的工具。另外,還有一些特殊用途的或專用工具,如協議測試儀、內存檢測工具等。這些工具都有較為成熟的商業化產品,也可通過自行開發的方式獲得。
本文具體討論了對一類特殊的系統軟件——嵌入式實時操作系統——進行覆蓋測試的情況。內容涉及對這類軟件特性的研究、測試的難點和特點、對現有測試工具的適應性改造和測試實例說明。
2軟件覆蓋測試
覆蓋是一種白盒測試方法,測試人員必須擁有程序的規格說明和程序清單,以程序的內部結構為基礎,來設計測試案例。其基本準則是則測試案例來盡可能多地覆蓋程序的內部邏輯結構,發現其中的錯誤和問題。所以,覆蓋測試一般應用在軟件測試的早期,即單元測試階段。
覆蓋的幾種方法或策略如表1所列。
表1幾種典型的覆蓋策略
覆蓋策略定義語句覆蓋在制定測試案例時,使程序中的每個語句都至少執行1次。其缺點是不能發現某些邏輯錯誤判定覆蓋執行足夠的測試案例,使得程序中每個判定都獲得一次“真”值和“假”值,或者說使每一個分支都至少通過1次條件覆蓋執行足夠的測試案例,使得判定中的每個條件獲得各種可能的結果判定/條件覆蓋執行足夠的測試案例,使得判定中的每個條件取得各種可能的值,并使得每個判定取得各種可能的結果條件組合覆蓋執行足夠的測試案例,使得每個判定中的條件的各種組合都至少出現1次。其特點是覆蓋較充分,滿足條件組合覆蓋的測試案例也一定滿足判定覆蓋、條件覆蓋和判定/條件覆蓋。
從以上簡要介紹可看出,這幾種覆蓋策略的嚴格程序有如下趨勢:
其它一些覆蓋策略還包括:修改的條件/判斷覆蓋(通常簡稱為MCDC)、路徑覆蓋、函數覆蓋、調用覆蓋、線性代碼順序和跳轉覆蓋、數據流覆蓋、目標代碼分支覆蓋、循環覆蓋、關系操作符覆蓋等。隨著軟件規模的增長,實現全面的覆蓋所需的測試案例的數目也越來越龐大,因此根據被測軟件對象的特點選擇適當的覆蓋策略是非常重要的;同時,要確定合理測試目標,達到100%的覆蓋往往要付出很大的代價,應該同形式化評審等方法結合,以發現更多的軟件故障。
3覆蓋測試工具
要取得較好的覆蓋測試效果,需要借助一定的工具軟件。這些工具軟件一般具備如下的功能特點,可彌補人為測試的缺陷:
①分析軟件內部結構,幫助制定覆蓋策略及設計測試案例;
②與適當的編譯器結合,對被測軟件實施自動插裝,以便在其運行過程中生成覆蓋信息并收集這些信息;
③根據搜集的覆蓋信息計算覆蓋率,幫助測試人員找到未被覆蓋的軟件部位,以改進測試案例提高覆蓋率。
在利用工具進行動態覆蓋測試時,需要3個要素:測試用例、插裝過的被測代碼、搜集覆蓋信息并進行分析的工具本身。代碼插裝由工具自動完成,通過執行測試用例,再由工具搜集覆蓋信息并進行分析,就可以看到覆蓋率指標了。圖1展示實現覆蓋測試的基本過程。
4嵌入式軟件的覆蓋測試原理
嵌入式軟件的開發與通用軟件很大的不同點在于,需要采用交叉開發的方式:開發工具運行在軟硬件配置豐富的宿主機上,而嵌入式應用程序運行在軟硬件資源相對缺乏的目標機上。對于這類軟件的測試也存在著同樣的問題:測試工具運行在宿主機上,測試所需要的信息在目標機上產生,并通過一定的物理/邏輯連接傳輸到縮主機上,由測試工具接收。因此,嵌入式軟件測試的一個重要問題是建立宿主機與目標機之間的物理/邏輯連接,解決數據信息的傳輸問題。
嵌入式軟件覆蓋測試的基本原理如圖2所示。
在目標機方,插裝過的被測應用程序將覆蓋信息發送到消息隊列中,一個專門的任務負責在適當的時候將這些信息發送到宿主機方。縮主機方有專門的模塊負責接收覆蓋信息。并交給分析工具分析和在線動態顯示覆蓋率的增長情況。
支持嵌入式軟件覆蓋測試的工具應解決如下2方面的關鍵問題:
*與嵌入式操作系統的結合
覆蓋測試工具與嵌入式操作系統的結合體現在3方面。首先,在目標機方,應用任務與專門負責收集/上傳覆蓋信息的任務是通過消息隊列來傳遞數據的,該消息隊列可使用嵌入式操作系統的相應機制實
十二. 嵌入式培訓總結
此次設計我們采用以LM3S2100為微控制器,并通過硬件和軟件兩方面設計,結合6位LED數碼管,放大整形電路,來實現頻率計在嵌入式系統中的開發與應用。
本次課程設計其主要目的是通過這學期所學的ARM知識,來實現頻率計的功能,本次設計我們利用了定時計數器的功能,對輸入的信號進行實時的、高精度的頻率測量,并通過6位LED數碼顯示管顯示測量結果。論文中闡述了相關的硬件原理與應用方案,并在此基礎上敘述了軟件設計最終結合硬件和軟件完成了本次設計。
關鍵詞:LM3S2100、頻率計、LED數碼顯示管
1 緒論
頻率計是計算機、通訊設備、音頻視頻等科研生產領域不可缺少的測量儀器。它是一種用十進制數字顯示被測信號頻率的數字測量儀器。它的基本功能是測量正弦信號,方波信號及其他各種單位時間內變化的物理量。在進行模擬、數字電路的設計、安裝、調試過程中,由于其使用十進制數顯示,測量迅速,精確度高,顯示直觀,經常要用到頻率計。
本頻率計將采用定時、計數的方法測量頻率。測量范圍在9kHz以下的方波,時基寬度為1us,10us,100us,1ms。用ARM芯片實現自動測量功能。
基本設計原理是直接用十進制數字顯示被測信號頻率的一種測量裝置。它以測量周期的方法對方波的頻率進行自動的測量。
1.1本次設計任務
一.設計題目:ARM為內核的頻率計
二.主要功能:用ARM的定時器/計數器的定時和計數功能,外部擴展6位數碼管,要
求累計每秒進入ARM的外部脈沖個數,用LED數碼管顯示出來,或是
用上位機顯示。
三.設計要求:用protel畫出最小系統和外圍擴展電路。顯示部分可用LED數碼管或是
上位機顯示。要求小組成員分工明確。
1.2設計基本原理
所謂頻率,就是周期性信號在單位時間(1s)內變化的次數,若在一定時間間隔T內測得這個周期性信號的重復變化次數為N,則其頻率可表示為
被測信號經放大整形電路變成計數器所要求的脈沖信號,其頻率與被測信號的頻率相同。當1s信號來到時,被測脈沖信號進入芯片相關的,計數器開始計數,直到1s信號結束時,停止計數。若在1s時間內計數器計得的脈沖數為N,則被測信號頻率fX?Nhz。
2 設計理念及設備
2.1設計理念
說到用單片機設計[2]的頻率計,這里說一下單片頻率計ICM7216D。單片頻率計ICM7216D是美國Intersil公司首先研制的專用測頻大規模集成芯片。它是標準的28引腳的雙列直插式集成電路,采用單一的+5V穩壓電源工作。它內含高頻振蕩器、10進制計數器、7段譯碼器、位多路復用器、能夠直接驅動LED顯示器的8段段碼驅動器、8位位碼驅動器。其基本的測頻范圍為DC至10MHz,若加預置的`分頻電路,則上限頻率可達40MHz或100MHz,單片頻率計ICM7216D只要加上晶振、量程選擇、LED顯示器等少數器件即可構成一個DC至40MHz的微型頻率計,可用于頻率測量、機械轉速測量等方面的應用。還有,PTS2600是英國研制的一款微波頻率計,該頻率計可以測量頻率高達26GHz的信號,而價格才只有幾萬元,可謂是物美價廉。PTS2600雖然是一個低價格的微波頻率計,但它能在四個波段有很好的靈敏度測量40Hz到20GHz的頻率。也可以用它來測量高達26GHz的頻率,只是靈敏度稍稍低了一些。日常工作中,用它來測量
VF/VHF/UHF頻段的頻率,也十分方便和準確。PTS2600使用一個12位數字的LCD液晶顯示屏來顯示所測得的頻率、閘口時間(分辨率相關)、菜單功能以及頻率表的測量結果。所有這些數值都是同時顯示在一個屏幕上的。PTS2600的機箱采用高標準的鋁質材料制成,各模塊安裝在下方有鋼板支承的母板上。模塊相對獨立,維修方便,主要通過更換模塊進行。 我國利用相檢寬帶測頻技術設計的高精度頻率計也非常具有突破性和實用性。該項新技術及儀器是針對已有測頻技術的特點及存在問題,推出完全新穎的檢測精度高、便于實施且設備構成又比較經濟的一種新技術及儀器。
2.2設計所用設備和器材
(1)電源模塊
(2)放大整形電路(三極管9014和74LS00)
(3)ARM開發板LPC2131
(4)LED數碼顯示管
3 硬件設計方案
3.1設計系統原理框圖及介紹
圖1 原理框圖
由上圖知,一個被測信號經過放大整形再進入ARM開發板,然后經過1S的定時捕獲得出頻率值,再經由6位LED數碼顯示管顯示出數值。
3.2電源
電源模塊——參考電壓源為系統芯片如A/D、D/A轉換IC或外設提供參考電壓,電路如圖2。
十三. 嵌入式培訓總結
當下,微型化和專業化成為發展的新趨勢,嵌入式產品成為信息產業的主流。下面yjbys小編為大家準備了關于嵌入式Linux系統的文章,歡迎閱讀。
1 嵌入式Linux的特點
嵌入式系統是以應用為中心,以計算機為基礎,軟硬件可裁剪,適用于系統對功能、可靠性、成本、功耗嚴格要求的專用計算機系統。實時性是嵌入式系統的基本要求,其次,還要求代碼小,速度快,可靠性高。嵌入式Linux(Embedded Linux)是指對Linux經過裁剪小型化后,可固化在存儲器或單片機中,應用于特定嵌入式場合的專用Linux操作系統。嵌入式Linux的開發和研究已經成為目前操作系統領域的一個熱點。與其它嵌入式操作系統相比,Linux的特點如下:
第一,Linux系統是層次結構且內核完全開放。Linux是由很多體積小且性能高的微內核系統組成。在內核代碼完全開放的前提下,不同領域和不同層次的用戶可以根據自己的應用需要方便地對內核進行改造,低成本地設計和開發出滿足自己需要的嵌入式系統。
第二,強大的網絡支持功能。Linux誕生于因特網時代并具有Unix的特性,保證了它支持所有標準因特網協議,并且可以利用Linux的網絡協議棧將其開發成為嵌入式的TCP/IP網絡協議棧。
第三,Linux具備一整套工具鏈,容易自行建立嵌入式系統的開發環境和交叉運行環境,可以跨越嵌入式系統開發中仿真工具的障礙。Linux也符合IEEE POSIX.1標準,使應用程序具有較好的可移植性。
傳統的嵌入式開發的程序調試和調試工具是用在線仿真器(ICE)實現的。它通過取代目標板的微處理器,給目標程序提供一個完整的仿真環境,完成監視和調試程序;但一般價格比較昂貴,只適合做非常底層的調試。
第四,Linux具有廣泛的`硬件支持特性。無論是RISC還是CISC、32位還是64位等各種處理器,Linux都能運行。這意味著嵌入式Linux將具有更廣泛的應用前景。
2 Linux嵌入式系統開發平臺
2.1 系統軟件操作平臺
操作系統是一種在計算機上運行的軟件。它的主要任務是管理計算機上的系統資源,為用戶提供使用計算機及其外部設備的接口。它存在的目的是為了管理所有硬件資源,并且提供應用軟件一個合適的操作環境。
Linux作為嵌入式操作系統是完全可行的。因為Linux提供了完成嵌入功能的基本內核和所需要的所有用戶界面,能處理嵌入式任務和用戶界面。將Linux看作是連續的統一體,從一個具有內存管理、任務切換和時間服務及其它分拆的微內核到完整的服務器,支持所有的文件系統和網絡服務。
嵌入式Linux系統需要下面三個基本元素:系統引導工具(用于機器加電后的系統定位引導)、Linux微內核(內存管理、 程序管理)、初始化進程。但如果要它成為完整的操作系統并且繼續保持小型化,還必須加上硬件驅動程序、硬件接口程序和應用程序組。
Linux是基于GNU的C編譯器,作為GNU工具鏈的一部分,與gdb源調試器一起工作的。它提供了開發嵌入式Linux系統的所有軟件工具。
2.2 系統硬件平臺
在選擇硬件時,常由于缺乏完整或精確的信息而使硬件選擇成為復雜且困難的工作。現在比較流行的硬件平臺有Intel公司的StrongARM 系列,Motorola公司的DragonBall系列,NEC公司的VR系列,Hitachi公司的SH3、SH4系列等等。選定硬件平臺前,首先要確定系統的應用功能和所需要的速度,并制定好外接設備和接口標準。這樣才能準確地定位所需要的硬件方案,得到性價比最高的系統。
3 嵌入式Linux系統開發模式
嵌入式系統通常為一個資源受限的系統。直接在嵌入式系統的硬件平臺上編寫軟件比較困難,有時甚至是不可能的。目前,一般采用的辦法是,先在通用計算機上編寫程序,然后,通過交叉編譯,生成目標平臺上可運行的二進制代碼格式,最后下載到目標平臺上的特定位置上運行,具體步驟如下。
第一步,建立嵌入式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內核的運行。
第四步,系統測試。整個軟件系統編譯過程,嵌入式系統的硬件一般采用專門的測試儀器進行測試,而軟件則需要有相關的測試技術和測試工具的支持,并要采用特定的測試策略。測試技術指的是軟件測試的專門途徑,以及能夠更加有效地運用這些途徑的特定方法。
1 實時系統
實時系統是指數據產生時,能以足夠快的速度來進行處理,處理的結果能在規定的時間內來控制生產過程與處理系統,讓它做出極快的響應。在實時系統中,如果指定的時間沒有完成確定的任務,整個系統會全面失敗,這被稱為硬實時系統,反之,如果在指定的時間內沒有完成確定的任務,不會出現致命的錯誤就被稱為軟實時系統。
2 分時系統
分時系統是把時間劃為長短基本相同的時間片,操作系統輪流分配給各個作業使用,如果某個作業在時間片結束完成,這個作業被掛起,等下一輪循環再繼續使用,分時操作系統具有以下幾個特點:多路性,用戶通過各自的'終端可以同時使用一個系統;及時性,對于提出的要求,系統能在較短的時間內得到響應與處理;獨立性,雖然同一時間內可以多個用戶使用同一個CPU,但是用戶之間操作獨立,彼此不干涉。
3 嵌入式系統選型
選擇自己需要的嵌入式系統,可以從以下幾方面進行對比選擇。
3.1 進入市場時間
產品的進入時間與選擇的操作系統有很大的關系,實際的產品與演示的產品不同。一些高效推出的操作系統由于研發時間不夠、技術累積不夠,導致成本高、核心競爭能力差。比如WinCE操作系統,它就是在windows系統上作一定程度的改變,去掉一些不需要的功能,很快推出產品,結果實用時出現很多問題。
3.2 可移植性
通常來說,嵌入式系統的移植性越好,可在在不同平臺、不同系統上都能移植,那是處于最理想的狀態,然而實際運用中并不能達到這種理想狀態,如果過于強調移植性,那么會付出性能優化的代價。
3.3 可利用資源
嵌入式系統是以快速、低成本、高效率的推平適合用戶需要的一個系統平臺,而在這個平臺上能使用多少功能,需要使用第三方的產品,因此這個平臺上能使用多少第三方的產品是選型的一個重要條件,有些嵌入式系統為了滿足高性能、高可靠性的要求,使用比較封閉的操作系統,多數只能使用自己獨立
3.4 系統定制能力
用戶在使用嵌入式操作系統的時候,要求能定制不同的硬件平臺,比如會要求能否對系統提出底層的更動要求?能否定制出現能滿足自己需要、更有自己特色的系統、能否開放原代碼等等。
3.5 成本
選擇嵌入式操作系統,需要考慮成本的問題,比如一個系統是完全免費的,還是需要支付許可使用費等等,在這個選擇中,并不是免費的就是最好的,這要考慮到硬件設計人員的投入、公司的管理、第三方軟件的開發及使用,等等方面的問題,最后對成本作一個綜合考量。
3.6 語言內核支持
語言內核支持指操作系統能使用幾種語言操作,比如西文的、中文的,如果是可以使用中文操作,那么它是否支持雙字節編碼,是只支持簡體中文系統還是同時支持繁體系統,同時還要考慮中文輸入法與處理系統,語言內核的支持與第三方軟件資源的利用有非常重要的聯系。 yjbys 男 25歲 福建人 學歷: 大專 工作年限: 1-2年 期望薪資: 面議 工作地點: 福州 - 不限 求職意向:其他電氣/能源職位 | 電氣工程師 工作經驗(工作了2年4個月,做了2份工作) 深圳市沁芯微電子有限公司 工作時間:6月 至 8月[2年2個月] 職位名稱:系統設計工程師 工作內容: 1、編寫單片機程序(PIC和STM32) 2、設計、焊接單片機仿真器電路板 3、用C#開發仿真器和OTP燒錄器的上位機程序 深圳市國宇源創科技有限公司 工作時間:203月 至 年5月[2個月] 職位名稱:技術員 工作內容:負責公司產品(RFID火車車號識別)電路板的焊接調試 教育經歷 2014年6月畢業 浙江機電職業技術學院 應用電子技術 項目/培訓經驗 1月-206月電子秤 項目/培訓內容:包含人體秤和廚房秤,使用國產的仿PIC單片和匯編語言。十四. 嵌入式培訓總結
十五. 嵌入式培訓總結
十六. 嵌入式培訓總結
摘要:首先,闡述藍牙在公共交換電話網絡PSTN中的一種應用——三合一電話。然后,分別從硬件、驅動程序、應用軟件三個方面進行詳細介紹。最后,給出測試結果,并提出改進方案。
關鍵詞:藍牙公共交換電話網絡PSTN接入點μClinux設備驅動程序
引言
源碼開放的μClinux由于其強大的網絡功能和較低的成本,得到了廣泛的應用。嵌入式藍牙公共交換電話網絡PSTN(PublicSwitchedTelephoneNetwork)語音接入點,就是我們和廣東省電信科學研究院合作,在μClinux系統上開發的一種具有廣闊前景的應用。其應用場景如圖1所示。
藍牙GSM雙模手機在進入藍牙PSTN語音接入點的信號覆蓋范圍后,即自動通過接入點在PSTN網絡上登記,這樣用戶的話務就被轉移到PSTN網絡,使用時只需繳納固定電話費;網關具有小型交換機的功能,可以為多個藍牙手機提供類似的服務;而且同一個接入點信號覆蓋范圍之內的藍牙手機間,還可以不經過PSTN直接進行相互間通話,就像對講機一樣,不用付費。本文主要介紹接入點軟硬件以及設備驅動程序的設計與實現。
1硬件的設計與實現
嵌入式藍牙PSTN語音接入點的硬件系統框圖如圖2所示。整個接入點主要由網關控制模塊、電話線路接口模塊和藍牙收發模塊組成。
1.1網關控制模塊
網關控制模塊是整個網關軟件的運行平臺。ΜClinux操作系統運行于此硬件平臺之上,而所有應用軟件又運行于操作系統之上。復雜的控制流程以及大量的外擴模塊要求MPU具有較強的處理能力。經多方權衡,本設計最終選用了Motorola公司的ColdFire嵌入式處理器MCF5272。
MCF5272內部的SRAM和ROM對于運行μClinux操作系統是遠遠不夠的。本設計對MCF5272的RAM和ROM進行了擴充,外擴了16MB的SDRAM和4MB的FlashROM。這樣的存儲器配置不僅滿足了語音接入點軟件的需要,還為網關增加各種功能留有較多的余地。
1.2電話線路接口模塊
電話線路接口模塊是網關和PSTN的接口,由線路切換繼電器、電話線接口芯片、DTMF接收電路、DTMF發送電路和FSK解調及振鈴接收電路組成。它通過MCF5272的12根GPIO線和4個外部中斷線和網關控制模塊相連。線路切換繼電器用于實現電話線上的信號在振鈴接收電路和語音電路之間的切換,即實現摘機掛機的功能。在待機狀態下繼電器觸點切換在振鈴接收電路一側,等待接收振鈴信號。當需要摘機時,MCF5272控制繼電器切換到話音電路一側。
電話線路接口芯片選用Philips公司的TEA1062A。TEA1062A把電話線上送來的模擬語音信號放大后發送到藍牙收到模塊的PCM編解碼器;相反,也把PCM編解碼器送來的語音信號放大后,放到電話線上傳輸。此外,它還提供了消側音、自動增益控制等功能。
網關還需具備轉發來電顯示信息的功能。常見的來電顯示標準分為DTMF和FSK兩種。我國的來電顯示國家標準是FSK制式的,大部分PSTN交換機也支持FSK標準的來電顯示信息;但是也有少量PSTN交換機和一些用戶內部交換機發送的是DTMF標準的來電顯示信息。我們HOLT 想了解更多【嵌入式培訓總結】網的資訊,請訪問:嵌入式培訓總結