<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 業(yè)界動(dòng)態(tài) > 利用NXP S32DS和IAR Embedded Workbench for Arm加快基于NXP S32K3 MCU的汽車(chē)軟件開(kāi)發(fā)

利用NXP S32DS和IAR Embedded Workbench for Arm加快基于NXP S32K3 MCU的汽車(chē)軟件開(kāi)發(fā)

—— 一個(gè)如何充分結合原廠(chǎng)MCU開(kāi)發(fā)環(huán)境與業(yè)內領(lǐng)先軟件工具優(yōu)勢來(lái)加速關(guān)鍵任務(wù)應用開(kāi)發(fā)的案例
作者: 時(shí)間:2022-03-29 來(lái)源:電子產(chǎn)品世界 收藏

隨著(zhù)市場(chǎng)需求和汽車(chē)行業(yè)不斷推進(jìn)電動(dòng)化、網(wǎng)聯(lián)化、智能化和共享化等“新四化”,工程師將會(huì )面對越來(lái)越多的軟件開(kāi)發(fā)項目,去用高性能的、獲得車(chē)規級和功能安全認證的MCU開(kāi)發(fā)相關(guān)應用。將MCU供應商匹配提供的MCU開(kāi)發(fā)環(huán)境,與業(yè)內領(lǐng)先的開(kāi)發(fā)工具相結合,將會(huì )給開(kāi)發(fā)人員帶來(lái)開(kāi)發(fā)效率和成果性能的大幅提升。本文以在汽車(chē)行業(yè)被廣泛使用的S32K系列32位Arm Cortex汽車(chē)MCU為例,來(lái)介紹通過(guò)整合利用其S32DS開(kāi)發(fā)環(huán)境和在行業(yè)中已被廣泛采用的IAR Embedded Workbench for Arm工具鏈,快速開(kāi)發(fā)高性能汽車(chē)MCU應用。

本文引用地址:http://dyxdggzs.com/article/202203/432528.htm

自2017年推出以來(lái),NXP S32K1 MCU在汽車(chē)電子市場(chǎng)上被廣泛應用。在此基礎上,NXP于2020年推出S32K3 MCU,進(jìn)一步擴展了基于A(yíng)rm Cortex-M0+/M4F的S32K1 MCU系列產(chǎn)品。全新的S32K3 MCU基于A(yíng)rm Cortex-M7,并提供了多核和鎖步選項,可支持功能安全 ISO 26262 ASIL B/D。S32K3 MCU主要用于汽車(chē)車(chē)身電子系統、電池管理和新興的域控制器。

1648519021935239.png

圖1 NXP S32K(來(lái)源:NXP)

為了解決與日俱增的軟件復雜度問(wèn)題,NXP推出了實(shí)時(shí)驅動(dòng)(RTD),可支持AUTOSAR和非AUTOSAR應用上的實(shí)時(shí)軟件,主要用于A(yíng)rm Cortex-M內核,使所有軟件層均符合ISO 26262要求。從而可以快速完成符合相關(guān)認證要求的應用。

image.png

圖2 NXP 實(shí)時(shí)驅動(dòng)(RTD)(來(lái)源:NXP)

NXP S32K3 MCU擁有廣泛的合作伙伴來(lái)幫助客戶(hù)開(kāi)發(fā)。作為NXP的重要合作伙伴,IAR Systems提供專(zhuān)業(yè)的嵌入式軟件開(kāi)發(fā)工具。

最新推出的IAR Embedded Workbench for Arm V9.20.1已經(jīng)正式支持NXP S32K3 MCU (見(jiàn)參考材料1)。IAR Embedded Workbench for Arm V8.50.10 功能安全版本可用于基于S32K3實(shí)時(shí)驅動(dòng)(RTD)的應用開(kāi)發(fā)。

1648519067529884.png

圖3 IAR Systems嵌入式軟件開(kāi)發(fā)工具(來(lái)源:IAR Systems)

IAR Embedded Workbench for Arm廣泛應用于汽車(chē)電子軟件開(kāi)發(fā)。其高度優(yōu)化的編譯器可以生成運行效率極高、并且體積小的可執行代碼,最大程度釋放MCU性能,降低FLASH和RAM的占用。同時(shí)IAR Embedded Workbench for Arm具有強大的調試器、代碼分析工具可以幫助研發(fā)人員提升開(kāi)發(fā)效率,提高代碼質(zhì)量,保障產(chǎn)品的可靠性。

為了方便客戶(hù)的應用開(kāi)發(fā),IAR Embedded Workbench for Arm與NXP S32DS工具做了相應的集成,方便客戶(hù)在IAR Embedded Workbench for Arm工具上快速進(jìn)行工程初始化。

NXP的S32 Design Studio中的S32配置工具(Configuration Tools) 可以快速配置引腳、時(shí)鐘和外設,大大簡(jiǎn)化了S32K3 MCU的配置工作,可以加速開(kāi)發(fā)前期的準備工作。通過(guò)S32DS做項目工程初始化,然后導入到IAR Embedded Workbench for Arm中進(jìn)行項目開(kāi)發(fā),可以為S32K3系列芯片用戶(hù)帶來(lái)極大的便捷。

下面將具體介紹如何利用NXP S32DS建立工程并導入到IAR Embedded Workbench for Arm來(lái)加快基于NXP S32K3 MCU的汽車(chē)軟件開(kāi)發(fā)。

在NXP S32DS中安裝IAR Eclipse插件

NXP S32DS支持IAR Eclipse插件,但是IAR Eclipse插件沒(méi)有包含在S32DS安裝包中,需要單獨安裝,其方法可具體可以閱讀參考材料2。 在實(shí)際應用中,這適用于S32 Design Studio for ARM,同樣也適用于S32 Design Studio for S32 Platform。

在NXP S32DS中建立工程

在NXP S32DS中建立工程并選擇IAR Toolchain for Arm作為對應的工具鏈:

1648519099860254.png

然后通過(guò)Configuration Tools配置對應的引腳、時(shí)鐘和外設并自動(dòng)生成相應的代碼:

1648519122933840.png

導出S32DS工程到IAR Embedded Workbench for Arm

在S32DS中建立工程時(shí),如果選擇了IAR Toolchain for Arm 作為工具鏈,對應的工程可以導出并導入到IAR Embedded Workbench for Arm,具體步驟可以查閱參考材料3。導出工程的操作適用于S32 Design Studio for ARM和S32K1,同樣也適用于S32 Design Studio for S32 Platform和S32K3。

但是按照鏈接中的操作之后,IAR Embedded Workbench for Arm工程文件夾目錄和NXP S32DS里面的原有工程文件夾目錄不一致:

image.png

image.png

為此IAR提供了一個(gè)叫做EWPtool的插件,可以導入對應的源文件目錄到工程,具體可以查閱參考材料4。

下面是在從NXP S32DS導Workbench for Arm中之后的操作:

1.刪除對應的Freescale Processor Expert文件夾(對應的工程文件夾目錄都會(huì )被刪除):

image.png

2.添加新源文件目錄并選擇對應工程目錄(指向NXP S32DS創(chuàng )建工程的目錄):

1648519217560518.png

image.png

3.對應IAR Embedded Workbench for Arm的工程文件夾目錄和NXP S32DS里面的原有工程文件夾目錄一致:

image.png

image.png

4.由于NXP S32DS中的startup代碼中的程序入口函數和中斷向量表與IAR Embedded Workbench for Arm默認使用的程序入口函數和中斷向量表不同,需要做下面的配置(在Linker選項中指定對應的程序入口函數,在Debugger選項中指定對應的中斷向量表地址:“--drv_vector_table_base=_ENTRY_VTABLE”):

1648519305936472.png

1648519355425661.png

5.然后就可以在IAR Embedded Workbench for Arm中進(jìn)行編譯,下載和調試等相關(guān)操作了:

1648519382982290.png

總結

本文以NXP最新推出的S32K3 MCU及相關(guān)的軟件開(kāi)發(fā)資源為例,通過(guò)展示如何利用NXP原廠(chǎng)配置的S32DS工具建立基于S32K3 MCU的工程,并選擇業(yè)內廣受歡迎的IAR Toolchain for Arm 作為工具鏈來(lái)提升對代碼質(zhì)量要求很高的項目的開(kāi)發(fā)效率。通過(guò)NXP S32DS中的Configuration Tools配置對應的引腳、時(shí)鐘和外設,并自動(dòng)生成相應的代碼,然后導出NXP S32DS工程到IAR Embedded Workbench for Arm進(jìn)行后續開(kāi)發(fā)。利用NXP S32DS的靈活配置和IAR Embedded Workbench for Arm高效的編譯效率加快基于NXP S32K3 MCU的汽車(chē)軟件開(kāi)發(fā)。

當然,隨著(zhù)越來(lái)越多的中國科技企業(yè)在工業(yè)應用、醫療設備和其他要求高可靠性和高性能的關(guān)鍵應用中發(fā)力,在這些領(lǐng)域中也存在著(zhù)如何結合MCU原廠(chǎng)開(kāi)發(fā)工具,以及諸如IAR Systems這些第三方廠(chǎng)商提供的高性能工具鏈各自的優(yōu)勢做應用開(kāi)發(fā)的機會(huì ),工程師朋友們可以多做了解和嘗試。

延展閱讀

參考材料1:IAR Systems enables next generation automotive applications with NXP’s S32K3 MCU family

參考材料2: HOWTO: Install IAR Eclipse plug-in into S32 Design Studio for ARM

參考材料3:  HOWTO: Export S32DS Project to IAR Embedded Workbench for Arm

參考材料4: https://github.com/IARSystems/project-migration-tools

關(guān)于IAR Embedded Workbench for Arm的更多信息,請參考 IAR Embedded Workbench for Arm

關(guān)于NXP S32K3的更多信息,請參考 S32K3 Microcontrollers for General Purpose



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>