首页 > 其他 > 详细

Rocket - subsystem - BaseSubsystem

时间:2020-06-20 14:42:12      阅读:77      评论:0      收藏:0      [点我收藏+]

https://mp.weixin.qq.com/s/RIW_YxjsrGtU07xtUDEYpA

 

简单介绍BaseSubsystem的实现。

 

技术分享图片

 

1. 各种Key

 

定义了高层次模块使用配置Key:

技术分享图片

其中:

a. SystemBusKey:用于定义系统总线参数;

b. FrontBusKey:用于定义前端总线参数;

c. PeripheryBusKey:用于定义外设总线参数;

d. ControlBusKey:用于定义控制总线参数;

e. MemoryBusKey:用于定义存储总线参数;

f. BankedL2Key:用于定义L2存储子系统的配置参数;

g. BuildSystemBus:用于定义构件系统总线的方法;

 

2. BareSubsystem

 

BareSubsystem中定义了子系统所需要的对象模型、设备树等结构:

技术分享图片

 

BareSubsystem是LazyModule的子类,但是并没有实现LazyModule类中的抽象成员module:

技术分享图片

所以BareSubsystem也是抽象类。

 

按接下来的实现,这个module应该是BareSubsystemModuleImp的实例。

 

3. BareSubsystemModuleImp

 

BareSubsystemModuleImp作为BareSubsystem的实现,而BareSubsystem是BareSubsystemModuleImp的概念节点:

技术分享图片

这里的outer就是BareSubsystem的实例。BareSubsystemModuleImp把各类信息存放在文件中。

 

4. BaseSubsystem

 

BaseSubsystem继承自BareSubsystem:

技术分享图片

1) BaseSubsystem与BaseSubsystemModuleImp成对使用,其module成员是BaseSubsystemModuleImp的实例:

技术分享图片

 

2) 添加了各类总线:

技术分享图片

 

3) Collect information for use in DTS

技术分享图片

 

5. BaseSubsystemModuleImp

 

BaseSubsystemModuleImp是BaseSubsystem的实现:

技术分享图片

其中搜集BaseSubsystem的各种信息。

 

 

Rocket - subsystem - BaseSubsystem

原文:https://www.cnblogs.com/wjcdx/p/13168483.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!