什么是單片機(jī)仿真器?它主要是干嘛的?
仿真的概念其實(shí)使用非常廣,最終的含義就是使用可控的手段來模仿真實(shí)的情況。在嵌入式系統(tǒng)的設(shè)計(jì)中,仿真應(yīng)用的范圍主要集中在對(duì)程序的仿真上。例如,在單片機(jī)的開發(fā)過程中,程序的設(shè)計(jì)是最為重要的但也是難度最大的一種最簡單和原始的開發(fā)流程是:編寫程序燒寫芯片驗(yàn)證功能,這種方法對(duì)于簡單的小系統(tǒng)是可以對(duì)付的,但在大系統(tǒng)中使用這種方法則是完全不可能的。
仿真器(emulator)以某一系統(tǒng)復(fù)現(xiàn)另一系統(tǒng)的功能。與計(jì)算機(jī)模擬系統(tǒng)(Computer Simulation)的區(qū)別在于,仿真器致力于模仿系統(tǒng)的外在表現(xiàn)、行為,而不是模擬系統(tǒng)的抽象模型。
仿真器可以替代你的目標(biāo)系統(tǒng)中的MCU,仿真其運(yùn)行。 仿真器運(yùn)行起來和實(shí)際的目標(biāo)處理器一樣,但是增加了其它功能,使你能夠通過桌面計(jì)算機(jī)或其它調(diào)試界面來觀察MCU中的程序和數(shù)據(jù),并控制MCU的運(yùn)行。
仿真器的作用是什么
單片機(jī)仿真器是一種在電子產(chǎn)品開發(fā)階段代替單片機(jī)芯片進(jìn)行軟硬件調(diào)試的開發(fā)工具。配合集成開發(fā)環(huán)境使用仿真器可以對(duì)單片機(jī)程序進(jìn)行單步跟蹤調(diào)試,也可以使用斷點(diǎn)、全速等調(diào)試手段,并可觀察各種變量、RAM及寄存器的實(shí)時(shí)數(shù)據(jù),跟蹤程序的執(zhí)行情況。同時(shí)還可以對(duì)硬件電路進(jìn)行實(shí)時(shí)的調(diào)試。
利用單片機(jī)仿真器可以迅速找到并排除程序中的邏輯錯(cuò)誤,大大縮短單片機(jī)開發(fā)的周期。在現(xiàn)場只利用燒錄器反復(fù)燒寫單片機(jī),通過肉眼觀察結(jié)果進(jìn)行開發(fā)的方法大大增加了調(diào)試的難度,延長了整個(gè)開發(fā)周期,并且不容易發(fā)現(xiàn)程序中許多隱含的錯(cuò)誤,特別對(duì)于單片機(jī)開發(fā)經(jīng)驗(yàn)不豐富的初學(xué)者來說更加困難,由此可見,單片機(jī)仿真器單片機(jī)系統(tǒng)開發(fā)中發(fā)揮著重要的作用。
為什么要使用仿真器?
在與一些有經(jīng)驗(yàn)的工程師交談中,我們會(huì)發(fā)現(xiàn)有相當(dāng)一部分工程師在開發(fā)中不使用或很少仿真器。向他們?cè)儐?,原因得到的回答是“仿真器不可靠”但是他們是如何解決程序開發(fā)中遇到的問題呢?通過深入的交流才明白他們是按照這樣的方法來開發(fā)程序的:
(1)根據(jù)自己的設(shè)計(jì)建立一個(gè)符合要求的硬件平臺(tái),如果該平臺(tái)涉及的程序比較復(fù)雜。還要搭建一個(gè)人機(jī)交流的通道人機(jī)交流通道可能是一個(gè)簡單的發(fā)光二極,管蜂鳴器,復(fù)雜的可能是串口通訊口LCD顯示屏。
(2)寫一個(gè)最簡單的程序例,如只是將發(fā)光二極管連續(xù)的閃爍。程序編譯后燒寫到單片機(jī)芯片中,驗(yàn)證硬件平臺(tái)是否工作正常。
(3)硬件平臺(tái)正常工作后編寫系統(tǒng)最低層的驅(qū)動(dòng)程序,每次程序更改后都重新燒寫單片機(jī)芯片驗(yàn)證。如果在程序驗(yàn)證中遇到問題,則可能在程序中加入一些調(diào)試手段。例如通過串口發(fā)送一些信息到PC端的超級(jí)終端上,用于了解程序的運(yùn)行情況。
(4)系統(tǒng)低層驅(qū)動(dòng)程序完成后再編寫用戶框架程序,由于這部分已經(jīng)不涉及到硬件部分,所以程序中的問題用戶一般能夠發(fā)現(xiàn)。
但是更多的調(diào)查表明,使用以上方法的工程師總的看來所設(shè)計(jì)的程序不是很龐大或很復(fù)雜。因?yàn)樵谧龊唵蔚捻?xiàng)目時(shí),我們可以通過一個(gè)發(fā)光二極管就可以表達(dá)出內(nèi)部的信息:如果程序復(fù)雜,可能需要更多的信息來表示內(nèi)部的狀態(tài),這樣可能就需要串口協(xié)助調(diào)試;如果程序更復(fù)雜,硬件更多,實(shí)時(shí)性更強(qiáng),那工程師就要更多的增強(qiáng)調(diào)試手段,串口可能就不能滿足了,需要類似于斷點(diǎn)的功能,因?yàn)槲蚁胫涝谀骋粋€(gè)時(shí)刻單片機(jī)內(nèi)部的狀態(tài)究竟是怎樣?
如果用戶程序的修改非常頻繁,可能一次又一次地的燒寫芯片占用的時(shí)間就很多,這時(shí)用戶就會(huì)想能下載程序并運(yùn)行的裝置。
到這里,您會(huì)看到,隨著用戶要求的越來越高,調(diào)試裝置已經(jīng)越來越象一個(gè)通用的仿真器了。因此我們的建議是:不要回避使用仿真器,因?yàn)槭褂梅抡嫫髂芴岣吣拈_發(fā)速度。
但是不能否認(rèn)的是,用戶回避使用仿真器也是有原因的。因?yàn)榉抡嫫饕彩且环N電子裝置,非常依賴于設(shè)計(jì)者的水平。如果一個(gè)仿真器設(shè)計(jì)者的水平有欠缺,那將給仿真器的使用者帶來很大的問題。因?yàn)榉抡嫫鞯氖褂谜邔⒎植磺宄烤故浅绦虻膯栴}還是出在那里。隨著電子設(shè)備的復(fù)雜化,設(shè)計(jì)工程師面臨前所未有的壓力。您可以想象,用戶發(fā)現(xiàn)了程序中有一個(gè)問題,首先懷疑是自己系統(tǒng)中的問題,可能是軟件方面也可能是硬件方面。因?yàn)橛脩粝到y(tǒng)處于開發(fā)階段,用戶基本上不會(huì)懷疑仿真器。在這種情況下,用戶將耗費(fèi)很大的精力在自己的系統(tǒng)中尋找并不存在的問題。如果用戶最終發(fā)現(xiàn)問題來源于仿真器,并通過燒寫芯片驗(yàn)證確,實(shí)如此那這個(gè)仿真器用戶以后可能會(huì)逐漸放棄使用仿真器。
用戶放棄使用仿真器,對(duì)用戶的影響是巨大的。因?yàn)榉艞壥褂靡粋€(gè)設(shè)計(jì)不完善的仿真器,也放棄了使用其它設(shè)計(jì)完善的仿真器,關(guān)鍵是放棄了合理的開發(fā)方法。因此我們的建議是:不要回避使用仿真器但要挑選好的仿真器。
如何選擇一個(gè)好的仿真器
1、選購仿真器的注意事項(xiàng)
1、仿真器種類很多,必須要確定用哪個(gè)芯片還有軟件用哪個(gè)版本的才好選擇,仿真器的價(jià)格差別很大
2、你要支持什么芯片,用什么電腦系統(tǒng),滿足你的要求選擇性價(jià)比高的一款下載器就可以了
3、各種仿真器支持的操作系統(tǒng)不同,以及支持的操作系統(tǒng)的位數(shù)也不同,支持的軟件版本也不同,支持的芯片類型也有差異。
2、根據(jù)需求選擇仿真器
1、你使用的操作系統(tǒng)xp、win7、win8以及32位、64位。
2、根據(jù)你電腦類型確定開發(fā)軟件版本類型,比如ccs2.x,ccs3.x,ccs4.x,ccs5.x等。
3、各種仿真器所支持的dsp芯片種類不同,有些支持很多,有些只支持一些。
4、各種仿真器仿真和下載速度不同。
5、各種仿真器價(jià)格不同,因此需要根據(jù)以上幾點(diǎn)來選擇一款性價(jià)比高的仿真器就行了。
在進(jìn)行單片機(jī)開發(fā)時(shí),需要用到單片機(jī)仿真器用來調(diào)試單片機(jī)軟件。今天就為大家詳細(xì)講解單片機(jī)仿真器是什么?有什么作用。
一、單片機(jī)仿真器定義
單片機(jī)仿真器是指以調(diào)試單片機(jī)軟件為目的而專門設(shè)計(jì)制作的一套專用的硬件裝置。單片機(jī)仿真器具有基本的輸入輸出裝置,具備支持程序調(diào)試的軟件,使得單片機(jī)開發(fā)人員可以通過單片機(jī)仿真器輸入和修改程序,觀察程序運(yùn)行結(jié)果與中間值,同時(shí)對(duì)與單片機(jī)配套的硬件進(jìn)行檢測與觀察,可以大大提高單片機(jī)的編程效率和效果。
二、單片機(jī)仿真器有什么作用
1.可以對(duì)單片機(jī)程序進(jìn)行單步跟蹤調(diào)試,也可以使用斷點(diǎn)、全速等調(diào)試手段,并可觀察各種變量、RAM及寄存器的實(shí)時(shí)數(shù)據(jù),跟蹤程序的執(zhí)行情況。
2.使得單片機(jī)開發(fā)人員可以通過單片機(jī)仿真器輸入和修改程序,觀察程序運(yùn)行結(jié)果與中間值,同時(shí)對(duì)與單片機(jī)配套的硬件進(jìn)行檢測與觀察,可以大大提高單片機(jī)的編程效率和效果。
3.可以對(duì)硬件電路進(jìn)行實(shí)時(shí)的調(diào)試。利用單片機(jī)仿真器可以迅速找到并排除程序中的邏輯錯(cuò)誤,大大縮短單片機(jī)開發(fā)的周期。
4.對(duì)初學(xué)者來說,降低了調(diào)試與開發(fā)難度。非常有利于初學(xué)者學(xué)習(xí)。
以上就是關(guān)于單片機(jī)仿真器是什么?有什么作用的全部內(nèi)容分享??偠灾瑔纹瑱C(jī)仿真器就是以調(diào)試單片機(jī)軟件為目的而專門設(shè)計(jì)制作的一套專用的硬件裝置,它可以提高單片機(jī)的編程效率和效果。
MCU仿真器是一種幫助電子工程師分析程序代碼邏輯并發(fā)現(xiàn)產(chǎn)品開發(fā)過程中問題的工具。MCU仿真器與pc端仿真軟件可跟蹤調(diào)試MCU程序,或設(shè)置斷點(diǎn)、全速運(yùn)行等調(diào)試手段,觀察程序代碼中的各種變量,ram單片機(jī)仿真器可以實(shí)時(shí)跟蹤程序的執(zhí)行情況,幫助我們快速發(fā)現(xiàn)程序異常,提高程序代碼運(yùn)行的效率。
1、在這類項(xiàng)目開發(fā)的過程中,使用仿真器的工程師基本沒有,根本沒有市場,但它在開發(fā)STM單片機(jī)中,該工具必須在單片機(jī)中試用。
2、傳統(tǒng)的51單片機(jī)不支持仿真。如果你需要仿真功能,你需要買一個(gè)特殊的仿真芯片。這個(gè)操作很麻煩,因?yàn)?1單片機(jī)的程序代碼量相對(duì)較少。如果有任何問題,我們基本上可以幫助LED燈閃爍來發(fā)現(xiàn)問題,或者通過串口打印進(jìn)行調(diào)試。
通過以上內(nèi)容,我們對(duì)單片機(jī)仿真器有了一定的了解。如果你基礎(chǔ)不好,可以選擇支持仿真學(xué)習(xí)的51單片機(jī)芯片。