對(duì)于網(wǎng)站建設(shè)公司來(lái)講,半托管是ARM處理器支持的調(diào)試功能,在嵌入式開(kāi)發(fā)中,它允許嵌入式目標(biāo)通過(guò)調(diào)試接口訪問(wèn)主機(jī)PC上的 i/o 功能。i/o 功能最常與printf一起使用,將文本數(shù)據(jù)傳輸?shù)秸{(diào)試環(huán)境中的虛擬終端,但它也可用于文件訪問(wèn)和鍵盤(pán)輸入。
半托管功能通常通過(guò)與標(biāo)準(zhǔn)C庫(kù)接口的特殊庫(kù)來(lái)實(shí)現(xiàn)。在許多情況下,該庫(kù)默認(rèn)包含在開(kāi)發(fā)環(huán)境中。例如,在Renesas Synergy(TM)平臺(tái)e2 Studio中,默認(rèn)包含–specs=rdimon.specs選項(xiàng),其中包括使用半托管的掛鉤。開(kāi)發(fā)人員需要做的就是包含標(biāo)準(zhǔn)庫(kù),并且他們模塊中的所有printf語(yǔ)句都通過(guò)半托管設(shè)施重定向。
在最低級(jí)別,通過(guò)觸發(fā)SWI指令(軟件中斷)在ARM內(nèi)核中實(shí)現(xiàn)半托管,該指令已被SVC指令(監(jiān)督調(diào)用)取代。在某些部分,也可能使用BKPT指令。當(dāng)指令執(zhí)行時(shí),處理器停止執(zhí)行應(yīng)用程序并等待調(diào)試器訪問(wèn)處理器并檢索需要傳輸?shù)街鳈C(jī)的內(nèi)容。
表面上的半托管似乎是個(gè)好主意,并非所有嵌入式目標(biāo)都具有連接鍵盤(pán)、屏幕或文件系統(tǒng)的 i/o 功能,半托管提供了通過(guò)主機(jī)環(huán)境擁有此功能并使用調(diào)試器傳輸數(shù)據(jù)的能力。
首先,半托管非常慢。在嵌入式開(kāi)發(fā)中,CPU停止并且調(diào)試器必須訪問(wèn)內(nèi)核、傳輸?shù)街鳈C(jī)然后恢復(fù)操作這一事實(shí)會(huì)導(dǎo)致執(zhí)行延遲,可能長(zhǎng)達(dá)數(shù)十毫秒!這比大多數(shù)系統(tǒng)滴答持續(xù)時(shí)間更長(zhǎng),并且可能對(duì)軟件的實(shí)時(shí)性能造成嚴(yán)重破壞。
其次,當(dāng)啟用半主機(jī)時(shí),處理器會(huì)暫停并等待調(diào)試器。如果調(diào)試器未連接到系統(tǒng),處理器將無(wú)限期停止!這意味著半托管只能在調(diào)試期間使用,開(kāi)發(fā)人員必須編譯出他們的半托管功能以用于生產(chǎn)。否則,他們的設(shè)備可能會(huì)在等待調(diào)試器檢索信息并恢復(fù)操作時(shí)掛斷最終用戶(hù)。這種阻塞行為令人失望,但開(kāi)發(fā)人員需要接受這一事實(shí)。
最后,半托管不是確定性的。執(zhí)行時(shí)間可能會(huì)有很大差異,并且可能會(huì)使開(kāi)發(fā)人員發(fā)瘋,因?yàn)樗麄冊(cè)噲D在他們的軟件中追蹤真正源于使用半托管的奇怪行為。在實(shí)時(shí)應(yīng)用程序中,確定性至關(guān)重要,應(yīng)不惜一切代價(jià)避免任何可能影響這一點(diǎn)的事情。
半托管是一個(gè)非常簡(jiǎn)潔的功能,在許多情況下肯定會(huì)對(duì)開(kāi)發(fā)人員有所幫助。然而,在大多數(shù)情況下,它更像是一個(gè)問(wèn)題而不是資產(chǎn)。盡管如此,對(duì)于嵌入式開(kāi)發(fā)開(kāi)發(fā)人員來(lái)說(shuō),了解可用的工具和功能也很重要。建議你花一個(gè)小時(shí)左右的時(shí)間來(lái)探索工具鏈中存在的半托管功能,并了解它們?nèi)绾斡绊憰r(shí)間以及你開(kāi)發(fā)系統(tǒng)的能力。
廣州天河區(qū)珠江新城富力盈力大廈北塔2706
020-38013166(網(wǎng)站咨詢(xún)專(zhuān)線)
400-001-5281 (售后服務(wù)熱線)
深圳市坂田十二橡樹(shù)莊園F1-7棟
Site/ http://www.szciya.com
E-mail/ itciya@vip.163.com
品牌服務(wù)專(zhuān)線:400-001-5281
長(zhǎng)沙市天心區(qū)芙蓉中路三段398號(hào)新時(shí)空大廈5樓
聯(lián)系電話/ (+86 0731)88282200
品牌服務(wù)專(zhuān)線/ 400-966-8830
旗下運(yùn)營(yíng)網(wǎng)站:
Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號(hào)