AUTOSAR_EXP_BSWDistributionGuide_学习笔记3
Grey
全部学习汇总: https://github.com/GreyZhang/hack_autosar
AUTOSAR_EXP_BSWDistributionGuide_学习笔记3
- MCAL BSW的运行实体在调用者所在的分区中执行。
- 在此,再度结合自己的经验理解一下。这个分区应该可能是说CPU专属的分区,由此,软件代码可以有一份但是究竟哪一个CPU来解析是不确定的。
- 不同的分区中需要相同的驱动,实现方式:可重用的直接重用、主从模式的情况中主可以直接调用硬件,从向主模块发送请求。
- 如果不同分区访问同样的硬件不可避免,那么MCAL应该支持独占区保护。
- 几个不同级别的重入:多核可以重入、单核可以重入、不可重入。
- SchM用来处理BSW模块之间的通信,类似RTE处理SWC之间的通信。
- SchM可以会用IocSend实现内部分区之间的数据发送,RTE的服务在启动期间是不能够直接用的。
- 这里也明确了一下IOC的含义,在此之前听到过,但是我错误听成了ROC。
- 这里的这个示范代码,理解起来也相对比较容易。
- 事件不强制分配给一个任务的前提条件有2种。
- 1,多分区使用同一BSW实体,要保证并行安全。
- 2,若只在一个BSW分区,则应至少可重入。
- SWC相同的实体是无法分配到不同的分区上的。
- 主从模块之间的通信不是标准化的,可以自由设计,其他的模块并不可见。但是建议使用SchM来实现主从之间的通信。
- 每一个分区可以由一个BswM,每一个内核有一个OS和一个EcuM。如果一个内核有一个分区,那么一切都是一个,会是理解起来会更简单的一种情况。
- BswM负责BSW模块的初始化和关闭。
针对并发的理解有了更进一步的认识,同时对于SchM以及BswM也有了一点在功能描述层面的了解。