嵌入式系统编程:RTSJ 中的事件处理、内存访问与 DMA
在嵌入式系统编程中,实时性和对外部设备的高效控制至关重要。RTSJ(Real - Time Specification for Java)为我们提供了一系列机制来处理这些问题,下面将详细介绍其中的事件处理、内存访问和直接内存访问(DMA)相关内容。
1. 事件与调度器
事件(Happenings)是由 RTSJ VM 外部环境触发的异步事件,支持多种类型,如 POSIX 信号、POSIX 实时信号或一般外部事件。RTSJ 1.1 版本的事件模型主要由两个部分组成:
- 事件接口(Happening Interface) :所有事件都必须实现此接口。当事件被触发时,默认情况下,RT JVM 会调用 fire 方法,这个过程称为调度。
- 事件调度器(HappeningDispatcher) :程序员可以通过将 HappeningDispatcher 类的实例注册到 Happening 接口的实例来改变默认的调度行为。
事件模型的工作流程如下:
1. 创建外部事件对象 :要与外部事件进行交互,需要创建一个 ExternalHappening 对象。
2. 建立外部连接 :JVM 提供了与外部事件连接的必要链接,当外部事件发生时,会触发相应的事件。
3. 创建事件调度器 :
超级会员免费看
订阅专栏 解锁全文
27

被折叠的 条评论
为什么被折叠?



