物联网软件开发公司 车载软件架构 —— 闲扯几句AUTOSAR OS(十一)
莫得东说念主慈祥你。也无需有东说念主慈祥你。你必须承认我方的价值,你不行站在他东说念主的角度来反对我方。东说念主生谢世,最怕的即是把别东说念主的眼神当成我方生计的独一法式。到终末,既莫得活成别东说念主可爱的花样,也莫得活成我方念念要的花样。咱们惟有取舍真确的我方,不自卑、不清高,时候领有更雄壮的内心;惟有找到我方的中枢价值物联网软件开发公司,时候活出我方的精彩东说念主生。
”图片
本文主要文书如下现实,接着上一篇的先容现实,不息聊AUTOSAR OS关系现实:-> 1、AUTOSAR OS的启动-> 2、AUTOSAR OS的关闭前边的系列著作中先容了AUTOSAR OS的发展历程,以过头中十分攻击的元素,主张,和关系的达成机制;并要点先容一下竖立用具里的OS模块需要驻防的现实和竖立项。而在当下主流的车载MCU中,格外是在网关,区域收尾器,三电收尾器等畛域中大多使用的是性能较强的多核MCU芯片;因此,将会基于多核MCU的架构下,来文书AUTOSAR OS多核的启动和关闭进程。一、AUTOSAR OS的启动在AUTOSAR OS中,多核OS系统会分为主从结构,主核是在上电起初时自动启动的;其他的从核是由主核,大略其他的从核来进行启动的。最起初上电起初时,主核会奉行Reset所对应中断劳动设施,即主核的启动代码。在启动代码中完成MCU的一些底层关节的竖立,如PLL竖立,FPU竖立等,也会去启动化内存,和关系的内核寄存器(无意候也会启动化部分外设寄存器),启动化中断向量表地址,Trap向量表的地址等等。启动代码奉行完毕以后,就会投入到main函数中,然后奉行相应的下一阶段的启动化行为,如Os_InitMemory(),Os_Init (),EcuM_Init()等函数。此处需要稀奇诠释的是,每个内核齐需要奉行启动代码设施,启动代码不错是我方专有的,大略是一份启动代码,每个内核奉行不同的代码片断(通过不同的Core ID来分裂)。OS在启动的时候,是和EcuM的上电启动进程,和竖立息息关系的,当Master Core在main函数中奉行到EcuM_Init()函数,会去次序奉行一些基础的启动化列表,如各个BSW模块的Memory启动化(InitZero),以及一些BSW模块之下的底层模块,如Mcu, Port,ADC,Gpt等模块的启动化任务(InitOne)。这些模块是启动其他Core,以及启动OS所必需的模块。当这些启动化完成以后,会调用EcuM_StartOS()函数,在这个函数里,会说明所竖立的内核数目,调用StartCore()次序启动其他几个Slave Core。其他几个Core启动以后,会次序按照端正奉行启动代码,main函数,物联网软件开发大概多少钱EcuM_Init()函数等等来完成相应的行为。StartCore()函数调用完毕以后,各个核之间会进行第一次同步,同步完成了以后再奉行下一步操作。图片
当每个Core齐启动且同步完成,每个Core齐会调用StartOS(),来开启OS;这个时候需要提前在竖立用具中为每个Core竖立一个自动休养奉行的启动化Task,此Task需要竖立为自动启动,高优先级,以及不可被霸占。当OS启动之后,每个Core会分别去调用所竖立的启动化Task,在Task中会去奉行EcuM_StatupTwo(),在这个函数中去奉行OS开启休养之前的准备责任,如SchM_Start(), SchM_Init(), BswM_Init(), 以及所用到的BSW模块的启动化。当启动化完成以后,每个Core齐会去奉行Rte_Start(),主核会去判断其他统共从核是否齐奉行了Rte_Start(),若是奉行了,主核自己会去Rte_Start(),负责开启OS Task休养。从核这边我方先奉行Rte_Start(),然后再恭候主核奉行罢了Rte_Start()以后,也负责开启OS Task休养,如下图所示清晰图。此处调用的Rte_Start(),亦然多核OS启动过程中的第二次同步。图片
如下图所示,不错将AUTOSAR OS中多核启动的进程进行回来。在统共这个词启动过程中,不同的核间会进行两次同步,第一次是在奉行StartCore()会进行一次同步;第二次是在奉行Rte_Start()时进行同步的。两次同步完毕以后,每个Core会负责开启休养,起初奉行用户所竖立的Task,大略ISR中断劳动设施。至此,OS的上电启动还是完成了。需要稀奇补充诠释的是,OS的启动进程是EcuM上电进程的一部分,后续在模式惩办著作中会对EcuM的上电进程不息进行先容。图片
二、AUTOSAR OS的关闭一般情况下,当ECU需要关闭,大略重启的时候,EcuM会投入到ShutDown阶段,会一次关闭BswM模块,关闭BSW的休养表,检查叫醒事件等等。和EcuM上电的进程基本违反(在后续的AUTOSAR模式惩办的系列著作中,会详备诠释的)。然后才起初关闭OS。和OS启动进程稍有不同,OS的关闭进程相对来说没那么多的要领了。图片
一般情况下,在OS关闭的情况下,每个Core齐会去奉行EcuM_GoDown(),然后去奉行ShutdownOS()来完成OS 的关闭。当OS在关闭的过程中,每个OS Application会去调用各自的Shutdown Hook来完成对应的回调设施。随后,就恭候到同步点,进行各个核间的关闭时候的同步。同步完成以后,奉行终末的Shutdown Hook。固然,针对上述的关闭进程,需要在EcuM中作念相应的竖立,如,需要竖立Bsw Core的ID,一般竖立为主核ID。同期,也要使能去向理从核的OS关闭进程的现实。如底下截图所示的竖立。图片
第21分钟,亚马尔禁区前沿轰出世界波破门。
21:18 奖号全部产生,本期奖号:红球05 09 14 21 22 26,蓝球12。
停笔共享完毕!愿你我坚信时分的力量作念一个恒久主见者!图片
车载软件架构 —— 闲扯几句AUTOSAR OS(九)
车载软件架构 —— 闲扯几句AUTOSAR OS(八)
车载软件架构 —— 闲扯几句AUTOSAR OS(七)
电子电气架构——车载DoIP通讯汇总
车载软件架构 —— 闲扯几句AUTOSAR OS(六)
会诊测试用具CANoe.DiVa从初学到醒目系列——开门见山
电子电气架构 —— OEM对于DTC具体达成关系见识
车载软件架构 —— 闲扯几句AUTOSAR OS(五)
车载软件架构 —— 闲扯几句AUTOSAR OS(四)
车载会诊公约 —— 会诊劳动Service 11
车载软件架构 ——闲扯几句AUTOSAR OS(三)
车载软件架构 —— 闲扯几句AUTOSAR OS(二)
小程序开发车载会诊公约-ISO 14229
车载会诊公约-ISO 14229 / 13400 /15765
车载软件架构——闲扯几句AUTOSAR OS(一)
电子电气架构——IP地址取得花样物联网软件开发公司
本站仅提供存储劳动,统共现实均由用户发布,如发现存害或侵权现实,请点击举报。