亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Simulink 環(huán)境下的TCU代碼集成方法

        2019-04-18 07:55:40徐旭
        汽車實(shí)用技術(shù) 2019年7期
        關(guān)鍵詞:環(huán)境工程模型

        徐旭

        ?

        Simulink 環(huán)境下的TCU代碼集成方法

        徐旭

        (陜西法士特汽車傳動(dòng)工程研究院智能傳動(dòng)研究所,陜西 西安 710119)

        將Simulink環(huán)境下搭建的模型轉(zhuǎn)化為C代碼,通過調(diào)用MCU(微處理器)的編譯器將這些C代碼進(jìn)行編譯,并封裝為庫文件,ECU基礎(chǔ)軟件在IDE環(huán)境下也封裝為庫文件,最終在Simulink環(huán)境下通過調(diào)用MCU編譯器的鏈接器進(jìn)行兩個(gè)庫文件的合并,最終生成MCU可執(zhí)行的二進(jìn)制文件。

        Simulink;編譯器;庫文件;鏈接

        前言

        隨著Simulink建模技術(shù)在汽車行業(yè)中的的應(yīng)用,越來越多的算法工程師開始在Simulink下進(jìn)行控制邏輯的模型搭建,以便提高控制算法的設(shè)計(jì)及驗(yàn)證周期,Simulink環(huán)境本身具有強(qiáng)大的軟件模型庫,可供軟件工程師根據(jù)自己的需求從庫中提取需要的模塊進(jìn)行任意邏輯的組合,在該環(huán)境下可通過仿真輸入驗(yàn)證整個(gè)控制過程的動(dòng)態(tài)響應(yīng)。

        驗(yàn)證完的算法需要運(yùn)行在ECU(Electronic Control Uint)控制器上才能真正的將工程師的設(shè)計(jì)運(yùn)用到實(shí)踐中來。

        這就提出了將Simulink模型轉(zhuǎn)化為控制器認(rèn)識(shí)的 – 可執(zhí)行文件的問題,控制器內(nèi)部是由MCU(微處理器)及外設(shè)驅(qū)動(dòng)(CAN驅(qū)動(dòng)、輸入、輸出驅(qū)動(dòng))組成的一個(gè)電控單元,其主體是類似于人類大腦的MCU在接收外界的輸入信號(hào),根據(jù)內(nèi)部提前設(shè)計(jì)好的運(yùn)算邏輯,進(jìn)行計(jì)算后再輸出,從而讓執(zhí)行機(jī)構(gòu)產(chǎn)生相應(yīng)的動(dòng)作。

        MCU內(nèi)部運(yùn)行的是編譯器編譯后生成的二進(jìn)制文件 – Interl格式的Hex文件,編譯器類似于一個(gè)翻譯者的角色,將人們在計(jì)算機(jī)上書寫的高級(jí)語言(C語言)翻譯成MCU可讀懂的機(jī)器語言。

        這就需要我們在Simulink環(huán)境下調(diào)用MCU的編譯器對(duì)Simulink生成的C代碼進(jìn)行編譯,并與ECU的基礎(chǔ)軟件進(jìn)行鏈接,從而最終生成Hex文件。

        1 Simulink模型到C代碼的生成

        Simulink本身是MATLAB軟件中的一個(gè)功能模塊,主要用來進(jìn)行基于模型的開發(fā),從MATLAB的軟件環(huán)境來看,其隸屬關(guān)系如圖1。

        圖1 MATLAB軟件開發(fā)環(huán)境示意圖

        Simulink內(nèi)置Embedded Coder工具可實(shí)現(xiàn)將Simulink模型生成符合嵌入式系統(tǒng)使用的C代碼功能,其內(nèi)置的命令 rtwbuild ( model ),可一鍵式將模型轉(zhuǎn)化為C代碼,參數(shù)model是需要生成C代碼的模型名。

        在實(shí)際中我們常使用的命令是rtwbuild (subsystem, ‘Mode’,‘ExportFunctionCalls’),該命令可針對(duì)模型( model )中的某一個(gè)子系統(tǒng)(Subsystem)進(jìn)行C代碼的生成,將模型中的子系統(tǒng)生成一個(gè)獨(dú)立的函數(shù)(model.c文件)。

        所以我們可通過RTW命令實(shí)現(xiàn)模型轉(zhuǎn)化為C代碼的過程。

        2 C代碼轉(zhuǎn)化為庫文件

        大型的Simulink模型生成的C文件往往不止一兩個(gè),隨著模型中子系統(tǒng)數(shù)量的增加,生成的C文件常多達(dá)幾十個(gè),如何將這些文件準(zhǔn)確、可靠的與ECU基礎(chǔ)軟件進(jìn)行“合并”是我們在進(jìn)行代碼集成過程中需要考慮的,這里我們通過庫文件的形式來將Simulink生成的C代碼進(jìn)行封裝。

        所謂的庫文件也就是一系列工程文件的集合,而工程文件也就是原始C文件經(jīng)過編譯后生成的文件。

        圖2展示的C代碼的典型編譯工程(以hello.c文件為例),該文件會(huì)先后經(jīng)過預(yù)編譯、編譯、匯編三個(gè)步驟,匯編后生成的hello.o文件就是工程文件,該文件已經(jīng)將C語言書寫的高級(jí)語言轉(zhuǎn)化了MCU可認(rèn)識(shí)的機(jī)器語言,我們將這些工程文件進(jìn)行打包合并后可以生成庫文件hello.lib(可類比理解為壓縮文件)。

        圖2 C文件典型編譯過程示意圖

        3 ECU基礎(chǔ)軟件的封裝

        ECU基礎(chǔ)軟件的開發(fā)通常是在MCU專屬的編譯器環(huán)境下進(jìn)行的(俗稱的IDE – 集成開發(fā)環(huán)境),軟件開發(fā)工程師在該環(huán)境下進(jìn)行手工代碼的編寫與功能的開發(fā),IDE環(huán)境下本身就支持C代碼的編譯功能,可通過一鍵式的“BUILD”功能按鍵將工程路徑下的C代碼進(jìn)行編譯,并通過前期的編譯選項(xiàng)設(shè)置,將工程文件生成為基礎(chǔ)軟件庫文件 – BSW.lib。

        4 代碼的合并

        合并也就是將上述的兩個(gè)庫文件進(jìn)行鏈接的過程,鏈接器(linker)是編譯器軟件中的一個(gè)子軟件,是專門用來實(shí)現(xiàn)代碼鏈接的工具,代碼鏈接的過程類似于積木的拼接過程,將hello.lib與BSW.lib中的外部符號(hào)進(jìn)行查找,然后將符號(hào)的地址填充到對(duì)應(yīng)的代碼中,當(dāng)所有的符號(hào)都可準(zhǔn)確定位和填充后,則可以生成Hex文件。

        5 結(jié)論

        綜上所述,為了將Simlink模型轉(zhuǎn)化為Hex文件,先需要通過RTW命令將模型轉(zhuǎn)化為C代碼,并調(diào)用MCU編譯器將C代碼封裝為庫文件,ECU基礎(chǔ)軟件開發(fā)人員則并行在MCU IDE環(huán)境下進(jìn)行基礎(chǔ)軟件的開發(fā)工作,并也封裝為庫文件,最終在Simulink環(huán)境下通過調(diào)用MCU的連接器將上下層的庫文件進(jìn)行合并,生成Hex文件。

        圖3 Simulink環(huán)境下的代碼集成方法示意圖

        [1] 孫忠瀟.Simulink仿真及代碼生成技術(shù)入門到精通[M].北京航空航天大學(xué)出版社,2015.

        Binary Code Generation of TCU Embedded System In Simulink

        Xu Xu

        ( Shaanxi Fast Auto Drive Engineering Research Insitute, Shaanxi Xi’an 710119 )

        Convert the Simulink model to C code, invoke MCU compiler to compile the C code into static library, and compile the ECU basic software into static libraty under the IDE, link both library in Simulink and generate the final binary code.

        Simulink; Complier; Library file; Link

        U467

        A

        1671-7988(2019)07-73-02

        徐旭,電器工程師,中級(jí)工程師,就職于陜西法士特汽車傳動(dòng)研究院智能傳動(dòng)研究所,主要從事嵌入式系統(tǒng)軟件開發(fā),AutoSAR平臺(tái)下的底層軟件開發(fā),Simulink代碼集成等方面的研究工作。

        U467

        A

        1671-7988(2019)07-73-02

        10.16638/j.cnki.1671-7988.2019.07.024

        猜你喜歡
        環(huán)境工程模型
        一半模型
        長期鍛煉創(chuàng)造體內(nèi)抑癌環(huán)境
        一種用于自主學(xué)習(xí)的虛擬仿真環(huán)境
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        孕期遠(yuǎn)離容易致畸的環(huán)境
        環(huán)境
        3D打印中的模型分割與打包
        子午工程
        太空探索(2016年6期)2016-07-10 12:09:06
        工程
        国产无遮挡又黄又爽高潮| 免费高清视频在线观看视频| 国产三级一区二区三区在线观看| 国产一区二区视频免费在线观看| 色天使综合婷婷国产日韩av| 亚洲一区二区三区四区五区黄| 看全色黄大色大片免费久久| 国产99久久亚洲综合精品| 日韩欧美亚洲综合久久影院d3| 亚洲AV无码一区二区三区精神| 天涯成人国产亚洲精品一区av| 无套内谢老熟女| 亚洲巨乳自拍在线视频| 99国产精品无码专区| 少妇精品揄拍高潮少妇桃花岛 | 午夜免费福利小电影| 国产伦理一区二区| 亚洲永久无码7777kkk| 国产精品福利片免费看| 在线不卡精品免费视频| 亚洲天堂av一区二区| aⅴ精品无码无卡在线观看| a级毛片100部免费看| 一区五码在线| 人日本中文字幕免费精品| 国内精品久久久久久99| 无码aⅴ在线观看| 亚洲国产日韩av一区二区| 九一免费一区二区三区偷拍视频 | 久久精品中文字幕女同免费| 日本乱偷人妻中文字幕在线| 娇妻玩4p被三个男人伺候电影| 国产成人精品男人的天堂网站| 日本一区二区三区熟女俱乐部| 欧美性生交大片免费看app麻豆| 中国老妇女毛茸茸bbwbabes| 国产一区二区三区国产精品| 精华国产一区二区三区| 亚洲人成色7777在线观看| 久久久国产精品樱花网站| 日本熟妇裸体视频在线|