軟件仿真
調(diào)試器和被調(diào)試程序是通過中斷系統(tǒng)來實(shí)現(xiàn)的。
用調(diào)試器打開一個(gè)調(diào)試進(jìn)程,然后調(diào)試器會(huì)根據(jù)調(diào)試信息找出源代碼與機(jī)器碼之間的對(duì)映關(guān)系.調(diào)試器會(huì)備份目標(biāo)寄存器里的數(shù)據(jù)。
打斷點(diǎn)是在加了中斷的地方會(huì)增加一個(gè)指令,當(dāng)目標(biāo)執(zhí)行到時(shí),它就會(huì)產(chǎn)生一個(gè)中斷,這時(shí)目標(biāo)程序停止運(yùn)行,并將它的運(yùn)行狀態(tài)保存下來,再由操作系統(tǒng)接管來得到目標(biāo)程序運(yùn)行的狀態(tài)(所有的寄存器),這樣就可以查看目標(biāo)運(yùn)行結(jié)果。然后調(diào)試器繼續(xù)調(diào)試運(yùn)行就是將這處的指令還原為默認(rèn)初值(結(jié)束中斷),中斷結(jié)束返回就繼續(xù)運(yùn)行原程序。單步運(yùn)行就是這樣每執(zhí)行執(zhí)行機(jī)器指令就中斷一次。還可以設(shè)置條件,在數(shù)據(jù)為特定值的時(shí)候中斷。還可以在目標(biāo)進(jìn)行中斷的時(shí)候修改它的內(nèi)存空間或著寄存器,這樣就可以實(shí)現(xiàn)動(dòng)態(tài)修改變量的值。
調(diào)試器工作原理——基礎(chǔ)篇
AUTOSAR框架
AUTOSAR架構(gòu)軟件結(jié)構(gòu)簡(jiǎn)介
AUTOSAR架構(gòu)基本解析
AUTOSAR的分層式設(shè)計(jì),用于支持完整的軟件和硬件模塊的獨(dú)立性(Independence),中間RTE(Runtime Environment)作為虛擬功能總線VFB(Virtual Functional Bus)的實(shí)現(xiàn),隔離了上層的應(yīng)用軟件層(Application Layer)與下層的基礎(chǔ)軟件(Basic Software),擺脫了以往ECU軟件開發(fā)與驗(yàn)證時(shí)對(duì)硬件系統(tǒng)的依賴。
AUTOSAR計(jì)劃目標(biāo)主要有三個(gè):
1.建立獨(dú)立于硬件的分層軟件架構(gòu)
2.為實(shí)施應(yīng)用提供方法論,包括制定無縫的軟件架構(gòu)堆疊流程并將應(yīng)用軟件整合至ECU
3.制定各種車輛應(yīng)用接口規(guī)范,作為應(yīng)用軟件整合標(biāo)準(zhǔn),以便軟件構(gòu)件在不同汽車平臺(tái)復(fù)用
運(yùn)行環(huán)境RTE即是具體單個(gè)ECU上對(duì)VFB接口的實(shí)現(xiàn),可以理解成是面向?qū)ο蟮木幊陶Z言中對(duì)象的創(chuàng)建。
各軟件組件之間不允許直接進(jìn)行通信,由RTE封裝好了下層如OESK、COM等通信層BSW后,為上層提供數(shù)據(jù)通信所需的RTE API,再使用端口或者Sender-Receiver通信和Client-Server通信的方式進(jìn)行交互。
軟件開發(fā)流程
系統(tǒng)需求獲取,需求分析,軟件需求分析,軟件框架設(shè)計(jì),軟件單元模塊設(shè)計(jì),軟件單元開發(fā),軟件單元驗(yàn)證測(cè)試,系統(tǒng)集成,集成系統(tǒng)統(tǒng)一驗(yàn)證測(cè)試,測(cè)試,維護(hù)。
保證需求、軟件、測(cè)試的一致性、雙向可追溯性,每步結(jié)果要傳達(dá)給所有相關(guān)方