Advertisement

MDIO Master VIP 课程解读:ArrayBox应用技巧

阅读量:

如图:

1. readword 每调用一次,最后都会update RdDataPtr,使其自增1.

该数据结构由三个部分组成:索引部分使用RdDataPtr管理接收的数据流入口(Index),存储空间(Value)字段则分别对应不同 mailbox 中的内容( mailbox)。每个 mailbox 中存储的是不同 transaction 的集合( transaction)。为什么不直接将该数据结构赋值为所有 transaction 呢?这是一个关键问题所在!不妨深入探讨一下,在执行 readword 操作后立即触发 getword 函数会发生什么? runloop 还未完成将这些 transaction 分配到相应 mailbox 的任务( task),而 getword 函数却需要立即返回结果( result)。为了确保正确性,在这种情况下必须等待 runloop 完成任务再返回结果( result)。回想起来只有 mailbox 结构才能完美地完成这一功能( functionality)。

因此,在我们的master开发过程中,在处理返回数据时添加保存功能并试图实现阻塞机制时,通常会采用ArrayBox来完成这一功能。

While waiting for all preceding transactions to be processed by the

全部评论 (0)

还没有任何评论哟~