隨著市場(chǎng)需求和汽車行業(yè)不斷推進(jìn)電動(dòng)化、網(wǎng)聯(lián)化、智能化和共享化等“新四化”,工程師將會(huì)面對(duì)越來(lái)越多的軟件開發(fā)項(xiàng)目,去用高性能的、獲得車規(guī)級(jí)和功能安全認(rèn)證的MCU開發(fā)相關(guān)應(yīng)用。將MCU供應(yīng)商匹配提供的MCU開發(fā)環(huán)境,與業(yè)內(nèi)領(lǐng)先的開發(fā)工具相結(jié)合,將會(huì)給開發(fā)人員帶來(lái)開發(fā)效率和成果性能的大幅提升。
本文以在汽車行業(yè)被廣泛使用的S32K系列32位Arm Cortex汽車MCU為例,來(lái)介紹通過(guò)整合利用其S32DS開發(fā)環(huán)境和在行業(yè)中已被廣泛采用的IAR Embedded Workbench for Arm工具鏈,快速開發(fā)高性能汽車MCU應(yīng)用。
自2017年推出以來(lái),NXP S32K1 MCU在汽車電子市場(chǎng)上被廣泛應(yīng)用。在此基礎(chǔ)上,NXP于2020年推出S32K3 MCU,進(jìn)一步擴(kuò)展了基于Arm Cortex-M0+/M4F的S32K1 MCU系列產(chǎn)品。全新的S32K3 MCU基于Arm Cortex-M7,并提供了多核和鎖步選項(xiàng),可支持功能安全 ISO 26262 ASIL B/D。S32K3 MCU主要用于汽車車身電子系統(tǒng)、電池管理和新興的域控制器。
01
圖1:NXP S32K(來(lái)源:NXP)
為了解決與日俱增的軟件復(fù)雜度問(wèn)題,NXP推出了實(shí)時(shí)驅(qū)動(dòng)(RTD),可支持AUTOSAR和非AUTOSAR應(yīng)用上的實(shí)時(shí)軟件,主要用于Arm Cortex-M內(nèi)核,使所有軟件層均符合ISO 26262要求。從而可以快速完成符合相關(guān)認(rèn)證要求的應(yīng)用。
圖2:NXP 實(shí)時(shí)驅(qū)動(dòng)(RTD) (來(lái)源:NXP)
NXP S32K3 MCU擁有廣泛的合作伙伴來(lái)幫助客戶開發(fā)。作為NXP的重要合作伙伴,IAR Systems提供專業(yè)的嵌入式軟件開發(fā)工具。最新推出的IAR Embedded Workbench for Arm V9.20.1已經(jīng)正式支持NXP S32K3 MCU (見參考材料1)。IAR Embedded Workbench for Arm V8.50.10 功能安全版本可用于基于S32K3實(shí)時(shí)驅(qū)動(dòng)(RTD)的應(yīng)用開發(fā)。
圖3:IAR Systems嵌入式軟件開發(fā)工具
IAR Embedded Workbench for Arm廣泛應(yīng)用于汽車電子軟件開發(fā)。其高度優(yōu)化的編譯器可以生成運(yùn)行效率極高、并且體積小的可執(zhí)行代碼,最大程度釋放MCU性能,降低FLASH和RAM的占用。同時(shí)IAR Embedded Workbench for Arm具有強(qiáng)大的調(diào)試器、代碼分析工具可以幫助研發(fā)人員提升開發(fā)效率,提高代碼質(zhì)量,保障產(chǎn)品的可靠性。
為了方便客戶的應(yīng)用開發(fā),IAR Embedded Workbench for Arm與NXP S32DS工具做了相應(yīng)的集成,方便客戶在IAR Embedded Workbench for Arm工具上快速進(jìn)行工程初始化。
NXP的S32 Design Studio中的S32配置工具(Configuration Tools) 可以快速配置引腳、時(shí)鐘和外設(shè),大大簡(jiǎn)化了S32K3 MCU的配置工作,可以加速開發(fā)前期的準(zhǔn)備工作。通過(guò)S32DS做項(xiàng)目工程初始化,然后導(dǎo)入到IAR Embedded Workbench for Arm中進(jìn)行項(xiàng)目開發(fā),可以為S32K3系列芯片用戶帶來(lái)極大的便捷。
02
下面將具體介紹如何利用NXP S32DS建立工程并導(dǎo)入到IAR Embedded Workbench for Arm來(lái)加快基于NXP S32K3 MCU的汽車軟件開發(fā)。
在NXPS32DS中安裝IAREclipse插件
NXP S32DS支持IAR Eclipse插件,但是IAR Eclipse插件沒有包含在S32DS安裝包中,需要單獨(dú)安裝,其方法可具體可以閱讀(參考材料2)。在實(shí)際應(yīng)用中,這適用于S32 Design Studio for ARM,同樣也適用于S32 Design Studio for S32 Platform。
在NXPS32DS中建立工程
在NXP S32DS中建立工程并選擇IAR Toolchain for Arm作為對(duì)應(yīng)的工具鏈:
然后通過(guò)Configuration Tools配置對(duì)應(yīng)的引腳、時(shí)鐘和外設(shè)并自動(dòng)生成相應(yīng)的代碼:
導(dǎo)出S32DS工程到IAREmbedded Workbench for Arm
在S32DS中建立工程時(shí),如果選擇了IAR Toolchain for Arm 作為工具鏈,對(duì)應(yīng)的工程可以導(dǎo)出并導(dǎo)入到IAR Embedded Workbench for Arm,具體步驟可以查閱(參考材料3)。導(dǎo)出工程的操作適用于S32 Design Studio for ARM和S32K1,同樣也適用于S32 Design Studio for S32 Platform和S32K3。
但是按照鏈接中的操作之后,IAR Embedded Workbench for Arm工程文件夾目錄和NXP S32DS里面的原有工程文件夾目錄不一致:
為此IAR提供了一個(gè)叫做EWPtool的插件,可以導(dǎo)入對(duì)應(yīng)的源文件目錄到工程,具體可以查閱(參考材料4)。
03
下面是在從NXP S32DS導(dǎo)Workbench for Arm中之后的操作:
1. 刪除對(duì)應(yīng)的Freescale Processor Expert文件夾(對(duì)應(yīng)的工程文件夾目錄都會(huì)被刪除):
2.添加新源文件目錄并選擇對(duì)應(yīng)工程目錄(指向NXP S32DS創(chuàng)建工程的目錄):
3.對(duì)應(yīng)IAR Embedded Workbench for Arm的工程文件夾目錄和NXP S32DS里面的原有工程文件夾目錄一致:
4.由于NXP S32DS中的startup代碼中的程序入口函數(shù)和中斷向量表與IAR Embedded Workbench for Arm默認(rèn)使用的程序入口函數(shù)和中斷向量表不同,需要做下面的配置(在Linker選項(xiàng)中指定對(duì)應(yīng)的程序入口函數(shù),在Debugger選項(xiàng)中指定對(duì)應(yīng)的中斷向量表地址:“--drv_vector_table_base=_ENTRY_VTABLE”):
5. 然后就可以在IAR Embedded Workbench for Arm中進(jìn)行編譯,下載和調(diào)試等相關(guān)操作了:
總結(jié)
本文以NXP最新推出的S32K3 MCU及相關(guān)的軟件開發(fā)資源為例,通過(guò)展示如何利用NXP原廠配置的S32DS工具建立基于S32K3 MCU的工程,并選擇業(yè)內(nèi)廣受歡迎的IAR Toolchain for Arm 作為工具鏈來(lái)提升對(duì)代碼質(zhì)量要求很高的項(xiàng)目的開發(fā)效率。通過(guò)NXP S32DS中的Configuration Tools配置對(duì)應(yīng)的引腳、時(shí)鐘和外設(shè),并自動(dòng)生成相應(yīng)的代碼,然后導(dǎo)出NXP S32DS工程到IAR Embedded Workbench for Arm進(jìn)行后續(xù)開發(fā)。利用NXP S32DS的靈活配置和IAR Embedded Workbench for Arm高效的編譯效率加快基于NXP S32K3 MCU的汽車軟件開發(fā)。
當(dāng)然,隨著越來(lái)越多的中國(guó)科技企業(yè)在工業(yè)應(yīng)用、醫(yī)療設(shè)備和其他要求高可靠性和高性能的關(guān)鍵應(yīng)用中發(fā)力,在這些領(lǐng)域中也存在著如何結(jié)合MCU原廠開發(fā)工具,以及諸如IAR Systems這些第三方廠商提供的高性能工具鏈各自的優(yōu)勢(shì)做應(yīng)用開發(fā)的機(jī)會(huì),工程師朋友們可以多做了解和嘗試。
審核編輯 :李倩
-
mcu
+關(guān)注
關(guān)注
146文章
17370瀏覽量
352918 -
汽車電子
+關(guān)注
關(guān)注
3029文章
8036瀏覽量
167931 -
S32DS
+關(guān)注
關(guān)注
0文章
9瀏覽量
869
原文標(biāo)題:如何結(jié)合原廠MCU和開發(fā)環(huán)境與業(yè)內(nèi)領(lǐng)先軟件工具來(lái)加速關(guān)鍵任務(wù)型應(yīng)用開發(fā)
文章出處:【微信號(hào):Technomics,微信公眾號(hào):華興萬(wàn)邦技術(shù)經(jīng)濟(jì)學(xué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
DV2003S2快速充電開發(fā)系統(tǒng)
![DV2003<b class='flag-5'>S</b>2<b class='flag-5'>快速</b>充電<b class='flag-5'>開發(fā)</b>系統(tǒng)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
SiFive 推出高性能 Risc-V CPU 開發(fā)板 HiFive Premier P550
![SiFive 推出<b class='flag-5'>高性能</b> Risc-V CPU <b class='flag-5'>開發(fā)</b>板 HiFive Premier P550](https://file1.elecfans.com//web3/M00/02/76/wKgZO2dfnGKAOUAiAAgKahZCBOE660.png)
5nm制程,16核心?高性能汽車MCU發(fā)展趨勢(shì)
![5nm制程,16核心?<b class='flag-5'>高性能</b><b class='flag-5'>汽車</b><b class='flag-5'>MCU</b>發(fā)展趨勢(shì)](https://file1.elecfans.com/web3/M00/02/1D/wKgZPGdbiZOAZr6lAACK4lhLPHo236.png)
云端AI開發(fā)環(huán)境分析
找方案 | 高性能汽車MCU:芯馳 E3106 方案
![找方案 | <b class='flag-5'>高性能</b><b class='flag-5'>汽車</b><b class='flag-5'>MCU</b>:芯馳 E3106 方案](https://file1.elecfans.com/web1/M00/F4/C6/wKgaoWcx0DuAIKauAABto9iCTfw706.png)
MCU編程語(yǔ)言和開發(fā)環(huán)境介紹
NXP FRDM-MCXC444開發(fā)板在RT-Thread環(huán)境下的上手過(guò)程
![NXP FRDM-MCXC444<b class='flag-5'>開發(fā)</b>板在RT-Thread<b class='flag-5'>環(huán)境</b>下的上手過(guò)程](https://file1.elecfans.com/web2/M00/09/55/wKgZomcJ8qyABY71AABFpko_594666.png)
【GD32 MCU 入門教程】一、GD32 MCU 開發(fā)環(huán)境搭建(3)使用 Embedded Builder 開發(fā) GD32
![【GD32 <b class='flag-5'>MCU</b> 入門教程】一、GD32 <b class='flag-5'>MCU</b> <b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>搭建(3)使用 Embedded Builder <b class='flag-5'>開發(fā)</b> GD32](https://file1.elecfans.com/web2/M00/02/37/wKgaoma0e3mANRvBAAAxO0zTl60782.png)
【GD32 MCU 入門教程】一、GD32 MCU 開發(fā)環(huán)境搭建(2)使用 IAR 開發(fā) GD32
![【GD32 <b class='flag-5'>MCU</b> 入門教程】一、GD32 <b class='flag-5'>MCU</b> <b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>搭建(2)使用 IAR <b class='flag-5'>開發(fā)</b> GD32](https://file1.elecfans.com/web2/M00/01/49/wKgZoma0doSAZgTbAABV8x9Lb_4326.png)
瑞薩RA8系列高性能MCU開發(fā)上手體驗(yàn)
![瑞薩RA8系列<b class='flag-5'>高性能</b><b class='flag-5'>MCU</b><b class='flag-5'>開發(fā)</b>上手體驗(yàn)](https://file1.elecfans.com/web2/M00/01/47/wKgZoma0cmmAAWLkAAAap24ukCM971.png)
【GD32 MCU 入門教程】一、GD32 MCU 開發(fā)環(huán)境搭建(1)使用Keil開發(fā)GD32
![【GD32 <b class='flag-5'>MCU</b> 入門教程】一、GD32 <b class='flag-5'>MCU</b> <b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>搭建(1)使用Keil<b class='flag-5'>開發(fā)</b>GD32](https://file1.elecfans.com/web2/M00/02/32/wKgaoma0bSqAZmYJAABWzE6EVjY883.png)
芯海應(yīng)用筆記:通用 MCU IAR 開發(fā)指南
芯海應(yīng)用筆記:通用 MCU 基于 GCC 編譯開發(fā)應(yīng)用
Silicon Labs推出其新一代高性能MCU藍(lán)牙模組HCM511S
瑞薩RA8T1高性能電機(jī)控制新品解讀(下)應(yīng)用與開發(fā)篇
![瑞薩RA8T1<b class='flag-5'>高性能</b>電機(jī)控制新品解讀(下)應(yīng)用與<b class='flag-5'>開發(fā)</b>篇](https://file1.elecfans.com/web2/M00/C1/59/wKgaomXVeeqAXwQFAAAvcgaJeFU940.png)
評(píng)論