gogo专业大尺度亚洲高清人体,美女张开双腿让男生桶,亚洲av无码一区二区三区鸳鸯影院,久久久久国产精品人妻

當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 入門指導(dǎo) > 嵌入式驅(qū)動(dòng)程序設(shè)計(jì)的小竅門,業(yè)界大?偨Y(jié)

嵌入式驅(qū)動(dòng)程序設(shè)計(jì)的小竅門,業(yè)界大?偨Y(jié) 時(shí)間:2018-07-17      來(lái)源:未知

對(duì)于嵌入式來(lái)說(shuō),嵌入式應(yīng)用軟件都會(huì)在特定時(shí)候訪問(wèn)底層固件和進(jìn)行硬件控制,嵌入式驅(qū)動(dòng)程序的設(shè)計(jì)是滿足嵌入式系統(tǒng)最關(guān)鍵的一步,學(xué)習(xí)嵌入式對(duì)嵌入式驅(qū)動(dòng)程序設(shè)計(jì)是比較關(guān)鍵的,那么如何學(xué)嵌入式驅(qū)動(dòng)程序設(shè)計(jì)成為了關(guān)鍵,在這里業(yè)界大牛總結(jié)了一些嵌入式驅(qū)動(dòng)程序設(shè)計(jì)的小竅門,對(duì)學(xué)習(xí)嵌入式驅(qū)動(dòng)程序設(shè)計(jì)還是老有用了。

首先就是我們?cè)谧銮度胧津?qū)動(dòng)程序設(shè)計(jì)使用設(shè)計(jì)模式時(shí),在這里有一個(gè)注意的點(diǎn),認(rèn)真看哦:

嵌入式驅(qū)動(dòng)程序設(shè)計(jì)

對(duì)于設(shè)計(jì)模式來(lái)說(shuō),設(shè)計(jì)模型就是一個(gè)用來(lái)處理那些在軟件中會(huì)重復(fù)出現(xiàn)的問(wèn)題的解決方案。 開發(fā)人員可以選擇浪費(fèi)寶貴的時(shí)間和預(yù)算從無(wú)到有地重新發(fā)明一個(gè)解決方案,也可以從他的解決方案工具箱中選擇一個(gè)最適合解決這個(gè)問(wèn)題的方案。在微處理器出現(xiàn)之初,底層驅(qū)動(dòng)已經(jīng)很成熟了,那么,為什么不利用現(xiàn)有的成熟的解決方案呢?

在這里就有一個(gè)小技巧咯,驅(qū)動(dòng)程序設(shè)計(jì)模式大致分屬以下4個(gè)類別:Bit bang、輪詢、中斷驅(qū)動(dòng)和直接存儲(chǔ)器訪問(wèn)(DMA)。

Bit bang模式:當(dāng)微控制器沒有內(nèi)外設(shè)去執(zhí)行功能的時(shí)候,或者當(dāng)所有的內(nèi)外設(shè)都已經(jīng)被使用了,而此時(shí)又有一個(gè)新的請(qǐng)求,那么開發(fā)者就應(yīng)該選擇Bit bang設(shè)計(jì)模式。Bit bang模式的解決方案很有效率,但通常需要大量的軟件開銷來(lái)確保其實(shí)施的能力。Bit bang模式可以讓開發(fā)者手動(dòng)完成通信協(xié)議或外部行為。

輪詢模式用于簡(jiǎn)單地監(jiān)視一個(gè)輪詢調(diào)度方式中的事件。輪詢模式適用于非常簡(jiǎn)單的系統(tǒng),但許多現(xiàn)代應(yīng)用程序都需要中斷。

中斷可以讓開發(fā)者在事件發(fā)生時(shí)進(jìn)行處理,而不用等代碼手動(dòng)檢查。

DMA(直接存儲(chǔ)器訪問(wèn))模式允許其它外圍設(shè)備來(lái)處理數(shù)據(jù)傳輸?shù)男枨,而不需要?qū)動(dòng)的干預(yù)。

有現(xiàn)成的那么就可以利用現(xiàn)成的,這樣又高效又快。

重用設(shè)計(jì)這個(gè)了解嗎

當(dāng)你在時(shí)間和預(yù)算都很緊張的時(shí)候,為什么還要再造輪子呢?在驅(qū)動(dòng)程序開發(fā)中,驅(qū)動(dòng)設(shè)計(jì)的關(guān)鍵的要求就是重用、便攜性和可維護(hù)性,那告訴你一個(gè)方法就是,這些特征都可以通過(guò)硬件抽象層的設(shè)計(jì)和使用來(lái)說(shuō)明。硬件抽象層(HAL)為開發(fā)人員提供一種方式來(lái)創(chuàng)建一個(gè)標(biāo)準(zhǔn)接口去控制微控制器的外設(shè)。抽象隱藏實(shí)現(xiàn)細(xì)節(jié),取而代之的是提供了可視化功能,如 Usart_Init和Usart_Transmit。這個(gè)方法就是讓任何USART、SPI、PWM或其他外設(shè)具備所有微控制器都支持的共同特點(diǎn)。她就相當(dāng)于提供了一個(gè)容器。

再來(lái)一個(gè)小竅門就是了解實(shí)時(shí)行為

一個(gè)實(shí)時(shí)系統(tǒng)是否能滿足實(shí)時(shí)需求取決于它的驅(qū)動(dòng)程序。寫入能力差的驅(qū)動(dòng)是低效的,并可能使不知情的開發(fā)者放棄系統(tǒng)的性能。設(shè)計(jì)者需要考慮驅(qū)動(dòng)的兩個(gè)特點(diǎn):阻塞和非阻塞。一個(gè)阻塞的驅(qū)動(dòng)程序在其完成工作之前會(huì)阻止其他任何軟件執(zhí)行操作。例如,一個(gè)USART驅(qū)動(dòng)程序可以把一個(gè)字符裝入傳輸緩沖區(qū),然后一直等到接收到傳輸結(jié)束標(biāo)志符才繼續(xù)執(zhí)行下一步操作。

另一方面,非阻塞驅(qū)動(dòng)則是一般利用中斷來(lái)實(shí)現(xiàn)它的功能。中斷的使用可以防止驅(qū)動(dòng)程序在等待一個(gè)事件發(fā)生時(shí)攔截其他軟件的執(zhí)行操作。USART的驅(qū)動(dòng)程序可以將一個(gè)字符裝入傳輸緩沖區(qū)然后等主程序發(fā)布下一個(gè)指令。傳輸結(jié)束標(biāo)志符的設(shè)置會(huì)導(dǎo)致中斷結(jié)束,讓驅(qū)動(dòng)進(jìn)行下一步操作。

無(wú)論哪種類型,為了保持實(shí)時(shí)性能,并防止系統(tǒng)中的故障,開發(fā)人員必須了解驅(qū)動(dòng)的平均執(zhí)行時(shí)間和最壞情況下的執(zhí)行時(shí)間。一個(gè)完整的系統(tǒng)可能會(huì)因?yàn)橐粋(gè)潛在的風(fēng)險(xiǎn)而造成更大的安全問(wèn)題。

嵌入式驅(qū)動(dòng)程序設(shè)計(jì)

這個(gè)就是需要?jiǎng)邮至,翻翻參考?shù)據(jù)手冊(cè)

微控制器在過(guò)去的幾年里變得越來(lái)越復(fù)雜。以前想要完全了解一個(gè)微控制器需要掌握由一個(gè)大約包含500頁(yè)組成的單一數(shù)據(jù)手冊(cè)。而如今,一個(gè)32位微控制器通常包含由部分的數(shù)據(jù)手冊(cè)、整個(gè)微控制器系列的資料表、每個(gè)外設(shè)數(shù)以百計(jì)的資料以及所有的勘誤表組成的數(shù)據(jù)手冊(cè)。 開發(fā)人員如果想要完全掌握這部分的內(nèi)容需要了解幾千頁(yè)的文件。

不幸的是,所有這些數(shù)據(jù)手冊(cè)都是一個(gè)驅(qū)動(dòng)程序能真正合理實(shí)現(xiàn)所需要的。開發(fā)人員在一開始就要對(duì)每個(gè)數(shù)據(jù)手冊(cè)中包含的信息進(jìn)行收集和排序。通常它們中的每一個(gè)都需要被訪問(wèn)以使外設(shè)啟動(dòng)和運(yùn)行。 關(guān)鍵信息被分散(或隱藏)在每種類型的數(shù)據(jù)手冊(cè)中。

謹(jǐn)防外設(shè)故障

最近我剛好有機(jī)會(huì)把一系列的微控制器驅(qū)動(dòng)移植到其他的微處理器上。制造商和數(shù)據(jù)手冊(cè)都表明PWM外設(shè)在這兩個(gè)系列的微控制器之間是相同的。 然而,實(shí)際情況卻是在運(yùn)行PWM驅(qū)動(dòng)器的時(shí)候兩者之間有很大的不同。該驅(qū)動(dòng)程序只能在原來(lái)的微控制器工作,而在新系列的微控制器上卻無(wú)效。

在反復(fù)翻看數(shù)據(jù)手冊(cè)之后,我在數(shù)據(jù)手冊(cè)中一個(gè)完全不相關(guān)的注腳里發(fā)現(xiàn)了PWM外設(shè)上電時(shí)會(huì)處于故障狀態(tài),需要將一個(gè)隱藏在寄存器中的標(biāo)志位清零。在驅(qū)動(dòng)程序?qū)崿F(xiàn)的開始,確認(rèn)外設(shè)可能出現(xiàn)的故障并查看其他看似無(wú)關(guān)的寄存器錯(cuò)誤。

這些都是在嵌入式驅(qū)動(dòng)程序設(shè)計(jì)的小竅門,會(huì)讓你更快速高效的來(lái)學(xué)習(xí)嵌入式驅(qū)動(dòng)程序設(shè)計(jì),這樣你就不會(huì)在這個(gè)上面浪費(fèi)更多的時(shí)間,又快又高效,這些小竅門學(xué)起來(lái),對(duì)以后的各種嵌入式學(xué)習(xí)都是用幫助的哦。

上一篇:嵌入式題庫(kù)最全的,去公司面試都會(huì)出現(xiàn)

下一篇:嵌入式開發(fā)能干到幾歲?這些內(nèi)幕你知道嗎

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5京公海網(wǎng)安備11010802025203號(hào)

回到頂部