1. gzyueqian
      18529173453

      嵌入式開(kāi)發(fā):成功模擬嵌入式軟件的 3 個(gè)技巧

      更新時(shí)間: 2022-02-11 07:15:00來(lái)源: 粵嵌教育瀏覽量:11681

        作為嵌入式軟件工程師,很容易認(rèn)為產(chǎn)品的所有軟件都依賴于硬件。大多數(shù)嵌入式開(kāi)發(fā)人員都希望立即獲得開(kāi)發(fā)板并開(kāi)始編寫軟件,這不一定是錯(cuò)的,它只是熟悉,讓我們了解與硬件相關(guān)的復(fù)雜性和問(wèn)題。但事實(shí)是,如果我們正確設(shè)計(jì)了應(yīng)用程序代碼,我們可以在沒(méi)有底層硬件的情況下模擬和測(cè)試大部分應(yīng)用程序代碼。,模擬和調(diào)試脫靶硬件更加高效和經(jīng)濟(jì)。 在今天的文章中,我們將探討成功模擬嵌入式軟件的三個(gè)技巧。


        模擬嵌入式軟件技巧 #1 – 專注于業(yè)務(wù)邏輯


        嵌入式開(kāi)發(fā)人員需要認(rèn)識(shí)到,他們產(chǎn)品的業(yè)務(wù)邏輯,即區(qū)分他們產(chǎn)品的秘訣,可以編寫成獨(dú)立于硬件。無(wú)需目標(biāo)硬件即可在 PC 環(huán)境中模擬和測(cè)試與硬件無(wú)關(guān)的代碼。


        開(kāi)發(fā)人員不需要為他們的目標(biāo)交叉編譯業(yè)務(wù)邏輯,而是可以使用 GCC 或 g++ 編譯它。然后可以使用模擬輸入和輸出在計(jì)算機(jī)上執(zhí)行該應(yīng)用程序。仿真有助于顯著加快開(kāi)發(fā)速度,并在硬件團(tuán)隊(duì)交付原型板之前證明這一點(diǎn)。


        我通常發(fā)現(xiàn)這對(duì)于直接訪問(wèn) Linux 風(fēng)格終端的 Linux 和 Mac 開(kāi)發(fā)人員來(lái)說(shuō)更容易。 Windows 開(kāi)發(fā)人員可能會(huì)發(fā)現(xiàn)他們需要安裝 Cygwin 或 Mingw,這兩者的設(shè)置都很簡(jiǎn)單。然而,有傳言說(shuō)新版本的 Windows 將很快,或者可能已經(jīng)發(fā)布,帶有基于 Linux 的終端。


        模擬嵌入式軟件技巧 #2 – 明智地構(gòu)建軟件


        前面我提到過(guò)設(shè)計(jì)合理的軟件可以在 PC 上進(jìn)行模擬或測(cè)試。 “設(shè)計(jì)合理”的軟件是一種軟件,其架構(gòu)旨在最大限度地減少依賴關(guān)系,并設(shè)計(jì)為具有獨(dú)立組件的靈活性。仔細(xì)的軟件架構(gòu)開(kāi)發(fā)允許在集成到產(chǎn)品之前單獨(dú)測(cè)試組件和模塊。事實(shí)上,在 PC 上執(zhí)行大部分業(yè)務(wù)邏輯測(cè)試對(duì)我來(lái)說(shuō)并不少見(jiàn)。 PC 環(huán)境使我們能夠快速測(cè)試輸入、輸出、繪圖數(shù)據(jù),并測(cè)試難以達(dá)到目標(biāo)的極端情況。


        通常情況下,嵌入式開(kāi)發(fā)人員會(huì)在硬件上玩轉(zhuǎn)軟件數(shù)周,試圖找出可能導(dǎo)致問(wèn)題的原因。 在這種情況下,團(tuán)隊(duì)正在賭博,希望在任何合理的時(shí)間內(nèi)找到解決方案。 由于軟件的設(shè)計(jì)和實(shí)現(xiàn)方式,我能夠提取算法,人們認(rèn)為它依賴于硬件,然后將其包裝在我在 PC 上執(zhí)行的測(cè)試代碼中。 然后我能夠繪制輸出并將其與預(yù)期結(jié)果進(jìn)行比較。 這允許開(kāi)發(fā)人員在受控和隔離的環(huán)境中對(duì)部分軟件執(zhí)行完整性檢查。 如果匹配,則算法集成到嵌入式處理器的方式存在問(wèn)題。 如果不匹配,那么目標(biāo)實(shí)現(xiàn)可能需要一些調(diào)整。



        模擬嵌入式軟件技巧 #3 – 利用 Matlab 等工具


        Matlab 可以讓團(tuán)隊(duì)模擬狀態(tài)機(jī)、算法并深入研究系統(tǒng)的行為方式。事實(shí)上,在許多汽車和航空航天應(yīng)用中,團(tuán)隊(duì)甚至?xí)? Matlab 為他們生成嵌入式代碼,然后團(tuán)隊(duì)只需要維護(hù)他們的模型!將嵌入式代碼仿真與 Matlab 輸出進(jìn)行比較,然后提供詳細(xì)信息以顯示算法或嵌入式系統(tǒng)中是否存在問(wèn)題。


        模擬還可以幫助嵌入式開(kāi)發(fā)人員了解整個(gè)系統(tǒng)。有時(shí)我們盲目地實(shí)現(xiàn)算法,卻沒(méi)有真正了解它們的工作原理、輸入的真正含義以及這些輸入的輸出應(yīng)該是什么樣子。有時(shí)我們可以僥幸逃脫,但如果出現(xiàn)問(wèn)題,開(kāi)發(fā)人員了解細(xì)節(jié)通常至關(guān)重要。模擬可以幫助解決這個(gè)問(wèn)題,特別是如果包括所有旋鈕和刻度盤。開(kāi)發(fā)人員可以增加參數(shù) A 并查看它如何更改輸出。然后可以調(diào)整參數(shù) B 等等,直到他們完全理解系統(tǒng)是如何工作的。在很多情況下,問(wèn)題的關(guān)鍵不是算法,而是它與實(shí)時(shí)行為的交互。


        嵌入式軟件開(kāi)發(fā)人員不必依賴硬件即可完成工作。當(dāng)然,當(dāng)硬件可用時(shí),它是很棒的,它可以讓開(kāi)發(fā)人員通過(guò)硬件的障礙。 不過(guò),歸根結(jié)底,可以模擬和測(cè)試許多算法和應(yīng)用程序特性。 事實(shí)上,這種模擬可以幫助證明系統(tǒng)正在以應(yīng)有的方式工作,或者幫助解決可能需要相當(dāng)長(zhǎng)的調(diào)試時(shí)間的細(xì)微差別。嵌入式開(kāi)發(fā)人員需要在他們的技巧包中添加off-target模擬,如果他們還沒(méi)有這樣做的話。

      免費(fèi)預(yù)約試聽(tīng)課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲人成网站在线播放vr | 亚洲欧洲卡通动漫精品 | 亚洲欧美日韩Aⅴ在线观看 日韩欧美一本书道一区二区 | 在线精品91青草国产在线观看 | 亚洲精品国产品国语原创 | 亚洲欧美日韩中文字幕在线 |